loader

So richten Sie netzwerkfähige Utility-CDs mit PXE ein

Anonim

Wir haben Ihnen gezeigt, wie Sie die Ubuntu LiveCD über das Netzwerk booten können. In diesem Artikel zeigen wir, wie Sie andere Dienstprogramme über das Netzwerk bootfähig machen können. Dadurch erhalten Sie das Wissen, wie Sie das Verfahren für andere Dienstprogramme replizieren können, die Sie möglicherweise verwenden.

Hinweis: Dieser Artikel richtet sich nicht an Anfänger, Sie können aber gerne weiterlesen!

Überblick

Dieser Leitfaden soll Ihnen die Werkzeuge geben, mit denen Sie Dienstprogramme in PXEable konvertieren können. Leider ist es nicht möglich, ein Werkzeug unter der Sonne zu konvertieren, aber wir wären keine Geeks, wenn wir es nicht versuchen würden.

Wie bereits in der Anleitung „How To Network Boot (PXE) The Ubuntu LiveCD“ beschrieben, gilt Folgendes: Wenn Sie Ubuntu nicht bereits als Nummer eins für Fehlerbehebungs-, Diagnose- und Rettungsverfahren verwenden, worauf warten Sie?

In diesem Zusammenhang muss man anerkennen, dass es Dinge gibt, die mit Ubuntu LiveCD einfach nicht möglich sind (wie BIOS-Aktualisierungen), oder dass Sie bereits ein anderes Werkzeug verwenden, das Sie mögen und aus welchem ​​Grund auch immer verwenden möchten.

Empfehlungen, Annahmen und Voraussetzungen

  • Es wird davon ausgegangen, dass Sie den FOG-Server bereits eingerichtet haben, wie in unserem Handbuch "Was ist Netzwerkboot (PXE) und wie können Sie es verwenden können?" Beschrieben.
  • Sie sehen das Programm "VIM", das als Editor verwendet wird. Dies ist hauptsächlich darauf zurückzuführen, dass es auf Linux-Plattformen weit verbreitet ist. Sie können jeden anderen Editor verwenden, den Sie möchten.
  • Die Ultimate Boot CD (UBCD) wird als Beispiel verwendet. Im Gegensatz zu einigen anderen Utility-Sammlungen können Sie diese kostenlos herunterladen und die darin enthaltenen Programme verwenden.

Warum nicht einfach ISO über PXE verwenden?

Dies ist oft die erste Frage, wenn Sie über PXEing sprechen. Die kurze Antwort ist, dass es zwar technisch möglich ist, ein ISO-Image und PXE auf die Client-Computer zu übertragen, wobei fast immer der Inhalt dieser ISO erwartet wird, dass die physische Manifestation von ihr im physischen CD-ROM-Laufwerk verfügbar ist. Was auch immer der Inhalt des ISO sein mag, es wird versuchen, nach den Dateien des "Post-Boot-Sektors" im physischen CD-ROM-Laufwerk des Client-Computers zu suchen, sie nicht finden und nicht booten können.

Es gibt zwei Möglichkeiten, um dieses Problem zu überwinden:

  • Brennen Sie das ISO-Dokument und legen Sie es in das CD-ROM-Laufwerk des Client-Computers ein. Während es einfach ist, keine CDs zu verwenden, versuchen wir genau, dies zu vermeiden.

  • Öffnen Sie das ISO und ändern Sie die Funktionsweise des Programms, sodass ein CD-ROM- Treiber verwendet wird, der weiß, wie das ISO im RAM zu suchen ist - ziemlich komplex und für jeden Typ von bootfähigem Programm unterschiedlich. IE ist nicht dasselbe Verfahren für Linux, WinPE oder UBCD, um nur einige zu nennen.

Da beide der oben genannten Ziele das Ziel der "nur ISO-Verwendung" zunichte machen, empfehlen wir daher nicht, dieses Ziel zu verfolgen.

Die Kernel-Methode

Obwohl es sehr selten ist, benötigt das Programm, das Sie booten möchten, möglicherweise nur einen Kernel, um zu funktionieren. Ein typisches Beispiel hierfür ist „memtest86 +“. Memtest wird mit den meisten Installations-CDs für Linux-Distributionen und mit FOG geliefert. Da Memtest nur mit den grundlegendsten Fähigkeiten der getesteten Hardware kommunizieren kann, dh dem Arbeitsspeicher (RAM), kann es problemlos funktionieren, ohne die Hardware, auf der es läuft, vollständig zu unterstützen (dh, es testet sogar den Arbeitsspeicher) Wenn er nicht weiß, was für Typ, Geschwindigkeit usw. ist, hat er keine andere Notwendigkeit und kann völlig autonom arbeiten.

