Wie kann ich SystemRescueCD mit purem TFTP (kein HTTP oder NFS) booten?

857
yankee

Als Basis habe ich mit der Konfiguration des TFTP-PXE-Boot-Servers begonnen . Aber jetzt möchte ich auch SystemRescueCD (Version 2017-06-11) mit PXE booten.

Ich habe das ISO-Image heruntergeladen und dann auf dem TFTP-Server das ISO als bereitgestellt images/sysresccd. Die folgenden Anweisungen, die im Handbuch für PXE @ sysresccd enthalten sind, fügten ich meinem Menü hinzu:

LABEL SysRescCd MENU LABEL SysRescCd KERNEL images/sysresccd/isolinux/rescue32 APPEND initrd=images/sysresccd/isolinux/initram.igz dodhcp netboot=tftp://MY_SERVER_IP/images/sysresccd/sysrcd.dat 

Der Menüpunkt wird im Menü angezeigt und wenn ich ihn auswähle, sieht alles zuerst gut aus. Aber während des Buches, wenn versucht wird, die Datei sysrcd.dat herunterzuladen, ist der Download sehr langsam und wenn er 7% erreicht, wird der Download abgebrochen und dann neu gestartet, und zwar in endlosen Schleifen. Was ist falsch?

Ich möchte keinen weiteren Dienst starten (wie NFS).

1

1 Antwort auf die Frage

1
yankee

Sie sind nicht der einzige mit diesem Problem .

Wie in dem verlinkten Forenbeitrag geschrieben, gibt es eine Problemumgehung, indem die initram.igz geändert wird, sodass größere Dateien über TFTP unterstützt werden. Es ist nicht ganz offensichtlich, wie das geht, obwohl das Handbuch über die eigenen Kernel und die Frage, wie ein cpio-Archiv geändert werden soll, dazu beitragen kann, die Dinge zusammenzubringen. Folgendes müssen Sie tun:

# Temp dir to store the extracted initram.igz mkdir /tmp/initram cd /tmp/initram # otherwise you'll get errors extracting the archive fakeroot # extract the initram.igz: cat /mnt/sysresccd/isolinux/initram.igz | xz -d | cpio -id # add the workaround parameter to init sed -i 's/\/bin\/busybox tftp/\/bin\/busybox tftp -b 10000/' init  # create a new initram.igz find . | cpio -H newc -o | xz --check=crc32 --x86 --lzma2 > /tmp/sysresccd-initram.igz 

Verwenden Sie dann die neue initram.igz in der pxelinux.cfg / default-Konfigurationsdatei und das Booten funktioniert.