Startseite » wie man » So richten Sie netzwerkfähige Utility-CDs mit PXE ein

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

    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, obwohl Sie gerne weiterlesen!

    Bild von Steve Jurvetson

    Ü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 in der Anleitung „How To Network Boot (PXE) The Ubuntu LiveCD“ beschrieben, gilt Folgendes: Wenn Sie Ubuntu nicht bereits als Nummer eins verwenden, gehen Sie zu Fehlerbehebung, Diagnose- und Rettungsverfahren. 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 nach dem Boot-Sektor im physischen CD-ROM-Laufwerk des Client-Computers zu suchen, findet sie nicht und Scheitern zu booten.

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

    • Brennen Sie die ISO-Datei und legen Sie sie in das CD-ROM-Laufwerk des Client-Computers ein, Nicht CDs zu benutzen, ist genau das, was wir vermeiden wollen…
    • Öffnen Sie das ISO und ändern Sie die Funktionsweise des Programms, sodass eine CD-ROM verwendet wird Treiber das weiß, wie man das ISO im RAM sucht - ziemlich komplex und für jeden Typ von bootfähigem Programm unterschiedlich. I.E. 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, muss I.E. Der Arbeitsspeicher (RAM) kann problemlos funktionieren, ohne auch nur die Hardware vollständig zu unterstützen, auf der er läuft (dh er testet den Arbeitsspeicher, auch wenn er nicht weiß, welchen Typ er hat, wie schnell er ist), er hat keine Notwendigkeit sonst und kann völlig autonom arbeiten.

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

    LABEL Memtest86 ausführen+
    Kernel Fog / Memtest / Memtest
    anhängen -

    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, 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 (erfordert CPU mit SSE)
    TEXTHILFE
    Testen Sie Ihre CPU auf Folter, um sicherzustellen, dass Sie sich nicht überhitzen
    Probleme. Erfordert mit SSE ausgestattete x86-CPUs. Führt eine spezielle Version des aus
    Gromacs Innerloops, die SSE und normale Montageanweisungen zum Heizen mischen
    Ihre CPU so viel wie möglich.
    ENDTEXT
    KERNEL howtogeek / utils / cpustress / bzImage
    INITRD howtogeek / 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 zu koppeln, die angibt, wie mit dem Diskettenlaufwerk (A.K.A. Interrupt-Handler) zu kommunizieren ist, 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
    TEXTHILFE
    Testet den Systemspeicher und den Speicher von Nvidia-Grafikkarten.
    ENDTEXT
    LINUX Memdisk
    INITRD howtogeek / 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…