Редактировать

Редактировать

Я пытаюсь настроить сетевую загрузку Ubuntu mini.isoчерез iPXE и ​​NFS. В настоящее время я прохожу все через командную строку iPXE вместо скрипта. Я убедился, что собрал iPXE с включенным NFS, и это, кажется, работает просто отлично, потому что я могу добраться до initrd.gzпросто отличного. Но я не могу понять, как сообщить iPXE, что такое ядро; я предполагал, что файл linuxбудет ядром, но когда я пытаюсь сказать iPXE использовать этот файл, он выдает Exec format error (http://ipxe.org/2e008081).

Если говорить более подробно, то вот как устроена система:

  1. mini.iso смонтирован на QNAP TurboNAS как общая папка с гостевым доступом через NFS
  2. Загрузка нового сервера PXE, цепочка загрузок iPXE через TFTP
  3. Я <Ctrl-B>вхожу в командную строку iPXE
  4. initrd nfs://guest@<nfs ip address>/Ubuntu1604Mini/initrd.gzработает просто отлично
  5. kernel nfs://guest@<nfs ip address>/Ubuntu1604Mini/linuxсходит с ума от вышеуказанной ошибки

Мне трудно гуглить этот вопрос, потому что все остальное, похоже, предполагает, что образ не является загрузочным по сети, поэтому все эти инструкции предполагают наличие каталога, casperно casper/vmlinuzmini.iso, похоже, имеет совсем другую структуру.

Любая помощь в этом вопросе будет высоко оценена! Спасибо!

Редактировать

Если это важно, весь гостевой доступ NFS доступен только для чтения.

Редактировать 2:

Похоже, что это на самом деле проблема UEFI. Я нашел в документации, что mini.iso не настроен для загрузки в средах UEFI. Поэтому я переключился на попытки заставить это работать через Ubuntu 16.04 Server .ISO, и у меня все еще возникают проблемы; из некоторых поверхностных поисков в Интернете выяснилось, что vmlinuz в Ubuntu 16.04 не скомпилирован с EFI Stubs. Я нашел файл EFI/BOOT/BOOTx64.EFI, но когда я загружаю его по цепочке с помощью iPXE, он начинает пытаться найти образ нетбука через TFTP, поэтому я не уверен на 100%, что он делает или какие аргументы я могу ему передать.

решение1

У меня была та же проблема в Debian Live Booting на NFS. В документации по ipxe упоминается случай загрузки с BIOS, но не с EFI, решение, как вы упомянули, связано с EFI.

Добавьте параметр initrd=initrd_file_name в строку imgargs.

Источник этой информации:http://forum.ipxe.org/showthread.php?tid=7522

Хотя я не нашел этого в официальной документации, но у меня это работает на efi.

Связанный контент