Der PXE-Menüeintrag für memtest kann so einfach aussehen:

LABEL Run Memtest86+
kernel fog/memtest/memtest
append -

In diesem Beispiel legt „LABEL Run Memtest86 +“ den Namen des Eintrags fest, der „Kernel Fog / Memtest / Memtest“ teilt PXElinux mit, wohin der Kernel gehen soll, der an den Client gesendet wird, und „Anhängen -“ weist PXElinux an, ihn zu ignorieren zusätzliche Bootoptionen von * Vererbung.

* Hinweis: Abhängig von Ihrem Setup ist dies möglicherweise nicht erforderlich und wird im FOG nicht verwendet.

Die Kernel + Initrd-Methode

Diese Methode wird bei weitem am häufigsten verwendet und ist aus mehreren Gründen verbreitet:

  • Viele Dienstprogramme stammen heutzutage aus der Linux-Welt.
  • Da Linux eine hervorragende Hardware-Unterstützung bietet und kostenlos verwendet werden kann, erkennen immer mehr Unternehmen, dass Linux eine hervorragende Basis für die Entwicklung ihrer proprietären Programme ist.

Verwenden Sie das UBCD-Dienstprogramm CPUstress als Beispiel.

In der UBCD-Dateistruktur befindet sich dieses Dienstprogramm im Verzeichnis „ubcd / boot / cpustress“. Die Dateien, nach denen wir suchen, heißen "bzImage" ("Kernel") und "initrd.gz" ("Initial Ram Disk"). Wenn Sie das von uns erstellte FOG-Setup verwenden, empfehlen wir Ihnen, das Verzeichnis unter "/ tftpboot / howtogeek / utils" zu kopieren. Bearbeiten Sie anschließend die Datei "/tftpboot/howtogeek/menus/utils.cfg" und fügen Sie den Boot-Eintrag hinzu, der in den Menüeinträgen der UBCD enthalten ist. Dies ist in "ubcd / menues / syslinux / cpu.cfg" zu finden. Bei den Einstellungen für das FOG-Setup sollte der Menüeintrag folgendermaßen aussehen:

MENU LABEL StressCPU V2.0 (requires CPU with SSE)
TEXT HELP
Torture-test your CPU in order to make sure that you don't have overheating
problems. Requires SSE-equipped x86 CPUs. Executes a special version of the
Gromacs innerloops that mixes SSE and normal assembly instructions to heat
your CPU as much as possible.
ENDTEXT
KERNEL/utils/cpustress/bzImage
INITRD/utils/cpustress/initrd.gz
APPEND root=/dev/ram0 ramdisk_size=12000 noapic ubcdcmd=stresscpu2

Woher :

  • MENU LABEL - Legt den Namen des Eintrags fest
  • TEXT HELP - Diese optionale Direktive enthält Hilfetext, der im Menü angezeigt wird, um Informationen zum ausgewählten Eintrag zu erhalten.
  • KERNEL - Gibt den Speicherort der "Kernel" -Datei im TFTPD-Verzeichnis an.
  • INITRD - wie oben nur für die "initrd" -Datei.
  • APPEND - Gibt zusätzliche Parameter an, die an das gestartete Programm übergeben werden sollen.

Ein paar Dinge zu beachten sind:

  • Hardcore-Freaks würden feststellen, dass wir die ursprüngliche Direktive von "LINUX" durch "KERNEL" ersetzt haben. Dies ist aus folgendem Grund: A. Dies erleichtert das Lesen des Beispiels. B. In diesem Beispiel spielt es keine Rolle.
    Normalerweise sollte die Direktive "LINUX" normalerweise so bleiben, da sie pxelinux / syslinux mitteilt, dass wir keinen Kernel, sondern einen Linux-Kernel verwenden.
  • Wir haben die anhängigen Parameter absichtlich aus der stillen Direktive genommen. Dies ist auf eine Änderung der Art und Weise zurückzuführen, wie Syslinux den Parameter "quiet" in den letzten Versionen behandelt.
  • Sie können den Betrieb des Programms "StressCPU" ändern, indem Sie einfach den angefügten Parameter "ubcdcmd" ändern. Um die anderen Funktionen nutzen zu können, müssen Sie nur den Eintrag kopieren und "stresscpu2" in "cpuinfo", "cpuburn" oder "mprime24" ersetzen.

