Connect with us

Wie man

So richten Sie bootfähige Netzwerkdienstprogramm-Discs mit PXE ein

So richten Sie bootfähige Netzwerkdienstprogramm-Discs mit PXE ein

Wir haben Ihnen gezeigt, wie Sie die Ubuntu LiveCD über das Netzwerk booten. In diesem Artikel zeigen wir, wie Sie einige andere Dienstprogramme netzwerkfähig machen, damit Sie das Verfahren für andere Dienstprogramme, die Sie möglicherweise verwenden, nachbilden können.

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

Überblick

Dieser Leitfaden soll Ihnen die Werkzeuge an die Hand geben, mit denen Sie Dienstprogramme so konvertieren können, dass sie PXE-fähig sind. Leider wird es nicht möglich sein, ein Werkzeug unter der Sonne zu konvertieren, aber wir wären keine Geeks, wenn wir es nicht zumindest versuchen würden.

Wie in der Anleitung „How To Network Boot (PXE) The Ubuntu LiveCD“ erwähnt, Wenn Sie Ubuntu nicht bereits als Ihre erste Anlaufstelle für Fehlerbehebungs-, Diagnose- und Rettungsverfahren verwenden, worauf warten Sie noch?

Vor diesem Hintergrund muss man anerkennen, dass es Dinge gibt, die innerhalb der Ubuntu LiveCD einfach nicht gemacht werden können (wie BIOS-Upgrades), oder dass Sie bereits ein anderes Tool verwenden, das Sie mögen und aus irgendeinem Grund lieber weiter verwenden möchten.

Empfehlungen, Annahmen und Voraussetzungen

  • Es wird davon ausgegangen, dass Sie den FOG-Server bereits eingerichtet haben, wie in unserem Abschnitt „Was ist Netzwerkbooten (PXE) und wie können Sie es verwenden?“ beschrieben. Handbuch.
  • Sie sehen die „VIM”-Programm als Editor verwendet, liegt dies hauptsächlich daran, dass es auf Linux-Plattformen weit verbreitet ist. Sie können jeden anderen Editor verwenden, den Sie möchten.
  • Die Ultimative Boot-CD (UBCD) wird als Beispiel verwendet, da es im Gegensatz zu einigen anderen Dienstprogrammsammlungen kostenlos heruntergeladen werden kann und die darin enthaltenen Programme kostenlos verwendet werden können.

Warum nicht einfach ISO über PXE verwenden?

Dies ist oft die erste Frage, die beim Thema PXEing gestellt wird. Die kurze Antwort lautet, dass es zwar technisch möglich ist, ein ISO-Image zu übertragen und es per PXE auf die Client-Rechner zu übertragen, aber fast immer erwartet der Inhalt des ISO, dass die physische Manifestation seiner selbst im physischen CD-ROM-Laufwerk zugänglich ist. Daher wird unabhängig vom Inhalt der ISO-Datei versucht, im physischen CD-ROM-Laufwerk des Client-Rechners nach den „Post-Boot-Sektor“-Dateien zu suchen, sie nicht zu finden und zu booten.

Die zwei Möglichkeiten, dieses Problem zu lösen, sind:

  • Brennen Sie die ISO und legen Sie sie in das CD-ROM-Laufwerk des Client-Rechners – Obwohl es einfach ist, CDs zu verwenden, versuchen wir genau das zu vermeiden…
  • Öffnen Sie das ISO und ändern Sie die Art und Weise, wie das Programm darin arbeitet, sodass es eine CD-ROM verwendet, die weiß, wie das ISO im RAM zu suchen ist – Ziemlich komplex und für jede Art von bootfähigem Programm unterschiedlich. IE nicht das gleiche Verfahren für Linux, WinPE oder UBCD, um nur einige zu nennen.

Da beide oben genannten Ziele das Ziel, „nur eine ISO zu verwenden“, zunichte machen, empfehlen wir daher nicht, dieses Unterfangen zu verfolgen.

Die Kernel-Methode

Obwohl es sehr selten ist, benötigt das Programm, das Sie zu booten versuchen, manchmal nur einen Kernel, um zu funktionieren. Ein typisches Beispiel dafür ist „memtest86+“. Memtest wird mit den Installations-CDs der meisten Linux-Distributionen und mit FOG geliefert. Da Memtest nur in der Lage sein muss, mit den grundlegendsten Fähigkeiten der getesteten Hardware zu kommunizieren, IE dem Speicher (RAM), und kann gut funktionieren, ohne die Hardware, auf der es läuft, vollständig zu unterstützen (dh es wird den Speicher testen, sogar wenn es Typ, Geschwindigkeit usw. nicht kennt) braucht es nichts anderes 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 setzt „LABEL Run Memtest86+“ den Namen des Eintrags, „kernel fog/memtest/memtest“ sagt PXElinux, woher der Kernel genommen werden soll, der an den Client gesendet wird und „append –“ weist PXElinux an, ihn zu ignorieren zusätzliche Boot-Optionen von *inheritance.

Die Kernel + Initrd-Methode

Diese Methode ist bei weitem die am häufigsten verwendete und aus mehreren Gründen am weitesten verbreitet:

  • Viele Dienstprogramme kommen heutzutage aus der Linux-Welt.
  • Da Linux eine hervorragende Hardwareunterstützung bietet und kostenlos verwendet werden kann, erkennen immer mehr Unternehmen, dass Linux eine ausgezeichnete Basis ist, auf der sie ihre proprietären Programme aufbauen können.

Nehmen wir als Beispiel das CPUstress-Dienstprogramm von UBCD.

