Ранее, я настроил начальную загрузку PXE Ubuntu LiveCDs путем извлечения ISO к NFS, монтируются и копирование vmlinuz.efi и initrd.gz от casper до tftpboot каталога с некоторым iPXE сценарии волшебства.
Это работало безупречно на 16,04, 16.10, и 17.10 (Ловкий).
С 18,04, я сначала нахожу, что vmlinuz.efi больше не существует в casper, но vmlinuz делает. Так, я попробовал еще раз с некоторым изменением имени...
И теперь это все еще не завершает начальную загрузку. Я получаю "чрезвычайный режим". Ввод 'journalctl-xb' (как предложено чрезвычайной подсказкой режима) и просмотр приводит к следующему:
Unit sys-fs-fuse-connections has begun starting up.
ubuntu systemd[1]: Failed to set up mount unit: Device or resource busy
ubuntu systemd[1]: Failed to set up mount unit: Device or resource busy
sys-kernel-config.mount: Mount process finished, but there is no mount.
sys-kernel-config.mount: Failed with result 'protocol'.
Failed to mount Kernel Configuration File System.
На помощь!
Добавленный 30.04.2018:
Код сценария, используемый для извлечения ISO для PXE, монтируется (ЦЕЛЕВОЙ набор к названию картинки, например, бионический):
set -e
# Look for bionic.iso as the ISO I am going to extract.
TARGET=invalid.iso
[ -f bionic.iso ] && TARGET=bionic
echo TARGET=$TARGET
# Mount the ISO to the /tmp directory
sudo rm -rf /var/nfs/$TARGET/*
sudo rm -rf /tmp/$TARGET
mkdir /tmp/$TARGET
sudo mount -o loop ~/$TARGET.iso /tmp/$TARGET
# Clear up the NFS directory where things will be copied (and copy them)
sudo rm -rf /var/nfs/$TARGET
sudo mkdir /var/nfs/$TARGET
sudo rsync -avH /tmp/$TARGET/ /var/nfs/$TARGET
# I've not had luck with iPXE changing filesystems to find
# vmlinuz, vmlinuz.efi, or initrd.gz... so I copy those files
# specifically to the tftp directory structure so the boot loader
# can load them.
sudo rm -rf /var/lib/tftpboot/$TARGET
sudo mkdir /var/lib/tftpboot/$TARGET
sudo cp /tmp/$TARGET/casper/vmlinuz* /var/lib/tftpboot/$TARGET/.
sudo cp /tmp/$TARGET/casper/initrd.lz /var/lib/tftpboot/$TARGET/.
# Cleanup: unmount the ISO and remove the temp directory
sudo umount /tmp/$TARGET/
sudo rm -rf /tmp/$TARGET/
echo Done.
Я работал вокруг этой проблемы в iPXE путем следования совету "Woodrow Shen" в средстве отслеживания ошибки Панели запуска.
В основном я адаптировал нашу старую запись к человечности 16.04.3:
:deployUbuntu-x64-16.04.3
set server_ip 123.123.123.123
set nfs_path /opt/nfs-exports/ubuntu-x64-16.04.3
kernel nfs://${server_ip}${nfs_path}/casper/vmlinuz.efi || read void
initrd nfs://${server_ip}${nfs_path}/casper/initrd.lz || read void
imgargs vmlinuz.efi initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=${server_ip}:${nfs_path} ip=dhcp splash quiet -- || read void
boot || read void
Быть похожими на это для человечности 18.04:
:deployUbuntu-x64-18.04
set server_ip 123.123.123.123
set nfs_path /opt/nfs-exports/ubuntu-x64-18.04
kernel nfs://${server_ip}${nfs_path}/casper/vmlinuz || read void
initrd nfs://${server_ip}${nfs_path}/casper/initrd.lz || read void
imgargs vmlinuz initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=${server_ip}:${nfs_path} ip=dhcp splash quiet toram -- || read void
boot || read void
обратите внимание на следующие изменения:
vmlinuz.efi
быть vmlinux
на строках 4 и 6toram
опция выровнять 6nfs_path
соответствовать местоположению нового извлечения ISOобратите внимание что, как указано на Панели запуска, этом toram
опция требует дополнительной RAM. В моем тестировании я должен был удостовериться, что моим виртуальным машинам выделили 4 ГБ RAM
Обратите внимание, что это также работает и на наш EFI и на системы BIOS прежней версии.
После выходных я нашел ошибку, о которой сообщают, описывающую мои точные признаки (и обеспечивает интерактивное обходное решение).
https://bugs.launchpad.net/ubuntu / + source/casper / + ошибка/1755863
По-видимому, я буду ожидать на 18.04.1. По крайней мере, я теперь знаю, что не являюсь (совершенно) сумасшедшим!
обновление на ниже - не использует живую ISO, использует традиционную, которая может быть PXE, загруженным точно, когда я раньше делал
для человечности 14.04 и 16.04 я просто обратная петля смонтировала полный сервер DVD ISO, таким образом, это было доступно через веб-сервер и настроило начальную загрузку PXE обычным способом (скопировал ядро и initrd tftp демону, следующему параметру сервера DHCP, pxe меню и т.д.).
у нас есть запускать процесс, чтобы полностью автоматизировать развертывание узлов.
это просто не работает с 18,04, не было никакого ядра в каталоге установки и не install/netboot/ubuntu-installer/amd64 каталоге! Таким образом, я попробовал ядро и initrd из casper каталога, но это бесполезно также. Я захватил netinstall DVD ISO и использовал ядро и initrd от этого. Это на самом деле разжигает текстовый установщик, но настаивает, что зеркало пропускает файл, но журнал с моего http сервера не дает 404 с!
в целом затем я чувствую сервер человечности 18.04, ISO является ретроградным шагом для людей, желающих сделать автоматизированные установки.
Я также пытался добавить это к запущению
предварительно отберите строку live-installer/net-image http://myreposerver/ubuntu-18.04-live-server-amd64/casper/filesystem.squashfs
который несколько похож на вещь, я должен был сделать для создания Ubuntu 14.04 начальной загрузкой PXE automatable