<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/index.php?title=Linux_su_unita'_usb_nei_pc_con_bios_privi_di_%22boot_from_usb%22.&amp;feed=atom&amp;action=history</id>
		<title>Linux su unita' usb nei pc con bios privi di &quot;boot from usb&quot;. - Cronologia</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/index.php?title=Linux_su_unita'_usb_nei_pc_con_bios_privi_di_%22boot_from_usb%22.&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Linux_su_unita%27_usb_nei_pc_con_bios_privi_di_%22boot_from_usb%22.&amp;action=history"/>
		<updated>2013-05-21T11:18:21Z</updated>
		<subtitle>Cronologia della pagina su questo sito</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Linux_su_unita%27_usb_nei_pc_con_bios_privi_di_%22boot_from_usb%22.&amp;diff=4302&amp;oldid=prev</id>
		<title>Legionario il 11:15, 20 ott 2007</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Linux_su_unita%27_usb_nei_pc_con_bios_privi_di_%22boot_from_usb%22.&amp;diff=4302&amp;oldid=prev"/>
				<updated>2007-10-20T11:15:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Configurazione]]&lt;br /&gt;
&lt;br /&gt;
= Introduzione =&lt;br /&gt;
&lt;br /&gt;
Le istruzioni contenute in questo tutorial ci consentiranno di installare e di utilizzare una distribuzione Linux Slackware su una periferica usb anche se il nostro pc è privo del riconoscimento, in fase di boot, di tali unità. &lt;br /&gt;
&lt;br /&gt;
Può risultare utile nei seguenti casi:&lt;br /&gt;
&lt;br /&gt;
* computer piuttosto datati e privi di unità floppy;&lt;br /&gt;
&lt;br /&gt;
* computer aziendali sui quali è vietato montare sistemi operativi diversi da quelli pre-installati;&lt;br /&gt;
&lt;br /&gt;
* computer che perdono la garanzia se si modifica la tabella delle partizioni degli hard disk;&lt;br /&gt;
&lt;br /&gt;
* computer con hard disk pieni; &lt;br /&gt;
&lt;br /&gt;
* computer con settori dell'hard disk corrotto tranne quelli riservati al Master Boot Record (MBR);&lt;br /&gt;
&lt;br /&gt;
* nel caso si voglia utilizzare un'unità esterna per non rischiare di compromettere i dati dell'hard disk interno;&lt;br /&gt;
&lt;br /&gt;
* per avere comunque massima portabilità della propria linux box.&lt;br /&gt;
&lt;br /&gt;
Questo tutorial è stato testato su un hard disk esterno da 360Gb con una Slackware 12.0.&lt;br /&gt;
&lt;br /&gt;
= Requisiti =&lt;br /&gt;
&lt;br /&gt;
# Dvd o cd di installazione di Slackware (nel mio caso ho utilizzato la versione 12 ma vanno bene anche quelle precedenti)&lt;br /&gt;
# Periferica di archiviazione di massa usb - di seguito indicata come '''/dev/sda'''&lt;br /&gt;
# Hard disk interno con almeno il settore MBR funzionante (sto lavorando anche per una configurazione priva di hard disk interno) - di seguito indicato come '''/dev/hda'''&lt;br /&gt;
# Corno rosso e collana d'aglio al collo! :-)&lt;br /&gt;
&lt;br /&gt;
= Passaggi =&lt;br /&gt;
&lt;br /&gt;
# Installazione Slackware 12&lt;br /&gt;
# Ricompilazione kernel&lt;br /&gt;
# Creazione initial ram disk&lt;br /&gt;
# Modifica e caricamento lilo nell'mbr&lt;br /&gt;
&lt;br /&gt;
= Installazione =&lt;br /&gt;
&lt;br /&gt;
Avviare il sistema dal dvd della Slack12 e far partire il processo d'installazione nell'hard disk esterno (nel nostro caso effettueremo l'installazione nella partizione '''/dev/sda1''') con &lt;br /&gt;
 # setup /dev/sda1&lt;br /&gt;
&lt;br /&gt;
'''Importante:''' accertatevi che non vi sia nessun'altra unità usb attaccata al computer!&lt;br /&gt;
&lt;br /&gt;
= Ricompilazione kernel =&lt;br /&gt;
&lt;br /&gt;
Al termine dell'installazione riavviare il sistema dal dvd di slack e al prompt di root montare la partizione linux dell'HD usb:&lt;br /&gt;
 # mount -t ext3 /dev/sda1 /mnt -o rw&lt;br /&gt;
Se ricevete il seguente output&lt;br /&gt;
 # mount: special device /dev/sda1 does not exist&lt;br /&gt;
Vorrà dire che il sistema ancora non ha riconosciuto l'HD usb, per cui digitate&lt;br /&gt;
 # rescan-scsi-bus -l&lt;br /&gt;
e ripetete il montaggio. Se ancora non avete risolto inviate il seguente comando ripetutamente finchè non visualizzerete l'unità esterna:&lt;br /&gt;
 # fdisk -l&lt;br /&gt;
Solo la seconda volta sono riuscito a visualizzare la periferica esterna. La prima visualizzavo questo:&lt;br /&gt;
 Disk /dev/hda: 160.0 GB, 160000000000 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 19452 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
 /dev/hda1               1           7       56196   de  Dell Utility&lt;br /&gt;
 /dev/hda2   *           8       19452   156191962+   7  HPFS/NTFS&lt;br /&gt;
&lt;br /&gt;
La seconda finalmente è magicamente comparso il mio hd esterno:&lt;br /&gt;
 Disk /dev/hda: 160.0 GB, 160000000000 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 19452 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
 /dev/hda1               1           7       56196   de  Dell Utility&lt;br /&gt;
 /dev/hda2   *           8       19452   156191962+   7  HPFS/NTFS&lt;br /&gt;
 Disk /dev/sda: 360.0 GB, 360080695296 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 43777 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
 /dev/sda1   *           1       12450   100004593+  83  Linux&lt;br /&gt;
 /dev/sda2           12451       12575     1004062+  82  Linux swap&lt;br /&gt;
 /dev/sda3           12576       43777   250630065    c  W95 FAT32 (LBA)&lt;br /&gt;
&lt;br /&gt;
Quindi ripetete il montaggio di cui sopra e fate un ''chroot'' in ''/mnt''&lt;br /&gt;
 # chroot /mnt&lt;br /&gt;
Procedete alla ricompilazione del kernel (per i dettagli vedi: [[Compilazione e ricompilazione Kernel su Slackware]]).&lt;br /&gt;
&lt;br /&gt;
'''N.B.:''' attivate come built-in il file system della partizione linux. Se avete l'ext3, come nel mio caso, attivate anche il supporto per jbd!&lt;br /&gt;
&lt;br /&gt;
'''N.B.:''' il CONFIG_PARTITION_ADVANCED potrebbe darvi dei problemi, per cui se proprio non potete farne a meno (nella maggioranza dei casi non serve) disattivatelo!&lt;br /&gt;
&lt;br /&gt;
= Creazione initial ram disk =&lt;br /&gt;
&lt;br /&gt;
L'initial RAM disk è un file system root temporaneo che viene caricato dal kernel prima che il &amp;quot;reale&amp;quot; root file system sia montato. Permette il montaggio di quest'ultimo grazie al precaricamento in memoria di alcuni eseguibili e drivers (moduli). Nel nostro caso serve a far riconoscere il file system e, prima di tutto, la periferica usb al sistema, in modo tale da aggirare il problema del mancato riconoscimento della stessa da parte del bios. Procediamo come segue.&lt;br /&gt;
&lt;br /&gt;
Entriamo in /boot e creiamo l'initrd con mkinitrd:&lt;br /&gt;
 /boot# mkinitrd -c -k 2.6.21.5 -m jbd:ext3:usbcore:scsi:ehci:uchi -f ext3 -r /dev/sda1&lt;br /&gt;
'''N.B.:'''l'esempio relativo a ''mkinitrd'' fatto da Patrick nel file ''README.initrd'' è errato perchè non vi ha incluso ''jbd''.&lt;br /&gt;
&lt;br /&gt;
Ecco il significato delle singole opzioni di mkinitrd:&lt;br /&gt;
; -c : cancella il ramo da precedenti eventuali creazioni dell'initrd.&lt;br /&gt;
; -k 2.6.21.5 : specifica il kernel. '''N.B.:''' i più attenti potrebbero notare una differenza tra la versione del kernel appena specificato e quello risultante da &amp;quot;uname -r&amp;quot; (2.6.21.5-smp). Non fatevi ingannare perchè quest'ultima versione del kernel è quella caricata dal dvd di slack in fase di boot, mentre voi dovete specificare quella che avete effettivamente installato (2.6.21.5).&lt;br /&gt;
; -m : specifica i moduli da precaricare in fase di boot: '''ext3''' non può '''MAI''' fare a meno di '''jbd'''; '''scsi''' perchè le unità esterne vengono viste come periferiche scsi; '''usbcore''' per il riconoscimento del bus usb; '''ehci''' e '''uchi''' servono per il riconoscimento delle porte usb 2.0. '''N.B.:''' se avete solo porte usb 1.1 dovete sostituire ''ehci'' con '''ohci''', mentre se avete '''anche''' le porte usb 1.1 dovete aggiungere '''ohci''';&lt;br /&gt;
; -f : specifica il file system.&lt;br /&gt;
; -r : specifica la root.&lt;br /&gt;
&lt;br /&gt;
Ora in ''/boot'' entrate nella directory appena creata '''initrd-tree'''. Ignorate il contenuto di ''initrd-tree/lib/modules/2.6.21.5'' e del file ''load_kernel_modules'', potrebbero trarvi in inganno.&lt;br /&gt;
&lt;br /&gt;
Apriamo il file '''init''' e inseriamo una pausa di 10 secondi (meglio stare larghi con i tempi, tanto potete modificarla in qualsiasi momento) necessaria per dare tempo al sistema di riconoscere con calma l'unità usb e caricarne i relativi moduli. Questo delay è, nella maggior parte dei casi, '''indispensabile!!'''&lt;br /&gt;
&lt;br /&gt;
 /boot/initrd-tree# vi init&lt;br /&gt;
inseriamo uno '''sleep 10''' esattamente in questo punto:&lt;br /&gt;
 .........&lt;br /&gt;
 .........&lt;br /&gt;
 #            There's an example in here.  To actually use it, you'll&lt;br /&gt;
 #            need to make it executable:&lt;br /&gt;
 #&lt;br /&gt;
 #                chmod 755 load_kernel_modules&lt;br /&gt;
 echo &amp;quot;Delay per il riconoscimento dell'unita' usb&amp;quot;&lt;br /&gt;
 '''sleep 10'''&lt;br /&gt;
 INITRD=`cat /initrd-name`&lt;br /&gt;
 ROOTDEV=`cat /rootdev`&lt;br /&gt;
 ROOTFS=`cat /rootfs`&lt;br /&gt;
 LUKSDEV=`cat /luksdev`&lt;br /&gt;
 .........&lt;br /&gt;
 .........&lt;br /&gt;
Salvate, uscite da ''vi'' e tornate in ''/boot'', quindi salvate la modifica dell'initrd dando semplicemente '''mkinitrd''' senza opzioni:&lt;br /&gt;
 /boot/initrd-tree# cd ..&lt;br /&gt;
 /boot# '''mkinitrd'''&lt;br /&gt;
 1477 blocks&lt;br /&gt;
 /boot/initrd.gz created.&lt;br /&gt;
 Be sure to run lilo again if you use it.&lt;br /&gt;
&lt;br /&gt;
= Modifica e caricamento di lilo nell'MBR =&lt;br /&gt;
&lt;br /&gt;
A questo punto non vi resta che modificare il ''lilo.conf'', specificando l'hard disk interno sul cui MBR vogliamo installare lilo (nel mio caso '''dev/hda''') e inserendo il path dell'immagine di ''initrd'' (deve essere messo esattamente nel punto in cui l'ho messo io). Riporto qui di seguito il mio ''lilo.conf''&lt;br /&gt;
 /boot# vi /etc/lilo.conf&lt;br /&gt;
&lt;br /&gt;
 # LILO configuration file&lt;br /&gt;
 # generated by 'liloconfig'&lt;br /&gt;
 #&lt;br /&gt;
 # Start LILO global section&lt;br /&gt;
 boot = '''/dev/hda'''&lt;br /&gt;
 prompt&lt;br /&gt;
 lba32&lt;br /&gt;
 menu-title = &amp;quot;Legionario di Fiume&amp;quot;&lt;br /&gt;
 message=/boot/messaggio.txt&lt;br /&gt;
 vga = 790&lt;br /&gt;
 image = /boot/vmlinuz&lt;br /&gt;
  '''initrd = /boot/initrd.gz'''&lt;br /&gt;
  root = /dev/sda1&lt;br /&gt;
  label = slack12&lt;br /&gt;
  read-only  # Partitions should be mounted read-only for checking&lt;br /&gt;
 # Linux bootable partition config ends&lt;br /&gt;
&lt;br /&gt;
Salvate le modifiche e caricate ''lilo'' nell'MBR:&lt;br /&gt;
 /boot# lilo -v&lt;br /&gt;
Ignorate i 'warnings' che vi compaiono nell'output.&lt;br /&gt;
&lt;br /&gt;
Se avete messo aglio a sufficienza intorno al collo, al prossimo riavvio del sistema avrete la vostra cara Slack perfettamente funzionante sulla vostra unità usb! &lt;br /&gt;
&lt;br /&gt;
= Conclusioni =&lt;br /&gt;
&lt;br /&gt;
Questa guida non ha la presunzione di essere un punto di riferimento, ma, più semplicemente, ho riportato in essa la mia esperienza diretta.&lt;br /&gt;
&lt;br /&gt;
Si ringrazia la comunità di Slacky.eu e, in particolare, ''luci0'' per la sua disponibilità.&lt;br /&gt;
&lt;br /&gt;
''- Alessio Grillo''&lt;/div&gt;</summary>
		<author><name>Legionario</name></author>	</entry>

	</feed>