Główna » jak » Jak skonfigurować sieciowe dyski startowe Utility Using PXE

    Jak skonfigurować sieciowe dyski startowe Utility Using PXE

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

    Uwaga: ten artykuł nie jest skierowany do 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. Chociaż niestety nie będzie można przekonwertować ż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 ratowniczych, na co czekasz?

    Mówiąc to, trzeba przyznać, że są rzeczy, których po prostu nie da się zrobić w LiveCD Ubuntu (jak aktualizacje 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 z niego korzystać?".
    • 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 jest on dostępny, są bezpłatne..

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

    Często jest to pierwsze pytanie zadawane podczas rozmowy o PXEing. Krótka odpowiedź brzmi, że technicznie możliwe jest zrobienie obrazu ISO i PXE na komputerach 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 CD-ROM komputera-klienta, chociaż jest prosty, Nie używając płyt CD, dokładnie tego staramy się unikać ...
    • Otwórz ISO i zmień sposób, w jaki program działa w nim, tak 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. nie jest to ta sama procedura dla Linuksa, WinPE lub UBCD, żeby wymienić tylko kilka.

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

    Metoda jądra

    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
    dodać -

    W tym przykładzie "LABEL Run Memtest86 +" ustawia nazwę wpisu, "jądro mgła / memtest / memtest" mówi PXElinux gdzie ma 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ładu wykorzystajmy narzędzie 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 używasz utworzonej przez nas instalacji FOG, zalecamy skopiowanie katalogu w "/ tftpboot / howtogeek / utils". Gdy to zrobisz, edytuj plik "/tftpboot/howtogeek/menus/utils.cfg" i dodaj do niego pozycję rozruchową znajdującą się 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 SSE. Wykonuje specjalną wersję pliku
    Gromacs innerloops, 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". Dzieje się 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 Linuxa..
    • 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 jest używana w przewodniku "Jak uruchomić Network Boot (PXE) w 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 lokalizacji w pamięci RAM, która określa sposób komunikacji z dyskietką (procedura obsługi przerwań A.K.A.) i wskazuje ją do nowej lokalizacji obsługiwanej przez program MEMDISK. W tej metodzie "jądro" jest narzędziem MEMDISK, a "initrd" jest plikiem obrazu dyskietki (.img).

    Należy zauważyć, że FOG jest dostarczany z 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ż szalenie używana, nawet w przypadku zwykłych narzędzi i BootCD, przez większość czasu łatwo jest znaleźć plik "IMG" na BootCD, kopiując go do katalogu TFTPD serwera PXE i kopiując wpis menu ISOlinux do menu PXElinux.
    Mówią "talk is cheap", więc spójrzmy, 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źć na 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 rozpocząć pracę (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 programów narzędziowych 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, to jest poza zakresem 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, walczący za Bramą Krwi i obok Sali Ognia, Valor czeka, aż Bohater Światła się obudzi ...