Ich habe eine Ubuntu 18.04 LTS DVD und ich versuche dieses Installationsmedium irgendwie als Netzwerkboot im lokalen Netzwerk verfügbar zu machen. Es soll während der Installation keinen Internetzugriff geben.
Folgendes ist eingerichtet: DNS und DHCP laufen und sich korrekt eingerichtet. TFTP, NFS und HTTP Server laufen und zeigen alle 3 auf das gleiche Verzeichnis, in das die Dateien von der DVD kopiert wurden. Der Server hat eine statische IP und ist auch aus dem Netzwerk erreichbar Alle 5 genannten Dienste funktionieren korrekt. https://wiki.ubuntuusers.de/PXE-Boot/ und https://wiki.ubuntuusers.de/PXE-Installation/ habe ich gelesen.
Zuerst habe ich mich am Netboot Image versucht: Das Archiv in den TFTP Ordner extrahiert, jederman Leserechte auf die Dateien und Unterverzeichnisse gegeben (Archiv hatte ein paar Dateien mit chmod 600 drin, so dass TFTP sonst keinen Zugriff gehabt hätte) In DNSMASQ den Namen der Bootdatei eingetragen, aus dem Netzwek gebootet.
Ergebnis: PXE bootet "pxelinux.0", das läd über TFTP dann "linux" und "initrd.gz" nach, dann bootet es den Netzwerk Installer Der Netzwerk Installer funktioniert ohne Probleme, bis zu der Stelle, wo man den Mirror angeben muss, von dem man die Paket laden will.
Wenn ich meinen lokalen HTTP Server mit den Datein der DVD angebe läd der Installer erfolgreich "/dists/bionic/Release" und "/dists/bionic/Release.gpg" und meldet dann, dass er eine Datei nicht runterladen konnte. Aber weder HTTP, noch NFS oder TFTP Logs melden überhaupt irgendeinen weiteren Zugriffsversuch auf eine Datei.
Blick auf die Datei "Release" von der DVD: Größe 3 KB. Datei mit gleichen Pfad von einem Internet Mirror geladen: Größe 241 KB. Also die Datei auf meinem PC durch die aus dem Internet ersetzt und neuer Versuch. Diesmal meldet der HTTP Server etliche Zugriffsversuche auf Dateien, die zwar auf einem Internet Mirror liegen, aber nicht auf der DVD enthalten sind.
Also mein Fazit: Der Netzwerk Installer funktioniert ausschließlich mit einem kompletten lokalen Mirror (über 100 GB) und nicht mit den Daten von der DVD allein.
Ist das so korrekt oder habe ich da etwas übersehen oder falsch eingestellt?
Mein nächster Versuch war: Normales DVD Image über PXE booten
Als kernel "casper/vmlinuz" gewählt und bei append dann 1.) "root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.1:/tftpboot/ubuntu1804/ initrd=ubuntu1804/casper/intrd.lz"
2.) "ks=http://192.168.0.1/ubuntu1804/preseed/ubuntu.cfg initrd=ubuntu1804/casper/initrd.lz"
3.) "auto=true url=http://192.168.0.1/ubuntu1804/preseed/ubuntu.cfg initrd=ubuntu1804/casper/initrd.lz"
4.) "auto=true url=http://192.168.0.1/ubuntu1804/preseed/ubuntu.cfg initrd=ubuntu1804/casper/initrd.lz root=/dev/ram rw"
ausprobiert. Immer nur eine der 4 Zeilen war aktiv, die anderen auskommentiert.
Die Zeilen sind aus verschiedenen Guides zusammenkopiert, eine genaue Anleitung welche Parameter es gibt und was sie bedeuten habe ich nicht gefunden.
Jede der 4 Konfigurationen macht das folgende: "vmlinuz" über TFTP runterladen und ausführen, dann "initrd.lz" über TFTP laden und ausführen, dann haufenweise Bootmeldungen (bei der NFS Option auch ein erfolgreicher NFS Mount) und dann etwa 30 Sekunden später eine "you are in emengency mode" shell. Die einzigen 2 Fehler wenn man journalctl aufruft sind:
"mount: /sys/kernel/config: configfs already mounted on /sys/kernel/config"
"mount: /sys/fs/fuse/connections: fusectl already mounted on /sys/fs/fuse/connections"
(Wenn ich die Meldungen so lese sind das zwar vielleicht Fehler, aber keine die einen Zugriff auf die Resource sperren würden)
Es erfolgt kein HTTP Zugriff und auf NFS erfolgt abgesehen vom Mount des Verzeichnisses auch kein Zugriffsversuch.
Hat jemand da einen Plan, was da falsch läuft? Oder einen Link der vielleicht erklärt was man auf Ubuntu 18 machen muss, denn die meisten Guides zu dem Thema sind von Ubuntu 6 oder Ubuntu 10 und teils mehr als 10 Jahre alt.