Serva経由でPXE経由でカスタムUbuntuイメージを起動すると、カーネルパニックが発生します。

Serva経由でPXE経由でカスタムUbuntuイメージを起動すると、カーネルパニックが発生します。

背景

ddUSBディスクドライブのコマンドでUbuntu 20.04「カスタム」imgを作成しました。Serva以下をPXEサーバーとして使用します。Servaマップ時間。

公式Ubuntu 20.04.4 ISO PXEの起動が成功しました。 「カスタム」イメージをPXE起動すると正しくダウンロードされますが、カーネルパニックがvmlinuz発生します。initrdinitrd

質問

イメージファイル(ルートパーティションフォルダ)のすべてのファイルをコピーして、ServaのリポジトリにLinuxアセットを追加するのは正しいですかNWA_PXE/{my customized image name}

このアプローチが正しい場合、initrd起動時に一部のカーネルモジュール(SMBやCIFSなど)が欠落してカーネルパニックが発生する可能性がありますか?

これは次の記事に触発されました。PXEを使用したカスタムLinuxイメージの起動


エラーコードは次のとおりです。

[ 1.437739]  ---[ end Kernel panic - not syncing: Attempted to kill init! exit code=0x00000200 ]---

ServaAsset.infの設定は次のとおりです。

[PXESERVA_MENU_ENTRY]
asset    = customized img beta
platform = amd64

kernel_bios    = /NWA_PXE/$HEAD_DIR$/casper/vmlinuz
append_bios    = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/casper/initrd boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,sec=ntlmv2,vers=2.0,ro ip=dhcp ro ipv6.disable=1

kernel_efi64   = /NWA_PXE/$HEAD_DIR$/boot/vmlinuz-5.11.0-40-generic
append_efi64   = showmounts toram root=/dev/cifs initrd=/NWA_PXE/$HEAD_DIR$/boot/initrd.img-5.11.0-40-generic boot=casper netboot=cifs nfsroot=//$IP_BSRV$/NWA_PXE_SHARE/$HEAD_DIR$ NFSOPTS=-ouser=serva,pass=avres,sec=ntlm,vers=1.0,ro ip=dhcp ro ipv6.disable=1



答え1

PXEブート可能なLinuxディストリビューションには、スクリプトINITRDinitIPインポート、DNSクライアント設定、CIFSまたはNFSインストール(またはディストリビューションがライブバージョンの場合)などのPXEブート関連タスクを処理できる特別なコードがあります。 )。このコードがないと、initそのブートイメージに対して適切な「ルート変更」が行われなくなりますが、initコマンドソルバーに制御権を返すべきではないスクリプトなので、次のような結果が表示されます。

[ end Kernel panic - not syncing: Attempted to kill init! exit code=0x00000200 ]---

お客様の場合、PXE ブート機能が必要な場合は、PXE サポートの導入から始めて、特定の機能を追加することをお勧めします。たとえば、ライブ展開を使用し、埋め込みsquashfsイメージに必要な機能を追加します。

Servaは、特定のディストリビューションのPXEバグを修正するために補足INITRDを複数回生成するか、単に必須プロトコルのサポートが不足していること(たとえば、ブートINITRDレベルのCIFSサポート)などを念頭に置いてください。

関連情報