If-Koubou

Jak skonfigurować sieciowe dyski rozruchowe Utility Using PXE

Jak skonfigurować sieciowe dyski rozruchowe Utility Using PXE (Jak)

Pokazaliśmy, jak uruchomić bootowanie systemu Ubuntu LiveCD. W tym artykule pokażemy, jak sprawić, aby inne narzędzia sieciowe były uruchamialne, co da ci wiedzę niezbędną do powielenia procedury dla innych narzędzi, z których możesz korzystać.

Uwaga: ten artykuł nie jest przeznaczony dla początkujących, ale możesz czytać dalej!

Zdjęcie: Steve Jurvetson

Przegląd

Ten przewodnik ma na celu udostępnienie narzędzi, dzięki którym będziesz mógł konwertować narzędzia, aby były PXEable. Choć niestety nie będzie możliwe przekonwertowanie żadnego narzędzia pod słońce, nie będziemy maniakami, jeśli przynajmniej nie spróbujemy.

Jak wspomniano w przewodniku "Jak uruchomić Network Boot (PXE) na Ubuntu LiveCD", jeśli jeszcze nie używasz Ubuntu jako swojego numeru "przejdź do" do rozwiązywania problemów, diagnostyki i procedur procedur ratunkowych, na co czekasz?

Mówiąc to, trzeba przyznać, że są rzeczy, których po prostu nie da się zrobić w LiveCD Ubuntu (jak uaktualnienia BIOS-u), lub że używasz już innego narzędzia, które lubisz i wolisz używać dalej z jakiegokolwiek powodu.

Zalecenia, założenia i warunki wstępne

  • Zakłada się, że już skonfigurowałeś serwer FOG, jak wyjaśniono w naszym przewodniku "Co to jest rozruch sieciowy (PXE) i jak go używać?".
  • Zobaczysz program "VIM" używany jako edytor, głównie dlatego, że jest szeroko dostępny na platformach Linux. Możesz użyć dowolnego edytora, który chcesz.
  • Przykładem jest Ultimate Boot CD (UBCD), ponieważ w przeciwieństwie do innych kolekcji narzędzi, można go pobrać bezpłatnie, a programy, z których korzysta, są bezpłatne.

Dlaczego nie po prostu użyć ISO na PXE?

Często jest to pierwsze pytanie zadawane podczas rozmowy o PXEing. Krótką odpowiedzią jest to, że technicznie możliwe jest pobranie obrazu ISO i PXE do maszyn klienckich, prawie zawsze zawartość wspomnianego ISO, będzie oczekiwała, że ​​fizyczna manifestacja będzie dostępna w fizycznym napędzie CD-ROM. W związku z tym, niezależnie od tego, jaka jest zawartość wspomnianego ISO, spróbuje wyszukać pliki "post-boot-sector" w fizycznym napędzie CD-ROM komputera klienta, nie znajdzie ich i zawieść uruchomić.

Dwa sposoby na rozwiązanie tego problemu to:

  • Spal ISO i umieść go w napędzie CDROM komputera klienckiego - choć prosty, Nie używając płyt CD, dokładnie to, czego staramy się unikać ...
  • Otwórz ISO i zmień sposób działania programu w taki sposób, aby używał CDROM kierowca który wie, jak szukać ISO w pamięci RAM - dość skomplikowany i inny dla każdego typu programu startowego. TO ZNACZY. to nie ta sama procedura dla Linuksa, WinPE lub UBCD, żeby wymienić tylko kilka.

Ponieważ oba powyższe cele są sprzeczne z celem "po prostu używania ISO", dlatego nie zalecamy wykonywania tego przedsięwzięcia.

Metoda Kernela

Chociaż bardzo rzadko, program, który próbuje uruchomić, może potrzebować tylko jądra. Typowym tego przykładem jest "memtest86 +". Memtest jest dostarczany wraz z większością płyt instalacyjnych dystrybucji Linuksa i FOG. Ponieważ Memtest musi być w stanie komunikować się z najbardziej podstawowymi możliwościami testowanego sprzętu, I.E. pamięć (RAM) i może działać dobrze nawet bez pełnego wsparcia sprzętu, na którym działa (IE przetestuje pamięć, nawet jeśli nie zna jej typu, prędkości i itp.), nie potrzebuje niczego i może pracować całkowicie autonomicznie.

