Introduzione È possibile installare Ubuntu su una periferica USB (pen drive, hard disk esterno, etc) in modalità persistente. Ciò significa che sarà possibile avviare il sistema da tale periferica mantenendo le personalizzazioni come il layout della tastiera, le preferenze e i pacchetti installati. Occorre un dispositivo USB da almeno 1 GiB di memoria: 700 MiB verranno occupati dai file necessari al funzionamento del sistema, lo spazio restante rimarrà a disposizione dell'utente. Preparativi La memoria del dispositivo scelto per ospitare Ubuntu deve avere dimensioni almeno pari a 1 GiB. Prima di procedere con le seguenti istruzioni è consigliato eseguire un backup di tutti i dati contenuti in esso. Identificazione della periferica Innanzitutto è necessario conoscere il nome assegnato dal sistema alla periferica. Aprire una finestra di terminale e digitare il seguente comando: sudo fdisk -l Nei seguenti esempi verrà utilizzato il dispositivo generico /dev/sda1. Sostituire tale dicitura con quella corretta per il proprio sistema. Partizionamento Una volta identificata la periferica è necessario creare al suo interno due partizioni: la prima, necessaria al corretto funzionamento del sistema, dovrà avere delle dimensioni pari almeno a 700 MiB, la seconda, invece, potrà tranquillamente occupare tutto il resto dello spazio disponibile. Aprire un terminale e digitare il seguente comando: sudo umount /dev/sda1 Per eseguire fdisk sul dispositivo digitare il seguente comando: sudo fdisk /dev/sda Dovrebbe apparire la riga di comando di fdisk. Per visualizzare la tabella delle partizioni corrente è utile premere il tasto «p»; prima di proseguire è necessario rimuovere tutte le partizioni presenti nella periferica: a tale scopo è sufficiente premere il tasto «d» seguito dal numero della partizione da eliminare. Una volta cancellate le vecchie partizioni si può procedere con la creazione delle nuove: premere «n» per creare una nuova partizione, dunque «p» per renderla primaria, infine non resta che per assegnarle il numero 1, premere «Invio» per accettare il cilindro di partenza proposto e digitare le dimensioni desiderate. Per ottenere una partizione di circa 700 MiB, indicare la dimensione con «+700M». Per rendere la partizione avviabile è sufficiente premere «a». Per assegnarle il filesystem FAT, invece, va premuto «t» dunque digitare 1 per selezionare la partizione e poi digitare 6 per creare la partizione in FAT16. Per creare la seconda partizione le operazioni sono simili alle precedenti: digitare «p» per una nuova partizione primaria, assegnarle il numero 2, premere «Invio» per accettare il cilindro di partenza proposto, infine premere ancora «Invio» per accettare il cilindro di fine proposto. Uscire e salvare con «w». Per controllare che tutto sia andato a buon fine è sufficiente digitare il seguente comando: sudo fdisk -l Il comando dovrebbe mostrare le due partizioni appena create, la prima, inoltre, dovrebbe essere contrassegnata da un asterisco. Verificare di avere il pacchetto mbr installato sul proprio pc, se così non fosse installarlo con sudo apt-get install mbr Installare inoltre il pacchetto mtools syslinux con sudo apt-get install mtools syslinux Creazione dell' ambiente di lavoro per lo script persist.sh Creare nella propria ~ la dir ubuntu o kubuntu o xubuntu a seconda della distribuzione che si vuole installare mkdir ~/ubuntu copiare il file syslinux.cfg per la vostra distribuzione nella dir ubuntu syslinux.cfg "PER UBUNTU" ---------------------------------------------------------------------------------------------------------------------------- DEFAULT custom GFXBOOT bootlogo GFXBOOT-ACCESS-OPTIONS v1 v2 m1 APPEND preseed/file=preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz root=/dev/ram quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it console-setup/variantcode=nodeadkeys -- LABEL custom menu label ^Avvia ubuntu in modo persistente kernel /casper/vmlinuz append preseed/file=preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.gz root=/dev/ram rw quiet splash locale=it_IT -- LABEL live menu label ^Avvia o installa ubuntu kernel /casper/vmlinuz append preseed/file=preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL xforcevesa menu label ^Avvia ubuntu in modalità grafica sicura kernel /casper/vmlinuz append file=/cdrom/preseed/ubuntu.seed boot=casper xforcevesa initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- #LABEL driverupdates # menu label Install with driver ^update CD # kernel /casper/vmlinuz # append file=/cdrom/preseed/ubuntu.seed boot=casper debian-installer/driver-update=true initrd=/casper/initrd.gz quiet splash -- LABEL oem menu label ^Installazione OEM ( per assemblatori ) kernel /casper/vmlinuz append file=/cdrom/preseed/ubuntu.seed boot=casper oem-config/enable=true initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL check menu label ^Controlla difetti sul dispositivo kernel /casper/vmlinuz append boot=casper integrity-check initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL memtest menu label ^Esegui il test della memoria RAM kernel /install/mt86plus append - LABEL hd menu label ^Boot dal primo Hard Disk localboot 0x80 append - DISPLAY isolinux.txt TIMEOUT 300 PROMPT 1 F1 f1.txt F2 f2.txt F3 f3.txt F4 f4.txt F5 f5.txt F6 f6.txt F7 f7.txt F8 f8.txt F9 f9.txt F0 f10.txt ---------------------------------------------------------------------------------------------------------------------------- syslinux.cfg "PER KUBUNTU" ---------------------------------------------------------------------------------------------------------------------------- DEFAULT custom GFXBOOT bootlogo GFXBOOT-ACCESS-OPTIONS v1 v2 m1 APPEND preseed/file=preseed/kubuntu.seed boot=casper initrd=/casper/initrd.gz root=/dev/ram quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it console-setup/variantcode=nodeadkeys -- LABEL custom menu label ^Avvia kubuntu in modo persistente kernel /casper/vmlinuz append preseed/file=preseed/kubuntu.seed boot=casper persistent initrd=/casper/initrd.gz root=/dev/ram rw quiet splash locale=it_IT -- LABEL live menu label ^Avvia o installa kubuntu kernel /casper/vmlinuz append preseed/file=preseed/kubuntu.seed boot=casper initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL xforcevesa menu label ^Avvia kubuntu in modalità grafica sicura kernel /casper/vmlinuz append file=/cdrom/preseed/kubuntu.seed boot=casper xforcevesa initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- #LABEL driverupdates # menu label Install with driver ^update CD # kernel /casper/vmlinuz # append file=/cdrom/preseed/kubuntu.seed boot=casper debian-installer/driver-update=true initrd=/casper/initrd.gz quiet splash -- LABEL oem menu label ^Installazione OEM ( per assemblatori ) kernel /casper/vmlinuz append file=/cdrom/preseed/kubuntu.seed boot=casper oem-config/enable=true initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL check menu label ^Controlla difetti sul dispositivo kernel /casper/vmlinuz append boot=casper integrity-check initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL memtest menu label ^Esegui il test della memoria RAM kernel /install/mt86plus append - LABEL hd menu label ^Boot dal primo Hard Disk localboot 0x80 append - DISPLAY isolinux.txt TIMEOUT 300 PROMPT 1 F1 f1.txt F2 f2.txt F3 f3.txt F4 f4.txt F5 f5.txt F6 f6.txt F7 f7.txt F8 f8.txt F9 f9.txt F0 f10.txt ---------------------------------------------------------------------------------------------------------------------------- syslinux.cfg "PER XUBUNTU" ---------------------------------------------------------------------------------------------------------------------------- DEFAULT custom GFXBOOT bootlogo GFXBOOT-ACCESS-OPTIONS v1 v2 m1 APPEND preseed/file=preseed/xubuntu.seed boot=casper initrd=/casper/initrd.gz root=/dev/ram quiet splash locale=it_IT bootkbd=it console-setup/layoutcode=it console-setup/variantcode=nodeadkeys -- LABEL custom menu label ^Avvia xubuntu in modo persistente kernel /casper/vmlinuz append preseed/file=preseed/xubuntu.seed boot=casper persistent initrd=/casper/initrd.gz root=/dev/ram rw quiet splash locale=it_IT -- LABEL live menu label ^Avvia o installa xubuntu kernel /casper/vmlinuz append preseed/file=preseed/xubuntu.seed boot=casper initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL xforcevesa menu label ^Avvia xubuntu in modalità grafica sicura kernel /casper/vmlinuz append file=/cdrom/preseed/xubuntu.seed boot=casper xforcevesa initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- #LABEL driverupdates # menu label Install with driver ^update CD # kernel /casper/vmlinuz # append file=/cdrom/preseed/xubuntu.seed boot=casper debian-installer/driver-update=true initrd=/casper/initrd.gz quiet splash -- LABEL oem menu label ^Installazione OEM ( per assemblatori ) kernel /casper/vmlinuz append file=/cdrom/preseed/xubuntu.seed boot=casper oem-config/enable=true initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL check menu label ^Controlla difetti sul dispositivo kernel /casper/vmlinuz append boot=casper integrity-check initrd=/casper/initrd.gz root=/dev/ram rw quiet splash -- LABEL memtest menu label ^Esegui il test della memoria RAM kernel /install/mt86plus append - LABEL hd menu label ^Boot dal primo Hard Disk localboot 0x80 append - DISPLAY isolinux.txt TIMEOUT 300 PROMPT 1 F1 f1.txt F2 f2.txt F3 f3.txt F4 f4.txt F5 f5.txt F6 f6.txt F7 f7.txt F8 f8.txt F9 f9.txt F0 f10.txt ---------------------------------------------------------------------------------------------------------------------------- Copiare lo script persist.sh per la vostra distribuzione nella dir ubuntu (lo script persist.sh va modificato e adattato in base alle proprie impostazioni, ad esempio bisogna modificare il nome del device in base a come viene riconosciuto da fdisk -l quindi se il il dispositivo usb viene rilevato come /dev/sdb1 e /dev/sdb2, lo script va modificato nei punti giusti. Inoltre andrà modificato il nome del file .iso a seconda della distribuzione scelta e il vostro nome utente nelle righe in cui trovate /home/utente. Rendere lo script eseguibile sudo chmod +x persist.sh script persist.sh GENERICO ---------------------------------------------------------------------------------------------------------------------------- #!/bin/sh sudo install-mbr /dev/sdb ; sudo umount /dev/sdb1 ; sudo umount /dev/sdb2 ; sudo mkfs.vfat -F 32 -n ubuntu /dev/sdb1 ; sudo mkfs.ext3 -b 4096 -L casper-rw /dev/sdb2 ; sudo mkdir /media/ubuntu ; sudo mkdir /media/casper-rw ; sudo mount -t vfat /dev/sdb1 /media/ubuntu ; sudo mount -t ext3 /dev/sdb2 /media/casper-rw ; cd /home/utente/ubuntu ; sleep 10 ; mkdir ubuntuCD ; sleep 15 ; sudo mount ubuntu-7.04-desktop-i386.iso ubuntuCD -o loop ; cd ubuntuCD ; cp -rf casper /media/ubuntu ; cp -rf disctree /media/ubuntu ; cp -rf dists /media/ubuntu ; cp -rf install /media/ubuntu ; cp -rf pics /media/ubuntu ; cp -rf pool /media/ubuntu ; cp -rf preseed /media/ubuntu ; cp -rf .disk /media/ubuntu ; cp isolinux/* /media/ubuntu ; cp md5sum.txt /media/ubuntu ; cp README.diskdefines /media/ubuntu ; cp ubuntu.ico /media/ubuntu ; cp casper/vmlinuz /media/ubuntu ; cp casper/initrd.gz /media/ubuntu ; cp install/mt86plus /media/ubuntu ; cd /media/ubuntu ; rm isolinux.cfg ; sleep 10 ; cp /home/utente/ubuntu/syslinux.cfg /media/ubuntu ; cd /home ; sudo umount /home/utente/ubuntu/ubuntuCD sudo umount /dev/sdb1 ; sleep 10 ; syslinux /dev/sdb1 ; sleep 10 ; sudo umount /dev/sdb2 ; sudo rm -rf /media/ubuntu ; sudo rm -rf /media/casper-rw ; rm -rf /home/utente/ubuntu/ubuntuCD ; exit 0 ----------------------------------------------------------------------------------------------------------------------------- Lanciare lo script sudo ./persist.sh