Avere un disco esterno è un ottimo modo per dare vita ai dispositivi più vecchi o permetterti di far girare Linux su una macchina che non può (o non vuole) cambiare l'hard disk interno. Supponiamo che tu voglia usare Linux in un sistema dual boot, ma non hai spazio libero nel disco rigido del tuo computer. Una soluzione è usare una distribuzione Linux "attiva" come Knoppix, che può essere eseguita direttamente da un CD. Questo metodo funziona se usato occasionalmente, ma presenta una serie di svantaggi seri:
Servono comunque alcuni file dati per la permanenza. Se usi solo file molto piccoli, puoi usare dischetti floppy; Per file di medie dimensioni, una chiavetta USB può essere sufficiente, ma nessuna di esse è l'ideale.
Quando si usano CD "attivi", è molto difficile o addirittura impossibile installare le proprie applicazioni o personalizzarne quelle esistenti.
L'uso di una distribuzione attiva rallenta le prestazioni, soprattutto quando l'avvio rileva tutti i dispositivi - ma anche a tempo di esecuzione (perché tutto deve essere caricato da un CD, che di solito è molto più lento rispetto al caricamento da un hard disk).
Naturalmente, ci sono altre opzioni. Ad esempio, puoi acquistare altri dischi integrati e installarci Linux. Ma è comune che la macchina probabilmente non abbia spatii per dischi disponibili (ancora di più per i portatili, che di solito permettono solo un hard disk interno).
In alternativa, puoi usare un disco più grande invece di quello attuale e installare Linux nello spazio extra che ne hai. Tuttavia, questa è un'opzione che richiede tempo perché richiede di reinstallare il sistema operativo esistente sul nuovo disco, reinstallare e riconfigurare tutte le applicazioni e ripristinare tutti i dati.
Una soluzione migliore è comprare un hard disk esterno e installarci Linux. Questo ti permette di collegare dischi esterni solo quando vuoi usare Linux senza cambiare hardware e software esistenti.
Opzioni di trasmissione rimovibile
La gamma di dispositivi mobili in grado di installare Linux va da unità floppy a dispositivi USB flash, hard disk USB/FireWire e altro ancora.
Sebbene sia vero che Linux possa essere installato in dispositivi di piccola capacità come floppy disk da 1,44MB o dischi USB da 32MB, questi sono spesso (necessariamente) distribuzioni specializzate ridotte, ad esempio, per salvare installazioni danneggiate.
Tuttavia, gli hard disk esterni offrono la maggiore flessibilità per una distribuzione Linux generica a un costo ragionevole.
I dischi esterni provengono da molti produttori diversi (Maxtor, Western Digital, ecc.) e possono essere disponibili in diverse dimensioni. Questi dischi contengono tutti una scatola esterna che contiene unità IDE standard da 3-1/2" o 2-1/2". Questi dischi sono solitamente collegati al computer tramite USB o IEEE1394 (FireWire).
Esistono due versioni principali della USB, 1.1 e 2.0. La versione 1.1 ha una velocità massima di trasferimento di 12 Mbit/s (megabit al secondo), mentre la versione 2.0 supporta velocità di trasferimento fino a 480 Mbit/s. Mentre la maggior parte dei dischi compatibili con la 2.0 è retrocompatibile con la 1.1, in generale è meglio evitare la 1.1 a meno che tu non abbia altra scelta (perché è più lenta).
Lo standard FireWire definisce anche molte velocità possibili, ma in realtà, ogni volta che si parla di FireWire, si intende "FireWire400", che supporta trasmissioni fino a 400 Mbit/s.
In termini di velocità, non c'è molta differenza tra USB 2.0 e FireWire: mentre USB 2.0 riporta velocità più elevate, in realtà sono simili a causa delle differenze. Se il tuo computer ha entrambi, potrebbe essere meglio usare USB invece di FireWire (spiegherò il motivo più avanti), ma se hai solo FireWire, ovviamente puoi scegliere solo FireWire. Per la massima flessibilità, scegli tra un gran numero di unità che supportano USB 2.0 e FireWire (ad esempio, quella che userò più avanti in questo articolo).
Le schede FireWire e USB 2.0 sono economiche per computer che non hanno le porte richieste, PCI (per desktop) e PCMCIA (per laptop): ad esempio, la scheda PCMCIA FireWire che ho usato più avanti in questo articolo costava circa 10GBP (meno di 20$).
Per concludere questo articolo, ho acquistato una scatola per disco esterno da 5-1/4". Si tratta di un pendente molto flessibile che non include nessun disco e può entrare in qualsiasi dispositivo IDE standard, inclusi hard disk da 3-1/2" e dispositivi IDE da 5-1/4" come i dischi CD-RW/DVD-RW. Il contenitore ha connettività USB 2.0 e FireWire.
Per collegare il platter box al mio laptop IBM Thinkpad T30, ho anche acquistato una scheda PCMCIA FireWire (la porta USB integrata supporta solo USB 1.1).
Sia la cartuccia che la scheda FireWire sono più economiche (rispettivamente 50GBP e 10GBP).
Per test, ho collegato il decoder a piatti con il disco IDE da 13GB da 3-1/2" che avevo preparato - in uso reale comprerei dischi di capacità maggiore, che ora sono anch'essi molto economici (circa 50GBP per GB!). )
Supporto Linux
Come ci si potrebbe aspettare, il supporto Linux per questi vassoi è davvero buono. Qualsiasi dispositivo che aderisca allo standard SBP (Serial Bus Protocol) per "dispositivi ad alto volume" può essere facilmente utilizzato con Linux.
In generale, per abilitare il supporto a questi dispositivi, il kernel deve supportare molte cose (sia compilate direttamente che tramite moduli).
Per entrambi i dispositivi USB e FireWire, il supporto ai dispositivi SBP è implementato tramite emulazione SCSI - cioè i dispositivi vengono visualizzati su Linux come se fossero dischi SCSI. Questo è un modo comune per astrarre i dispositivi di archiviazione in Linux (ad esempio, i CD IDE o i lettori DVD sono comunemente collegati tramite emulazione SCSI). Pertanto, è necessario il seguente supporto del kernel:
* Supporto SCSI
* Simulazione SCSI
* Supporto per disco SCSI
Inoltre, a seconda del metodo di connessione, può essere necessario il seguente supporto:
Per FireWire:
IEEE1394 supporto
OHCI1394 supporto
RAW1394 supporto
SBP-2 supportato
Per USB:
(Host) Supporto USB
Supporto OHCI
Supporto UHCI
Supporto per la memoria di massa USB
Ovviamente, devi supportare anche altri hardware (scheda grafica, ecc.) in modo completamente normale e, a seconda della tua situazione hardware reale, potresti aver bisogno di altri moduli.
Ad esempio, uso una scheda FireWire PCMCIA (cardbus), quindi devo aggiungere:
Supporto PCMCIA
Supporto per cartone
Installazione
Ora che abbiamo un dispositivo esterno, inizieremo a installare Linux su di esso.
Il modo più semplice per installare Linux al momento (secondo me, ovviamente) è collegare tutto l'hardware (qui, questo include collegare la scheda PCMCIA FireWire, collegare il cavo FireWire alla scheda PCMCIA e al disco, e accendere l'interruttore di alimentazione del disco); Poi avvia il computer con il CD di installazione della distribuzione scelta.
La distribuzione che ho scelto è stata Gentoo (vedi i riferimenti per i link correlati), quindi ho usato l'ultimo Live CD "Universal" x86 (2004.1). Altre distribuzioni dovrebbero richiedere più o meno passaggi rispetto a quelli descritti qui.
Una volta avviato con il CD di installazione, dovrebbe aver riconosciuto il tuo disco se sei fortunato. Il disco dovrebbe apparire come disco sotto /dev/sdX, dove X è una lettera minuscola che inizia con "a". Nel mio sistema, il disco esterno viene rilevato come /dev/sda, ma se hai altri dischi SCSI (dischi SCSI simulati), questo cambia; In tal caso, potrebbe essere /dev/sdb o qualche altra lettera. Se il disco non viene rilevato automaticamente, potrebbero essere necessari ulteriori passaggi - ad esempio, potresti dover abilitare FireWire o PCMCIA tramite l'opzione di avvio, oppure potresti dover caricare manualmente alcuni moduli kernel o qualcosa di simile (vedi il riferimento per un link alla guida alla risoluzione dei problemi).
Una volta identificato il disco, dovrebbe effettivamente funzionare come un hard disk interno per il resto dell'installazione da considerare; Quindi dovresti poterlo partizionare quando serve e installare Linux come al solito.
Un avvertimento, però: fai attenzione quando decidi dove installare il bootloader (di solito GRUB o LILO) - ti consiglio di non installarlo in un Master Boot Record (MBR), che di solito è il predefinito. Invece, dovrebbe essere installata nella partizione root (o partizione di avvio, se si utilizza un bootloader separato) del disco esterno.
Ora che abbiamo Linux installato nel dispositivo, avviiamo Linux. Ci sono alcuni consigli per partire da qui.
Guida
Prima di discutere dell'avvio di un nuovo disco, ci sono alcune teorie sul bootloader da comprendere.
Il bootloader viene solitamente installato nel MBR del primo hard disk del computer. Quando viene attivato il bootloader (il BIOS esegue automaticamente il codice nel MBR), di solito viene visualizzato un menu del sistema operativo che può avviare. Seleziona un dato avvio del sistema operativo.
Ci sono due cose da notare su questo scenario:
* Menu di selezione del sistema operativo (di solito) caricato dal disco.
* Per avviare il sistema operativo, il bootloader deve leggere il kernel corrispondente dal disco.
Poiché quanto sopra avviene prima che il sistema operativo venga caricato, significa che tutte le letture su disco devono avvenire nel modo in cui vengono effettuate le chiamate al BIOS. Questo comporta problemi seri: cioè, per avviare direttamente il disco, il BIOS deve supportare dischi collegati tramite FireWire o USB. Questo può spesso essere visto come un'opzione del BIOS per avviare da questi tipi di dischi. In effetti, il supporto al BIOS FireWire è attualmente raro, ma il supporto USB sta diventando piuttosto comune. Quindi, se usi USB in un computer relativamente nuovo, dovresti riuscire ad avviare il disco direttamente su Linux.
Dopo aver installato GRUB nel MBR di un disco esterno, posso avviare direttamente il disco quando sono collegato via USB. Durante l'avvio, il disco collegato entra semplicemente nel programma di configurazione del BIOS. Il disco esterno apparirà come un hard disk normale: sposta il disco in modo che preceda il disco interno nell'ordine di avvio.
Posso anche installare il bootloader nel MBR del disco interno e usarlo per avviare la chiavetta USB (a questo punto appare come HD1 in GRUB in GRUB). Se usi FireWire, c'è la possibilità che il BIOS non possa avviare direttamente il disco e richieda alcune azioni aggiuntive.
Per fortuna, grazie alla flessibilità di Linux, se non puoi avviare direttamente (con una scheda PCMCIA FireWire, è sicuramente il mio caso!). ), ci saranno soluzioni abbastanza semplici. I primi passaggi di avvio possono essere eseguiti da un dispositivo supportato come un'unità floppy disk, un CD, una chiavetta USB o una piccola partizione sull'unità primaria, e successivamente ulteriori operazioni possono essere eseguite utilizzando l'unità esterna.
Crea un'immagine di avvio
L'bootstrapping può essere effettuato usando due metodi:
* Guida a uno stadio
Il kernel avvia, installa il filesystem root e continua con l'inizializzazione chiamando uno script di inizializzazione (di solito /sbin/init).
* Bootstrap a due stadi (iniziato)
Il kernel avvia, installa il disco RAM iniziale (initrd) ed esegue ulteriori inizializzazioni personalizzabili, e poi installare il filesystem root e procedere con l'inizializzazione (di solito anche chiamando /sbin/init) Entrambi i metodi hanno i loro vantaggi e svantaggi.
Una fase di guida
Per poter usare l'avvio a uno stadio, dobbiamo costruire un kernel che abbia tutti i driver necessari per installare il file system root integrato
|