Old:DebianLive su usb installabile: differenze tra le versioni
(Nuova pagina: {{stub}} === Intro === Lo scopo di questa guida è quello di creare una debian live su supporto usb con la possibilità di installarla su hd o altro supporto esterno, questa possibil...) |
(Nessuna differenza)
|
Versione delle 16:08, 4 dic 2009
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
Lo scopo di questa guida è quello di creare una debian live su supporto usb con la possibilità di installarla su hd o altro supporto esterno, questa possibilità è implementata dal tool live-helper ma solo per live su cd/dvd, presumibilmente tale feature verrà aggiunta in futuro, nel frattempo con pochi passi è possibile assemblare la propria live su usb installabile, una sorta di coltellino svizzero da mettere nel portachiavi.
Si considerà:
- La creazione della live già avvenuta usando live-helper [1]
- La live si trova su supporto usb in /dev/sdb1 montata su /media/disk
- La directory usata da live-helper è /home/$USERNAME/mylive
- Architettura x86
- Debian stabile (Lenny)
Installazione di Netinst
Viene usato un installer particolare che caricherà l'immagine iso della netinst, anch'essa presente su usb.
# cd /media/disk # mkdir -p netinst/gtk # cd netinst # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/initrd.gz # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/vmlinuz # wget wget http://cdimage.debian.org/debian-cd/5.0.3/i386/iso-cd/debian-503-i386-netinst.iso # cd /media/disk/netinst/gtk # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/gtk/initrd.gz # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/gtk/vmlinuz
Occorre inserive delle voci nel menù del bootloader per permettere di caricare il d-i. Il file di configurazione principale è syslinux.cfg nel quale vendono richiamati altri file, quello da modificare è menu.cfg, presente nella directory syslinux.
label install menu label Install-txt kernel /netinst/vmlinuz append initrd=/netinst/initrd.gz vga=normal quiet label installgtk menu label Graphical install kernel /netinst/gtk/vmlinuz append video=vesa:ywrap,mtrr vga=788 initrd=/netinst/gtk/initrd.gz -- quiet
All'avvio della live, digitando install partià la netinst in modalità testo, mentre digitando installgtk si entrerà in modalità grafica. Si sono considerate solo due modalità, chi avesse necissità di usare la modalità expert basterà aggiungere una nuova voce. Coloro che volessero avere i cheat code della netinst protrebbero aggiungerli modificando uno dei file di aiuto di syslinux: f1.txt, f2.txt, ect.
Su debian lenny è presente live-helper v1.0.3-2 (syslinux v2:3.71+dfsg-5), il quale genera una configurazione per syslinux abbastanza scarna, che comprende solo la modalità senza menu (boot: [....]), nelle versione successive presenti su testing e sid invece la modalità di default di syslinux è quella con i menù e relativi sottomenù, più user-friendly, si entra nella modalità boot premendo TAB, mentre digitando Esc si torna nella modalità menu.
Le voci da aggiungere a menu.cfg sono leggermente diverse, basta guardare quelle già presenti per intuire le modifiche da fare.
Installazione dei firmware mancanti
Si tratta di firmware proprietari non compresi nel d-i.
# cd /media/disk/ # mkdir /media/disk/firmware # wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/firmware.tar.gz # tar -xf firmware.tar.gz -C firmware # rm firmware.tar.gz
info [2]
Repository locale
Si costruisce un trivial repository di pacchetti non compresi nel d-i, per la creazione del pool dei pacchetti si utilizzano quelli scaricati da live-helper presenti nella directory /home/$USERNAME/mylive
# cd /media/disk # mkdir -p local-repository/binary # cd local-repository # cp /home/$USERNAME/mylive/cache/packages_bootstrap/* /media/disk/local-repository/binary # cp /home/$USERNAME/mylive/cache/packages_chroot/* /media/disk/local-repository/binary # cp /home/$USERNAME/mylive/cache/packages_binary/* /media/disk/local-repository/binary # dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
Il repository locale non verrà visto dal d-i, solo in un secondo momento si potrà accedervi, dopo averlo aggiunto in /etc/apt/sources.list.
Il file readme.txt contiene la linea (sostituire MOUNT-POINT-USB con il path dove viene montato il dispositivo usb) da aggiungere alla lista dei repository, come promemoria per quanto detto sopra.
# echo "deb file:///MOUNT-POINT-USB/local-repository binary/" > readme.txt
trivial repository [3]