DebianLive multi-distro

Da Guide@Debianizzati.Org.

Guida da adottare! Bannermv.png


Indice

Intro

Partendo da una debian live su penna usb è possibile con pochi passi innestare altre distribuzioni realizzando una penna multi-distro. Si considereranno 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 eseguire possono essere riassunti in:

  1. Scaricare la iso della distro e montarla.
  2. Copiare sulla penna usb l'immagine squashfs, initrd e vmlinuz.
  3. 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, leggermente diverse dall'esempio seguente: non compaiono i tag <menu label> e <text help>.


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

Esempi con altre distro

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti