Old:DebianLive multi-distro: differenze tra le versioni
(Nuova pagina: {{stub}} == Intro == Partendo da una debian live su penna usb è possibile con pochi passi innestare altre distribuzioni realizzando una penna multi-distro. Si consideranno la distr...) |
(Nessuna differenza)
|
Versione delle 10:29, 29 gen 2010
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
Intro
Partendo da una debian live su penna usb è possibile con pochi passi innestare altre distribuzioni realizzando una penna multi-distro. Si consideranno la distribuzione debian e le sue derivate come ubuntu, knoppix o dsl, queste usano il filesystem compresso squashfs, ma il procedimento può essere esteso anche ad altre, con opportuni accorgimenti.
I passi da esegure possono essere riassunti in:
- Scaricare la iso della distro e montarla.
- Copiare sulla penna usb l'immagine squashfs, initrd e vmlinuz.
- Aggiungere le voci per il bootloader syslinux.
Nota
Il file squashfs copiato dovrà avere lo stesso percorso assoluto originario, ciò vuol dire che se nella iso tale file si trovava nella directory casper, si dovrà creare la stessa directory sulla penna usb. Tale regola ha delle eccezioni, dipende se la distro permette di specificare nei parametri di boot il percorso dell'immagine squashfs, per la debian live tale meccanismo è possibile ed il parametro è live-media-path=PATH. I file vmlinux e initrd invece possono essere copiati dove si vuole, per mantenere un certo ordine sulla penna usb, essi verranno copiati nella stessa directory dell'immagine squashfs.
Fix syslinux
Dalla iso della distro si dovranno ricavare i parametri che serviranno per la configurazione di syslinux, essi saranno i riferimenti al kernel (vmlinux) al file initrd (initrd.gz) e i valori da passare al boot, i quali sono di due tipi: generici per il kernel linux (es. quiet), oppure specifici per la distro live (es. persistent), per vedere quelli della debian live guardare il manuale di live-initramfs (man live-initramfs)
i file da cercare dipendono dal bootloader.
isolinux
I parametri si troveranno nel file isolinux.cfg oppure da uno richiamato da tale file, solitamente menu.cfg.
grub
I parametri si trovano menu.lst solitamente contenuto il /boot/grub
Nota
Se i file vmlinux e initrd sono stati copiati in posizioni diverse rispetto alla loro posizione originaria sulla iso, si dovrà modificare il loro path rispetto alle voci originarie.
Si prende in considerazione una configurazione di syslinux con menù grafico, si dovrà inserire una voce nel file /syslinux/menu.cfg che richiamerà il file di configurazione vero e proprio, il quale dovrà essere creato. Per quanto riguarda invece una configurazione di syslinux minimale, che comprende il boot da linea di comando (default nella live creata con lenny) si dovà modificare solo il file menu.cfg inserendo le voci per lanciare il sistema live.
Nel seguente esempio si farà riferimento ad una distro live generica chiamata foo.
Voce da aggiungere al file menu.cfg
label foo menu label ^foo text help Descrizione di foo endtext config foo.cfg
Creazione del sottomenù contenuto nel file /syslinux/foo.cfg
menu hshift 13 menu width 49 default /syslinux/vesamenu.c32 include stdmenu.cfg label back menu label ^back kernel /syslinux/vesamenu.c32 config syslinux.cfg label foo menu label foo kernel /foo/vmlinuz append initrd=/foo/initrd.img [...]
info su syslinux [1]
Esempio: Backtrack (Ubuntu derived)
BackTrack è una distribuzione Linux pensata per tutti coloro che svolgono attività di penetration testing: metodologie di analisi che consentono di mettere alla prova la propria infrastruttura di rete contro gli attacchi informatici.
Si fa riferimento a Backtrack 4 rilasciata il 11.01.2010
backtrack-linux.org [2]
backtrack.it [3]
Primo passo
Download della iso di backtrack che viene poi montata in loop.
# cd /tmp # mkdir iso # wget ftp://ftp.uio.no/linux/backtrack/bt4-final.iso # mount -t iso9660 bt4-final.iso iso -o loop
Secondo passo
Copia dell'immagine squashfs contenuta nella directory casper e dei file vmlinuz e initrd (notare che vi stanno due file di quest'ultimo tipo) contenuti nella directory boot.
# cp -R iso/casper/ /media/disk/ # cp iso/boot/*.gz /media/disk/casper/ # cp iso/boot/vmlinuz /media/disk/casper/ # umount iso # cd /media/disk/syslinux/
Terzo passo
Il file di configurazione da cercare si trova in iso/boot/grub/menu.lst, dal quale si ricaveranno i parametri da passare a syslinux.
Aggiungere le seguenti righe al file /media/disk/syslinux/menu.cfg
label bt4 menu label ^BackTrack 4 text help BackTrack is an Ubuntu-based distribution with a collection of security and forensics tools endtext config bt4.cfg
Creare il sottomenù per backtrack nella directory /media/disk/syslinux/
# cat > bt4.cfg << EOF menu hshift 13 menu width 49 default /syslinux/vesamenu.c32 include stdmenu.cfg label back menu label ^back kernel /syslinux/vesamenu.c32 config syslinux.cfg label bt4fb1024x768 menu label BackTrack (fb1024x768) kernel /casper/vmlinuz append initrd=/casper/initrd.gz BOOT=casper boot=casper nopersistent rw quiet vga=0x317 label bt4fb800x600 menu label BackTrack (fb800x600) kernel /casper/vmlinuz append initrd=/casper/initrd800.gz BOOT=casper boot=casper nopersistent rw quiet vga=0x314 label bt4noswap menu label BackTrack (no swap) kernel /casper/vmlinuz append initrd=/casper/initrdfr.gz BOOT=casper boot=casper nopersistent rw vga=0x317 label bt4safe menu label BackTrack (safe mode) kernel /casper/vmlinuz append initrd=/casper/initrd.gz BOOT=casper boot=casper xforcevesa rw quiet label bt42ram menu label BackTrack (to ram) kernel /casper/vmlinuz append initrd=/casper/initrd.gz BOOT=casper boot=casper toram nopersistent rw quiet EOF
Altre distro
- Clonezilla (Debian derived)
- SystemRescueCd (Gentoo derived)
- Slax (Slackware derived)
- GeeXboX (Linux embedded)