Obwohl dies ein sehr einfaches Beispiel ist, sollte es ausreichen, um Sie in Gang zu setzen.

Die Kernel + Initrd + NFS-Methode

Diese Methode haben wir im Handbuch "How To Network Boot (PXE) The Ubuntu LiveCD" verwendet. Diese Methode baut auf der vorherigen auf und nutzt die Tatsache, dass einige Linux-Distributionen unterstützen, dass ihr "Root-Dateisystem" von NFS bereitgestellt wird. Der Ubuntu-Führer ist ein hervorragendes Beispiel, aber seien Sie versichert, dass wir bereits einen weiteren für die nahe Zukunft geplant haben. „Haltet die Augen offen für einen schwarzen Pilz“.

Die MEMDISK-Methode

MEMDISK ist ein Dienstprogramm, das mit dem Syslinux-Paket ausgeliefert wird. Mit diesem Dienstprogramm können Sie eine "Festplatte" (hauptsächlich Disketten) mit ihrem Image emulieren. Die Funktionsweise dieses Dienstprogramms besteht darin, sich an die Stelle im RAM anzuschließen, die angibt, wie mit dem Diskettenlaufwerk (AKA-Interrupt-Handler) kommuniziert wird, und es an eine neue Stelle zu verweisen, die vom Programm MEMDISK behandelt wird. Bei dieser Methode ist der "Kern" das Dienstprogramm MEMDISK und "Initrd" die Image-Datei (.img) für Disketten.

Zu beachten ist, dass FOG mit einer Memdisk-Version ausgestattet ist, die mit der verwendeten pxelinux.0-Version kompatibel ist. Es wird daher empfohlen, die „memdisk“ -Datei der „img“ -Datei nicht aus ihrer Quelle zu kopieren.

Da diese Methode selbst für reguläre Dienstprogramme und BootCDs bereits häufig verwendet wird, müssen Sie meistens einfach die IMG-Datei auf der BootCD suchen, in das TFTPD-Verzeichnis des PXE-Servers kopieren und den ISOlinux-Menüeintrag in kopieren das PXElinux-Menü.
Sie sagen "talk is cheap", also werfen wir einen Blick darauf, wie wir eines der Dienstprogramme, die die MEMDISK-Methode von UBCD verwenden, an PXE anpassen können.

Das Dienstprogramm TestMemIV finden Sie in der UBCD-Dateistruktur unter "ubcd / images / testmem4.img.gz". Da wir bereits über das memdisk-Festplatten-Dienstprogramm verfügen, müssen Sie nur die "img" -Datei in das Verzeichnis "howtogeek / utils /" kopieren. Bei den Einstellungen für das FOG-Setup sollte der Menüeintrag folgendermaßen aussehen:

MENU LABEL TestMemIV
TEXT HELP
Tests system memory and memory on Nvidia video cards.
ENDTEXT
LINUX memdisk
INITRD/utils/testmem4.img.gz

Während dies ein Beispiel für eine eigenständige Disketten-Image-Datei von UBCD ist, verwenden die meisten anderen UBCD-Programme dasselbe Basis-Image, um zu arbeiten (fdubcd.img.gz), und verwenden den angefügten Parameter „ubcdcmd“, um ein Programm automatisch zu starten das CD-ROM-Post-Boot. Dies bedeutet, dass Sie die meisten Dienstprogramme nicht ohne nennenswerte Reverse-Engineering in ein Netzwerk-Boot umwandeln können. Ein solches Reverse Engineering ist zwar möglich (wie hier zu sehen ist) und ist eine hervorragende Geek-Übung, geht jedoch über den Rahmen dieses Leitfadens hinaus.

Mit dem oben genannten haben Sie nun die Tools, um dieses Verfahren für dieses esoterische OEM-Diagnose- oder BIOS-Aktualisierungsdienstprogramm auszuführen.


Hinter dem Tor des Blutes und hinter der Halle des Feuers wartet Valor darauf, dass der Held des Lichts erwacht.

Tipp Der Redaktion