Anteriormente, configuré el arranque PXE de los LiveCD de Ubuntu extrayendo el ISO a un montaje NFS y copiando vmlinuz.efi e initrd.gz de casper al directorio tftpboot con algo de magia de secuencias de comandos iPXE.
Esto funcionó a la perfección para 16.04, 16.10 y 17.10 (Artful).
Con 18.04, primero encuentro que vmlinuz.efi ya no existe en casper, pero sí vmlinuz. Entonces, intento de nuevo con algún cambio de nombre ...
Y ahora todavía no completa el arranque. Me sale el "modo de emergencia". Al escribir 'journalctl -xb' (como sugiere el indicador del modo de emergencia) y navegar, se obtiene lo siguiente:
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.
¡Ayuda!
Añadido 2018-04-30:
Código de script utilizado para extraer ISO para el montaje PXE (OBJETIVO establecido en el nombre de la imagen, por ejemplo, biónico):
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.
Respuestas:
Trabajé para solucionar este problema en iPXE siguiendo los consejos de "Woodrow Shen" en el rastreador de errores de Launchpad .
Básicamente, adapté nuestra entrada anterior para ubuntu 16.04.3:
Para lucir así para ubuntu 18.04:
tenga en cuenta los siguientes cambios:
vmlinuz.efi
para estarvmlinux
en las líneas 4 y 6toram
opción a la línea 6nfs_path
para que coincida con la ubicación del nuevo extracto ISOtenga en cuenta que, como se señaló en Launchpad, esta
toram
opción requiere RAM adicional. En mis pruebas, necesitaba asegurarme de que mis máquinas virtuales tenían 4 GB de RAM asignadosTenga en cuenta que esto también funciona para nuestros sistemas EFI y BIOS heredados.
fuente
toram
opción funcionó para mí con mint 19!toram
y permite iniciar una computadora con mucho menos RAM: cambie el final de la línea 6 aip=dhcp systemd.mask=tmp.mount ro -- || read void
Después del fin de semana, encontré un error informado que describe mis síntomas exactos (y proporciona una solución interactiva).
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1755863
Aparentemente estaré esperando el 18.04.1. ¡Al menos ahora sé que no estoy (completamente) loco!
fuente
actualice a continuación: no use la iso en vivo, use la tradicional que se puede iniciar PXE exactamente como solía hacerlo
para ubuntu 14.04 y 16.04, simplemente monté en bucle el ISO del DVD del servidor completo para que fuera accesible a través de un servidor web, y configuré el arranque PXE de la manera habitual (copié el kernel y el initrd en tftp daemon, la opción de servidor siguiente de DHCP , menú pxe, etc.).
Tenemos un proceso kickstart para automatizar completamente la implementación de nodos.
¡Esto simplemente no funciona con 18.04, no había núcleo en el directorio de instalación, y no había directorio de instalación / netboot / ubuntu-installer / amd64! Así que probé el kernel y el initrd desde el directorio casper, pero eso también es inútil. Tomé el iso de DVD netinstall y usé el kernel y el initrd de eso. En realidad, activa el instalador de texto pero insiste en que al espejo le falta un archivo, ¡pero el registro de mi servidor http no da ningún 404!
En general, creo que el ISO del servidor ubuntu 18.04 es un paso retrógrado para las personas que desean realizar instalaciones automatizadas.
También intenté agregar esto al kickstart
cadena de imagen en vivo preinstalada / net-image http: //myreposerver/ubuntu-18.04-live-server-amd64/casper/filesystem.squashfs
que es algo parecido a lo que tuve que hacer para que Ubuntu 14.04 PXE boot sea automatizable
fuente