28Jun
Ti abbiamo mostrato come avviare in rete il LiveCD di Ubuntu. In questo articolo mostreremo come rendere avviabile un'altra rete di utilità, che ti darà la conoscenza necessaria per replicare la procedura per altre utilità che potresti utilizzare.
Nota: questo articolo non è adatto ai principianti, anche se puoi continuare a leggere!
Immagine di Steve Jurvetson
Panoramica
Questa guida si propone di fornire gli strumenti con i quali sarà possibile convertire le utilità in PXEable. Mentre sfortunatamente, non sarà possibile convertire qualsiasi strumento sotto il sole, non saremmo dei geek se non ci provassimo almeno.
Come menzionato nella guida "How To Network Boot( PXE) The Ubuntu LiveCD", Se non stai già utilizzando Ubuntu come il tuo numero uno "vai a" per la risoluzione dei problemi, strumento di diagnostica e procedure di salvataggio, cosa stai aspettando?
Detto questo, bisogna riconoscere che ci sono cose che semplicemente non possono essere fatte all'interno del LiveCD di Ubuntu( come gli aggiornamenti del BIOS), o che si sta già utilizzando uno strumento diverso che ti piace e che preferiresti continuare a utilizzare per qualsiasi motivo. Raccomandazioni, presupposti e prerequisiti
- Si presume che tu abbia già configurato il server FOG come spiegato nella nostra guida "Che cos'è l'avvio in rete( PXE) e Come puoi utilizzarlo?".
- Vedrai il programma "VIM" usato come editor, principalmente perché è ampiamente disponibile su piattaforme Linux. Puoi utilizzare qualsiasi altro editor che desideri.
- Il CD di avvio definitivo( UBCD) viene utilizzato come esempio, diversamente da altre raccolte di utilità, è gratuito per il download e i programmi che i bundle sono liberi di utilizzare.
Perché non usare ISO solo su PXE?
Questa è spesso la prima domanda posta quando si parla di PXEing. La risposta breve è che mentre tecnicamente è possibile prendere un'immagine ISO e PXE sulle macchine client, quasi sempre il contenuto di detta ISO, si aspetterà di avere la manifestazione fisica di sé accessibile nell'unità CDROM fisica. Pertanto, qualunque sia il contenuto di tale ISO, cercherà di cercare i file "post boot sector" nell'unità CDROM fisica del computer client, non li troverà e non riuscirà ad avviare .
I due modi per superare questo problema sono:
- Masterizzare l'ISO e inserirlo nell'unità CDROM del computer client - Anche se semplice, Not che utilizza CD, è esattamente ciò che stiamo cercando di evitare. ..
- Aprire l'ISO e modificareil modo in cui il programma funziona al suo interno, in modo che utilizzi un driver CDROM che sappia cercare l'ISO nella RAM - Abbastanza complesso e diverso per ogni tipo di programma avviabile. OSSIAnon la stessa procedura per Linux, WinPE o UBCD per citarne alcuni.
Dato che entrambi i precedenti hanno sconfitto l'obiettivo di "usare solo un ISO", è per questo che non raccomandiamo di perseguire questo sforzo.
Il metodo Kernel
Anche se molto raro, a volte il programma che si sta provando ad avviare può aver bisogno solo di un kernel per funzionare. Un tipico esempio di questo è "memtest86 +".Memtest viene fornito in bundle con la maggior parte dei CD di installazione delle distribuzioni Linux e con FOG.Poiché Memtest deve solo essere in grado di comunicare con le funzionalità di base dell'hardware testato, I.E.la memoria( RAM), e può funzionare bene senza nemmeno supportare completamente l'hardware su cui è in esecuzione( IE testerà la memoria, anche se non conosce il tipo, la velocità e l'ecc.) che non ha bisogno diqualsiasi altra cosa e può funzionare completamente autonomamente.
La voce del menu PXE per memtest può sembrare semplice:
LABEL Esegui Memtest86 +
kernel fog /memtest/ memtest
append -
In questo esempio, "LABEL Run Memtest86 +" imposta il nome della voce, il "kernel fog /memtest/ memtest"dice a PXElinux dove prendere il kernel che verrà inviato al client e "append -" dice a PXElinux di ignorare ulteriori opzioni di avvio da * ereditarietà.
* Nota: a seconda della configurazione, questo potrebbe non essere nemmeno richiesto e in realtà in FOG non viene utilizzato.
Il metodo Kernel + Initrd
Questo metodo è di gran lunga il più utilizzato e ampiamente diffuso per un paio di motivi:
- Al giorno d'oggi molte utility arrivano dal mondo Linux.
- Dato che Linux ha un ottimo supporto hardware ed è gratuito, sempre più aziende si rendono conto che Linux è una base eccellente su cui costruire i propri programmi proprietari.
Consente di utilizzare l'utilità CPUstress di UBCD come esempio.
Sulla struttura del file UBCD, questa utility si trova nella directory "ubcd /boot/ cpustress".I file che stiamo cercando sono chiamati "bzImage" che è il "kernel" e "initrd.gz" che è il "disco ram iniziale".Se stai usando la configurazione FOG che abbiamo creato, ti consigliamo di copiare la directory sotto "/tftpboot/howtogeek/ utils".Una volta fatto, modifica il file "/tftpboot/howtogeek/menus/ utils.cfg" e aggiungi ad esso la voce di avvio trovata nelle voci del menu di UBCD.questo può essere trovato in "ubcd /menus/syslinux/ cpu.cfg".Con le regolazioni per l'impostazione FOG, la voce del menu dovrebbe essere simile a:
MENU LABEL StressCPU V2.0( richiede CPU con SSE)
TEXT HELP
Tortura: testare la CPU per assicurarsi che non si abbia un surriscaldamento
i problemi. Richiede CPU x86 dotate di SSE.Esegue una versione speciale del innerloops di
Gromacs che mescola SSE e le normali istruzioni di assemblaggio per riscaldare
la CPU il più possibile.
ENDTEXT
KERNEL howtogeek /utils/cpustress/ bzImage
INITRD howtogeek /utils/cpustress/ initrd.gz
APPEND root = /dev/ ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
Dove:
- MENU LABEL - imposta il nome della voce
- HELP TESTO - Questa direttiva opzionale, fornisce aiutotesto che verrà mostrato nel menu per fornire informazioni sulla voce selezionata.
- KERNEL: specifica la posizione del file "kernel" nella directory TFTPD.
- INITRD - lo stesso di sopra solo per il file "initrd".
- APPEND - Specifica i parametri aggiuntivi che devono essere passati al programma avviato.
Un paio di cose da notare sono: i fanatici di
- Hardcore noterebbero che abbiamo sostituito la direttiva originale di "LINUX" con "KERNEL".Questo perché: A. questo rende l'esempio più facile da leggere. B. In questo esempio non ha molta importanza.
Detto questo, solitamente quando viene usata la direttiva "LINUX", è meglio lasciarla così perché dice a pxelinux / syslinux che non stiamo usando un kernel qualsiasi ma uno Linux. - Abbiamo deliberatamente adottato la direttiva "quiet" dai parametri aggiunti. Ciò è dovuto a un cambiamento nel modo in cui Syslinux gestisce il parametro "quiet" nelle versioni recenti.
- È possibile modificare l'operazione del programma "StressCPU", semplicemente cambiando il parametro aggiunto "ubcdcmd".Quindi, per utilizzare le altre funzioni, è sufficiente copiare la voce e sostituire "stresscpu2" per essere: cpuinfo, cpuburn o mprime24.
Anche se questo è un esempio molto semplice, dovrebbe essere sufficiente per iniziare.
Il metodo Kernel + Initrd + NFS
Questo metodo è quello che abbiamo usato nella guida "How To Network Boot( PXE) The Ubuntu LiveCD".Questo metodo si basa su quello precedente e utilizza il fatto che alcune distribuzioni Linux supportano il fatto che il loro "root filesystem" sia montato da NFS.La guida di Ubuntu è un esempio eccellente, ma ti assicuro che ne abbiamo già un'altra pianificata per il prossimo futuro."Tieni gli occhi aperti per un fungo nero".
Il metodo MEMDISK
MEMDISK è un'utility distribuita con il pacchetto Syslinux. Lo scopo di questa utility è di abilitare l'utente a emulare un "disco"( principalmente riferito a floppy) usando la sua immagine. Il modo in cui funziona questa utilità consiste nell'aggregarsi nella posizione nella RAM che specifica come comunicare con l'unità floppy( gestore di interruzioni A.K.A.) e la indirizza in una nuova posizione gestita dal programma MEMDISK.Con questo metodo, il "kernel" è l'utilità MEMDISK e "initrd" è il file di immagine floppy( .img).
L'unica cosa da notare è che FOG ha una versione "memdisk" compatibile con la versione di pxelinux.0 che usa. Pertanto, si raccomanda di non copiare il file "memdisk" che accompagna il file "img" dalla loro origine.
Poiché questo metodo è già ampiamente utilizzato, anche per le utilità regolari e BootCD, il più delle volte è semplice trovare il file "IMG" sul BootCD, copiarlo nella directory TFTPD del server PXE e copiare la voce del menu ISOlinuxal menu PXElinux.
Dicono "talk is cheap" quindi diamo un'occhiata a come possiamo adattare una delle utility che usano il metodo MEMDISK di UBCD, per lavorare da PXE.
L'utilità TestMemIV, può essere trovata nella struttura del file UBCD in "ubcd /images/ testmem4.img.gz".Poiché abbiamo già l'utility disco memdisk, è sufficiente copiare il file "img" nella directory "howtogeek /utils/".Con le regolazioni per l'impostazione FOG, la voce del menu dovrebbe essere simile a:
MENU LABEL TestMemIV
TEXT HELP
Verifica la memoria di sistema e la memoria sulle schede video Nvidia.
ENDTEXT
LINUX memdisk
INITRD howtogeek /utils/ testmem4.img.gz
Mentre questo è un esempio di file di immagine floppy autonomo da UBCD, la maggior parte degli altri programmi UBCD, usa la stessa immagine di base per iniziare a lavorare( fdubcd.img.gz) e utilizzare il parametro "ubcdcmd" aggiunto per avviare automaticamente un programma dal boot del CDROM.Ciò significa che non sarai in grado di convertire la maggior parte delle loro utilità in reti avviabili senza un particolare reverse engineering. Mentre un tale reverse engineering è possibile( come si può vedere qui) ed è un eccellente esercizio geek, è oltre lo scopo di questa guida.
Con quanto sopra detto, ora avete gli strumenti per eseguire questa procedura per la diagnostica OEM esoterica o l'utilità di aggiornamento del BIOS.
E così, bloccato oltre il Gateway of Blood e oltre la Hall of Fire, Valor attende che l'Hero of Light si risvegli. ..