Come installare i dischi di utilità di avvio di rete usando PXE
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 ha lo scopo di fornire gli strumenti con cui 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 ciò, 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, ipotesi 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, questo principalmente perché è ampiamente disponibile su piattaforme Linux. Puoi utilizzare qualsiasi altro editor che desideri.
- L'Ultimate Boot CD (UBCD) è utilizzato come esempio, diversamente da altre raccolte di utilità, è gratuito da scaricare e i programmi che i bundle sono liberi di usare.
Perché non usare solo ISO 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, quale sia il contenuto di detta ISO, cercherà di cercare i file "post boot sector" nell'unità CDROM fisica della macchina client, non li troverà e fallire avviare.
I due modi per superare questo problema sono:
- Masterizza gli ISO e inseriscili nell'unità CD-ROM del computer client, anche se semplice, Non usando i CD, è esattamente quello che stiamo cercando di evitare ...
- Apri l'ISO e cambia il modo in cui il programma funziona al suo interno, in modo che utilizzi un CD-ROM autista che sa come cercare l'ISO nella RAM - Abbastanza complesso e diverso per ogni tipo di programma avviabile. OSSIA non la stessa procedura per Linux, WinPE o UBCD per citarne alcuni.
Poiché entrambi i punti sopra battono l'obiettivo di "usare solo un ISO", questo è il motivo per cui non raccomandiamo di perseguire questo sforzo.
Il metodo Kernel
Mentre è molto raro, a volte il programma che si sta tentando di avviare può avere solo bisogno 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 sa che tipo, velocità, ecc.) non ha bisogno di nulla altro e può funzionare completamente autonomamente.
La voce del menu PXE per memtest può apparire semplice come:
LABEL Esegui Memtest86+
kernel fog / memtest / memtest
aggiungere -
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 da e "append -" dice a PXElinux di ignorare opzioni di avvio aggiuntive 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ù comunemente usato e ampiamente diffuso per un paio di motivi:
- Al giorno d'oggi molte utility vengono dal mondo Linux.
- Poiché Linux ha un ottimo supporto hardware ed è gratuito da usare, sempre più aziende si rendono conto che Linux è una base eccellente per costruire i loro programmi proprietari su.
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 in "/ 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)
AIUTO DI TESTO
Tortura: prova la tua CPU per assicurarti che non si verifichi un surriscaldamento
i problemi. Richiede CPU x86 dotate di SSE. Esegue una versione speciale di
Gromacs innerloops che mescola SSE e normali istruzioni di assemblaggio al calore
la tua 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
- AIUTO DI TESTO - Questa direttiva opzionale fornisce un testo di aiuto 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:
- Gli appassionati di hardcore si accorgono 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 "silenziosa" tra i parametri aggiunti. Ciò è dovuto a un cambiamento nel modo in cui Syslinux gestisce il parametro "quiet" nelle versioni recenti.
- È possibile modificare il funzionamento del programma "StressCPU", semplicemente cambiando il parametro aggiunto "ubcdcmd". Quindi per utilizzare le altre funzioni, basta copiare la voce e sostituire "stresscpu2" per essere: cpuinfo, cpuburn o mprime24.
Anche se questo è un esempio molto semplice, dovrebbe essere sufficiente per farti andare avanti.
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) che usa l'immagine. Il modo in cui funziona questa utilità consiste nell'aggregarsi nella posizione nella RAM che specifica come comunicare con l'unità disco 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 ISOlinux in il menu PXElinux.
Dicono "parlare è economico" 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
AIUTO DI TESTO
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 un file 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 usa il parametro "ubcdcmd" aggiunto per avviare automaticamente un programma da l'avvio del CDROM. Ciò significa che non sarai in grado di convertire la maggior parte delle loro utilità in reti avviabili senza un importante 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ì, chiuso oltre la Porta del Sangue e oltre la Sala del Fuoco, Valor attende che l'Eroe della Luce si risvegli ...