Auf der UBCD-Dateistruktur befindet sich dieses Dienstprogramm im Verzeichnis „ubcd/boot/cpustress“. Die gesuchten Dateien heißen „bzImage“, was der „Kernel“ ist, und „initrd.gz“, was die „initiale RAM-Disk“ ist. 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 sich in den Menüeinträgen der UBCD befindet. diese finden Sie in „ubcd/menus/syslinux/cpu.cfg“. Mit den Einstellungen für das FOG-Setup sollte der Menüeintrag wie folgt 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 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 gibt Hilfetext, der im Menü angezeigt wird, um Informationen zum ausgewählten Eintrag bereitzustellen.
  • KERNEL – Gibt den Speicherort der „Kernel“-Datei im TFTPD-Verzeichnis an.
  • INITRD – wie oben nur für die Datei „initrd“.
  • APPEND – Gibt zusätzliche Parameter an, die an das gebootete Programm übergeben werden sollen.

Ein paar Dinge zu beachten sind:

  • Hardcore-Freaks würden bemerken, dass wir die ursprüngliche Direktive von „LINUX“ durch „KERNEL“ ersetzt haben. Dies liegt daran: A. Dies macht das Beispiel leichter lesbar. B. In diesem Beispiel spielt es keine Rolle.
    Abgesehen davon ist es normalerweise besser, wenn die Direktive „LINUX“ verwendet wird, dies so zu belassen, da sie pxelinux/syslinux mitteilt, dass wir nicht irgendeinen Kernel verwenden, sondern einen Linux-Kernel.
  • Die Anweisung „leise“ haben wir bewusst aus den angehängten Parametern herausgenommen. Dies ist auf eine Änderung der Handhabung des Parameters „quiet“ durch Syslinux in neueren Versionen zurückzuführen.
  • Es ist möglich, den Betrieb des Programms „StressCPU“ zu ändern, indem Sie einfach den angehängten Parameter „ubcdcmd“ ändern. Um die anderen Funktionen nutzen zu können, braucht man also nur den Eintrag zu kopieren und „stresscpu2“ durch cpuinfo, cpuburn oder mprime24 zu ersetzen.

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

Die Methode Kernel + Initrd + NFS

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 das Einhängen ihres „Root-Dateisystems“ von NFS unterstützen. Der Ubuntu-Leitfaden ist ein hervorragendes Beispiel, aber seien Sie versichert, dass wir für die nahe Zukunft bereits einen weiteren planen. “Halten Sie die Augen nach einem schwarzen Pilz offen“.

Die MEMDISK-Methode

MEMDISK ist ein Dienstprogramm, das mit dem Syslinux-Paket verteilt wird. Der Zweck dieses Dienstprogramms besteht darin, es Ihnen zu ermöglichen, eine „Diskette“ (hauptsächlich Disketten) unter Verwendung ihres Images zu emulieren. Die Funktionsweise dieses Dienstprogramms besteht darin, sich in den Speicherort im RAM einzuklinken, der angibt, wie mit dem Diskettenlaufwerk (AKA Interrupt-Handler) kommuniziert wird, und es auf einen neuen Speicherort verweist, der vom MEMDISK-Programm verarbeitet wird. Bei dieser Methode ist der „Kernel“ das MEMDISK-Dienstprogramm und „initrd“ die Disketten-Image-Datei (.img).

Zu beachten ist, dass FOG mit einer «Memdisk» -Version geliefert wird, die mit der verwendeten pxelinux.0-Version kompatibel ist. Daher wird empfohlen, die zur „img“-Datei gehörende „memdisk“-Datei nicht aus ihrer Quelle zu kopieren.

Da diese Methode selbst für normale Utilities und BootCDs bereits wild verwendet wird, ist es meistens einfach, die „IMG“-Datei auf der BootCD zu finden, in das TFTPD-Verzeichnis des PXE-Servers zu kopieren und den ISOlinux-Menüeintrag nach . zu kopieren das PXElinux-Menü.
Sie sagen, «Gespräch ist billig», also sehen wir uns an, wie wir eines der Dienstprogramme, die die MEMDISK-Methode von UBCD verwenden, für die Arbeit mit PXE anpassen können.

Das Dienstprogramm TestMemIV finden Sie in der UBCD-Dateistruktur unter „ubcd/images/testmem4.img.gz“. Da wir bereits das Festplattendienstprogramm Memdisk haben, muss man nur die Datei „img“ in das Verzeichnis „howtogeek/utils/“ kopieren. Mit den Einstellungen für das FOG-Setup sollte der Menüeintrag wie folgt aussehen:

MENU LABEL TestMemIV
TEXT HELP
Tests system memory and memory on Nvidia video cards.
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 mit der Arbeit zu beginnen (fdubcd.img.gz) und verwenden den angehängten Parameter „ubcdcmd“, um ein Programm automatisch von . zu starten die CD-ROM nach dem Booten. Dies bedeutet, dass Sie die meisten ihrer Dienstprogramme nicht ohne größeres Reverse Engineering in Netzwerk-Bootfähigkeit umwandeln können. Während ein solches Reverse Engineering möglich ist (wie man sehen kann Hier) und ist eine ausgezeichnete Geek-Übung, die den Rahmen dieses Handbuchs sprengen würde.

Mit dem oben Gesagten verfügen Sie nun über die Tools, um dieses Verfahren für dieses esoterische OEM-Diagnose- oder BIOS-Upgrade-Dienstprogramm durchzuführen.

Und so wartet Valor hinter dem Tor des Blutes und hinter der Halle des Feuers darauf, dass der Held des Lichts erwacht …

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia