Auparavant, j'ai configuré le démarrage PXE des LiveCD d'Ubuntu en extrayant l'ISO vers un montage NFS et en copiant vmlinuz.efi et initrd.gz de casper dans le répertoire tftpboot avec un peu de magie de script iPXE.
Cela a fonctionné parfaitement pour 16.04, 16.10 et 17.10 (Artful).
Avec 18.04, je trouve d'abord que vmlinuz.efi n'existe plus dans casper, mais vmlinuz existe. Donc, j'essaye encore avec un changement de nom ...
Et maintenant, il ne termine toujours pas le démarrage. J'obtiens le "mode d'urgence". La saisie de 'journalctl -xb' (comme suggéré par l'invite du mode d'urgence) et la navigation conduisent à ce qui suit:
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.
Aidez-moi!
Ajouté le 30-04-2018:
Code de script utilisé pour extraire l'ISO pour le montage PXE (TARGET défini sur le nom de l'image, par exemple bionique):
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.
Réponses:
J'ai travaillé autour de ce problème dans iPXE en suivant les conseils de "Woodrow Shen" sur le tracker de bogue Launchpad .
Fondamentalement, j'ai adapté notre ancienne entrée pour Ubuntu 16.04.3:
Pour ressembler à ceci pour ubuntu 18.04:
notez les changements suivants:
vmlinuz.efi
pour êtrevmlinux
sur les lignes 4 et 6toram
option à la ligne 6nfs_path
pour correspondre à l'emplacement du nouvel extrait ISOnotez que comme indiqué sur Launchpad, cette
toram
option nécessite de la RAM supplémentaire. Lors de mes tests, je devais m'assurer que mes machines virtuelles avaient 4 Go de RAM allouésNotez que cela fonctionne également pour nos systèmes BIOS EFI et hérités.
la source
toram
option a fonctionné pour moi avec la menthe 19!toram
et permet de démarrer un ordinateur avec beaucoup moins de RAM: changez la fin de la ligne 6 enip=dhcp systemd.mask=tmp.mount ro -- || read void
Après le week-end, j'ai trouvé un bug signalé décrivant mes symptômes exacts (et fournit une solution de contournement interactive).
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1755863
Apparemment, j'attendrai le 18.04.1. Au moins, je sais maintenant que je ne suis pas (entièrement) fou!
la source
mise à jour ci-dessous - n'utilisez pas l'iso en direct, utilisez celui traditionnel qui peut être démarré PXE exactement comme je le faisais
pour ubuntu 14.04 et 16.04, j'ai simplement monté en boucle le ISO complet du DVD du serveur afin qu'il soit accessible via un serveur Web, et configuré le démarrage PXE de la manière habituelle (copié le noyau et initrd dans le démon tftp, option DHCP next-server , menu pxe, etc.).
nous avons un processus de démarrage pour automatiser entièrement le déploiement des nœuds.
cela ne fonctionne tout simplement pas avec 18.04, il n'y avait pas de noyau dans le répertoire d'installation et pas de répertoire install / netboot / ubuntu-installer / amd64! J'ai donc essayé le noyau et initrd depuis le répertoire casper mais c'est inutile aussi. J'ai attrapé l'iso du DVD netinstall et utilisé le noyau et initrd à partir de cela. Il lance en fait l'installateur de texte mais insiste sur le fait qu'il manque un fichier au miroir, mais le journal de mon serveur http ne donne aucun 404!
Dans l'ensemble, je pense que l'ISO du serveur ubuntu 18.04 est une étape rétrograde pour les personnes souhaitant effectuer des installations automatisées.
J'ai également essayé d'ajouter ceci au kickstart
preseed live-installer / net-image string http: //myreposerver/ubuntu-18.04-live-server-amd64/casper/filesystem.squashfs
ce qui est un peu comme ce que je devais faire pour rendre Ubuntu 14.04 PXE boot automatisable
la source