Unisci uno squashFS e un initrd in un singolo file (avvio PXE)


0

Ho un initrd e un cloop (squashFS). Qual è il modo più semplice per unire quei 2 file in un singolo file initrd, allo scopo di avviare PXE l'intera immagine contemporaneamente senza alcun processo di bootstrap?

Certo, sarà un sistema Linux live quindi DOVREBBE essere di sola lettura. Le limitazioni di dimensione non contano poiché il sistema di destinazione ha un sacco di RAM e la rete su cui si avvierà è veloce.

Risposte:


0

Quello che stai cercando di fare non è un buon approccio; forzerà un trasferimento TFTP sicuramente troppo grande.

È meglio se modifichi initrd per accendere il client SAMBA / NFS o anche usando wget per un trasferimento HTTP che porterà all'avvio del tuo file squashfs.

Puoi vedere come questo approccio viene utilizzato da Serva (sono correlato allo sviluppo di Serva) quando PXE avvia / installa la maggior parte delle distribuzioni live disponibili oggi.

http://vercot.com/~serva/an/NonWindowsPXE3.html

non è necessario assemblare un initrd completamente nuovo, basta crearne uno complementare aggiungendo i componenti mancanti (se presenti) e lo script init aggiornato di conseguenza.


Capisco che farà un grande trasferimento TFTP, ma preferirei che invece di un processo in 2 fasi. Il motivo è che esiste un processo di autenticazione nel loop prima che il PXE si spenga. È possibile autenticare l'immagine TFTP in modo che solo i computer o gli utenti autorizzati possano ottenerla, ma non è possibile passare i dettagli di autenticazione all'HTTP senza modificare pesantemente il server TFTP o caricare un'immagine per utente e computer. Quindi voglio fare tutto in un solo passaggio.
sebastian nielsen,

Se il trasferimento TFTP diventa grande (> ~ 800 Mb) a seconda delle condizioni della rete, si verificheranno problemi. Non importa che sia possibile fare tutto in un unico passaggio di autenticazione se i trasferimenti TFTP si interrompono frequentemente. Fidati di me; il tuo design dal punto di vista PXE non è buono.
Pat

Non è 800mb. È un'immagine più piccola, come 200-300mb.
sebastian nielsen,

poi farai "OK", basta creare un initrd complementare contenente il file squashfs e caricarlo consecutivamente dopo il initrd principale, nella riga "append" (vedi come lo fa Serva).
Pat

Quindi il client PXE non passerà neanche l'autenticazione sul secondo passaggio. Se guardi a DSL, hanno un initrd che contiene TUTTO necessario per avviare l'intero sistema incluso il desktop, in un singolo file. (dsl-4.4.10-initrd.iso), in cui l'intero filesystem si trova all'interno di un initrd chiamato minirt24.
sebastian nielsen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.