web-dev-qa-db-ja.com

ネットワークブートでカーネルイメージが見つかりませんでした

PXEの起動に問題があります。 Ubuntuヘルプwikiの これらの手順 に従いました。しかし、クライアントマシンでエラーが発生します。

Could not find kernel image: vmlinuz-3.13.0-24-generic

そして今、質問。この画像はpxelinux.cfgフォルダにあるはずです、正しいですか?

1
Andreikkaa

カーネルイメージ(およびinitrd)は、ルートフォルダーを基準にして配置する必要があります。そのハウツーに従うと、次のパラメーターが構成されています。

  • DHCPサーバーは/tftpboot/を使用するように構成されています
  • ブートイメージは/pxelinux.0(TFTPルートディレクトリに関連するため、実際のパスは/tftpboot/pxelinux.0
  • PXELinux(syslinuxの一部)は、/pxelinux.cfg/ディレクトリで構成を探します。クライアントのMACアドレスまたはGUIDに一致するファイルが見つからない場合は、default/tftpboot/pxelinux.cfg/default)という名前のファイルにフォールバックします。
  • そのファイルには次のようなものが含まれている必要があります。

    LABEL linux
      KERNEL vmlinuz
      INITRD initrd
      APPEND root=...
    

    vmlinuzおよびinitrdファイルは、TFTPルートディレクトリに対して相対的に検索されるため、ファイル/tftpboot/vmlinuzおよび/tftpboot/initrdが存在することを確認してください。これらのファイルは/boot/にあります。

また、/tftpboot/をTFTPファイルのルートディレクトリとして使用するのではなく、/srv/tftpboot/を使用することをお勧めします。これは、サイト固有のデータにより適した場所です。

デバッグするには、syslogを必ず確認してください。ログをsyslog(/var/log/syslog)に送信するdnsmasq DHCPサーバーを使用しました。 ISCのDHCPサーバーは同様のことを行う必要があります。

3
Lekensteyn

私はこのスレッドがダートよりも古いことを知っていますが、私の問題はSELinux/Apparmour関連であったことを付け加えたかったのです。 TFTP PXEブートでは「許可が拒否されました」と表示されないことに注意してください。代わりに、「見つけることができませんでした」と表示され、混乱を招く可能性があります。 SELinuxおよびApparmourを含む許可が正しいことを確認してください。

1
BoeroBoy