Wpis w menu PXE dla memtest może wyglądać tak prosto, jak:

LABEL Uruchom Memtest86 +
jądro mgła / memtest / memtest
dołącz -

W tym przykładzie, "LABEL Run Memtest86 +" ustawia nazwę wpisu, "jądro mgły / memtest / memtest" mówi PXElinux, gdzie należy pobrać jądro, które zostanie wysłane do klienta od, a "append -" mówi PXElinux, aby zignorować dodatkowe opcje rozruchu z * dziedziczenia.

* Uwaga: w zależności od konfiguracji, może to nie być nawet wymagane i faktycznie w FOG nie jest używane.

Metoda Kernel + Initrd

Ta metoda jest zdecydowanie najczęściej używana i szeroko rozpowszechniona z kilku powodów:

  • Wiele narzędzi w dzisiejszych czasach pochodzi ze świata Linuksa.
  • Ponieważ Linux ma świetną obsługę sprzętu i jest darmowy, coraz więcej firm zdaje sobie sprawę, że Linux jest doskonałą bazą do budowania własnych programów.

Jako przykład posłużyć można się za pomocą narzędzia CPUStress UBCD.

W strukturze plików UBCD to narzędzie znajduje się w katalogu "ubcd / boot / cpustress". Pliki, których szukamy, nazywane są "bzImage", czyli "jądro" i "initrd.gz", który jest "początkowym dyskiem RAM". Jeśli korzystasz z konfiguracji FOG, którą stworzyliśmy, zalecamy skopiowanie katalogu z katalogu "/ tftpboot / howtogeek / utils". Gdy to zrobisz, edytuj plik "/tftpboot/howtogeek/menus/utils.cfg" i dodaj do niego pozycję startową znalezioną w pozycjach menu UBCD. można go znaleźć w "ubcd / menus / syslinux / cpu.cfg". Po dostosowaniu konfiguracji FOG wpis w menu powinien wyglądać tak:

MENU LABEL StressCPU V2.0 (wymaga procesora z SSE)
POMOC TEKSTOWA
Sprawdź torturując procesor, aby się upewnić, że nie masz przegrzania
problemy. Wymaga procesorów x86 wyposażonych w procesory SSE. Wykonuje specjalną wersję pliku
Gromacs, które mieszają SSE i normalne instrukcje montażu w celu ogrzania
twój procesor tak bardzo, jak to możliwe.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2

Gdzie :

  • MENU LABEL - ustawia nazwę wpisu
  • POMOC TEKSTOWA - Ta opcjonalna dyrektywa zawiera tekst pomocy, który zostanie wyświetlony w menu w celu dostarczenia informacji o wybranym wpisie.
  • KERNEL - Określa lokalizację pliku "jądra" w katalogu TFTPD.
  • INITRD - tak samo jak powyżej tylko dla pliku "initrd".
  • DODAJ - Określa dodatkowe parametry, które należy przekazać do uruchomionego programu.

Kilka rzeczy do zapamiętania to:

  • Hardcoreowi geeksi zauważą, że zastąpiliśmy pierwotną dyrektywę "LINUX" słowem "KERNEL". Jest tak, ponieważ: A. to sprawia, że ​​przykład jest łatwiejszy do odczytania. B. W tym przykładzie to naprawdę nie ma znaczenia.
    Mówiąc to, zazwyczaj gdy używana jest dyrektywa "LINUX", lepiej zostawić to w ten sposób, ponieważ mówi pxelinux / syslinux, że nie używamy żadnego jądra, ale Linux.
  • Celowo wybraliśmy "cichą" dyrektywę z dołączonych parametrów. Wynika to ze zmiany sposobu, w jaki Syslinux obsługuje parametr "cichy" w najnowszych wersjach.
  • Istnieje możliwość zmiany działania programu "StressCPU", po prostu zmieniając parametr "ubcdcmd". Aby więc móc korzystać z innych funkcji, wystarczy tylko skopiować wpis i zastąpić "stresscpu2" na: cpuinfo, cpuburn lub mprime24.

