web-dev-qa-db-ja.com

PXEブートカーネルパニック

PXEブートサーバーのセットアップに問題があります。 isc-dhcp-serverを実行し、tftp-hpaはtftp経由でファイルを提供し(検証済み)、Apache2はrootfsイメージをホストします。 PXEクライアントがカーネルファイルとinitrdファイルを正しくダウンロードしているように見えると、カーネルパニックが発生します。

これが私の/tftpboot/pxelinux.cfg/defaultです:

default pxeboot

label pxeboot
kernel vmlinuz-3.16.0-4-AMD64
append initrd=vmlinuz-3.16.0-4-AMD64 ip=dhcp boot=live fetch=http://xxx.xxx.xxx.xxx/filesystem.squashfs

私のサーバーはUbuntu 15.04 miniインストールです。

最初に次の手順に従って、fimesystem.squashfsルートファイルシステムイメージを作成しました。 http://djlab.com/2014/10/debian-pxe-boot-image-from-scratch/

次に、次の手順に従ってDHCPとTFTPをインストールしました。 https://help.ubuntu.com/community/DisklessUbuntuHowto

しかし、TFTPがファイルをこれに提供するようにするには、/etc/default/tftpd-hpaを変更する必要がありました。

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="xxx.xxx.xxx.xxx:69"
TFTP_OPTIONS="--secure"
RUN_DAEMON="yes"

DisklessUbuntuHowToinstructionsに従ってTFTP_OPTIONSを変更すると、tftpが起動しなくなります。次に、Apache2サーバーを起動しました。これは、意図したとおりに/var/www/html/に入れたファイルを表示しているようで、http://xxx.xxx.xxx.xx/filesystem.squashfsからファイルをダウンロードできますが、起動中にカーネルがパニックになります。

/boot/ディレクトリが空だったため、最初はホストchroot/boot/ディレクトリからkernelinitrdのイメージを取得しましたが、次の手順を使用してchrootにカーネルをインストールしました。 : http://willhaley.com/willhaley/blog/create-a-custom-debian-live-environment/

chroot chroot
apt-get install --no-install-recommends --yes \
linux-image-3.16.0-4-AMD64 live-boot

次に、カーネルとinitrdイメージをchroot/boot/ディレクトリからコピーしましたが、カーネルはまだパニックに陥っています。 /tftpboot/pxelinux.cfg/defaultを次のように変更した場合:

default pxeboot

label pxeboot
kernel vmlinuz-3.16.0-4-AMD64
append initrd=vmlinuz-3.16.0-4-AMD64

ホスト/bootからカーネルとinitrdイメージを使用すると、クライアントは2つのイメージをロードし、私を(initramfs)プロンプトにダンプします。 chroot/boot/イメージを使用すると、カーネルパニックが発生します。

これまでカーネルパニックをデバッグしたことがないので、チェックするログファイルすらわかりません。どんな助けもいただければ幸いです、

ミーシャ

編集:これはPXEクライアントの起動とカーネルパニックのビデオです: https://www.youtube.com/watch?v=WlhEmNx8J8M

3
MishaP

カーネルはPXE互換のカーネル/ initrdセットではないため、パニックになります。もし私があなたなら、車輪の再発明はしません。実績のあるPXE互換ディストリビューションを使用して、ニーズに合わせてinitrdをカスタマイズし、必要なスカッシュを追加します。 PXE互換ディストリビューションとそれに対応するパラメーターの大きなリストについては、 Serva を参照してください。

1
Pat