編集

編集

iPXE と NFS 経由でUbuntu のネットワーク ブートを設定しようとしていますmini.iso。現在、スクリプトではなく iPXE のコマンド ラインを使用してすべてをステップ実行しています。NFS を有効にして iPXE をビルドしたことを確認しましたが、問題なく にアクセスできることから、問題なく動作しているようですinitrd.gz。しかし、iPXE にカーネルが何であるかを伝える方法がわかりません。ファイルがカーネルであると想定しましたがlinux、iPXE にそのファイルを使用するように指示しようとすると、 がスローされますExec format error (http://ipxe.org/2e008081)

より詳しく言うと、システムの設定は次のようになります。

  1. mini.isoはQNAP TurboNASに共​​有フォルダとしてマウントされ、NFS経由でゲストアクセスが有効になっています。
  2. 新しいサーバーのPXEブート、TFTP経由でiPXEをチェーンロード
  3. <Ctrl-B>iPXEコマンドラインに入る
  4. initrd nfs://guest@<nfs ip address>/Ubuntu1604Mini/initrd.gz問題なく動作します
  5. kernel nfs://guest@<nfs ip address>/Ubuntu1604Mini/linux上記のエラーでパニックになる

この質問を Google で検索するのは困難です。他のすべては非ネットブート イメージを想定しているようで、すべての手順はディレクトリの存在を前提としていますcasperが、casper/vmlinuzmini.iso の構造は非常に異なるようです。

これに関して何かご助力いただければ幸いです。ありがとうございます!

編集

関連する場合、NFS ゲスト アクセスはすべて読み取り専用になります。

編集2:

これは実際には UEFI の問題のようです。ドキュメントで、mini.iso が UEFI 環境で起動するように設定されていないことがわかりました。そのため、Ubuntu 16.04 Server .ISO 経由でこれを動作させようと切り替えましたが、まだ問題が発生しています。ざっと Web 検索したところ、Ubuntu 16.04 の vmlinuz は EFI スタブでコンパイルされていないようです。EFI/BOOT/BOOTx64.EFI ファイルを見つけましたが、これを iPXE でチェーンロードすると、TFTP 経由でネットブック イメージを見つけようとし始めるので、それが何をしているのか、どのような引数を渡せるのか 100% わかりません。

答え1

NFS での Debian ライブ ブートでも同じ問題が発生しました。ipxe ドキュメントでは、BIOS でのブート ケースについては言及されていますが、efi でのブート ケースについては言及されていません。解決策は、おっしゃるとおり、efi に関連しています。

imgargs 行にパラメータ initrd=initrd_file_name を追加します。

この情報の出典は次のとおりです。http://forum.ipxe.org/showthread.php?tid=7522

公式ドキュメントには記載されていませんが、efi では動作します。

関連情報