Chociaż jest to bardzo prosty przykład, powinien wystarczyć.

Metoda Kernel + Initrd + NFS

Ta metoda została użyta w przewodniku "Jak uruchomić Network Boot (PXE) na Ubuntu LiveCD". Ta metoda opiera się na poprzedniej wersji i wykorzystuje fakt, że niektóre dystrybucje Linuksa obsługują posiadanie "głównego systemu plików" z NFS. Poradnik Ubuntu jest doskonałym przykładem, ale zapewniamy, że mamy już zaplanowane na najbliższą przyszłość. "Miej oczy otwarte na Czarny Grzyb".

Metoda MEMDISK

MEMDISK to narzędzie dystrybuowane z pakietem Syslinux. Celem tego narzędzia jest umożliwienie emulowania "dysku" (głównie w odniesieniu do dyskietek) przy użyciu jego obrazu. Sposób działania tego narzędzia polega na podpięciu do miejsca w pamięci RAM, które określa sposób komunikacji z dyskietką (procedura obsługi przerwań A.K.A.) i skierowanie jej do nowej lokalizacji obsługiwanej przez program MEMDISK. W tej metodzie "jądro" jest narzędziem MEMDISK, a "initrd" jest plikiem obrazu dyskietki (.img).

Warto zauważyć, że FOG ma wersję "memdisk", która jest kompatybilna z wersją pxelinux.0, której używa. Dlatego zaleca się, aby nie kopiować pliku "memdisk" dołączonego do pliku "img" z ich źródła.

Ponieważ ta metoda jest już powszechnie stosowana, nawet w przypadku zwykłych programów narzędziowych i BootCD, najczęściej jest to prosta sprawa znalezienia pliku "IMG" na BootCD, skopiowanie go do katalogu TFTPD serwera PXE i skopiowanie wpisu menu ISOlinux do menu PXElinux.
Mówią "talk is cheap", więc przyjrzyjmy się, jak możemy dostosować jedno z narzędzi, które używają metody MEMDISK z UBCD, do pracy z PXE.

Narzędzie TestMemIV można znaleźć w strukturze plików UBCD w "ubcd / images / testmem4.img.gz". Ponieważ mamy już narzędzie dyskowe memdisk, wystarczy skopiować plik "img" do katalogu "howtogeek / utils /". Po dostosowaniu konfiguracji FOG wpis w menu powinien wyglądać tak:

MENU LABEL TestMemIV
POMOC TEKSTOWA
Testuje pamięć systemową i pamięć na kartach graficznych Nvidii.
ENDTEXT
LINUX memdisk
INITRD howtogeek / utils / testmem4.img.gz

Chociaż jest to przykład samodzielnego pliku obrazu dyskietki z UBCD, większość innych programów UBCD używa tego samego podstawowego obrazu, aby zacząć działać (fdubcd.img.gz) i użyć dodanego parametru "ubcdcmd" w celu automatycznego uruchomienia programu po uruchomieniu CDROM. Oznacza to, że nie będziesz w stanie przekonwertować większości swoich narzędzi na sieciowe, bez jakiejś poważnej inżynierii wstecznej. Chociaż taka inżynieria wsteczna jest możliwa (jak można zobaczyć tutaj) i jest doskonałym ćwiczeniem dla maniaków, wykracza to poza zakres tego przewodnika.

Z powyższym, masz teraz narzędzia do wykonania tej procedury dla tego ezoterycznego narzędzia diagnostycznego OEM lub aktualizacji BIOS.

I tak, zatrzymany poza Bramą Krwi i obok Sali Ognia, Valor czeka, aż Bohater Światła się obudzi ...