Il modo di gran lunga più semplice per installare Debian GNU/Linux è da una
serie di CD Debian originali (rif. pagina dei distributori di
CD
). Potete anche scaricare le immagini dei CD dal server Debian e
crearveli da soli, se avete una connessione veloce e un masterizzatore. Se
avete una serie di CD Debian e la vostra macchina è avviabile da CD, potete
saltare alla sezione Fare il boot
da un CD-ROM, Sezione 5.2. È stato fatto un grosso lavoro per
assicurare che i file necessari nella maggior parte dei casi siano presenti sui
CD.
Se avete una serie dei CD ma la vostra macchina non supporta il boot da CD, potete usare una strategia alternativa (dischetti, disco fisso o boot via rete) per il boot dell'installer. Potete comunque trovare sui CD i file di cui avrete bisogno per fare il boot con altri mezzi. L'archivio Debian accessibile via rete e i CD sono organizzati allo stesso modo, perciò, quando più avanti verranno indicati i percorsi dei file dell'archivio, li potrete trovare nelle stesse directory e sottodirectory sui vostri CD.
Una volta avviato, l'installer sarà in grado di ottenere tutti gli altri file di cui ha bisogno dai CD.
Se non avete i CD, allora dovrete scaricare i file dell'installer di sistema e collocarli sul vostro disco fisso, su dischetti o su un elaboratore connesso al vostro, in modo che possano essere usati per avviare l'installer.
Quando scaricate dei file da un mirror Debian, assicuratevi di farlo in
modalità binaria, non in modalità testo o automatica. È
importante replicare esattamente la struttura delle directory che trovate sul
mirror per creare un "sub-mirror" locale. Non è proprio necessario
farlo se piazzerete tutti i file dell'installazione su dischetti, tuttavia
rende più facile trovare i file quando ne avete bisogno. Dovreste far partire
la vostra struttura di directory locale al livello sotto
disks-arm
, per esempio:
current/sub-architecture/images-1.44/flavor/rescue.bin
Non c'è bisogno che scarichiate tutti i file presenti sotto tale livello, bastano quelli che vi servono davvero (scoprirete quali continuando a leggere). Semplicemente date alle directory gli stessi nomi che hanno sul mirror e mantenete i file nelle directory giuste.
Se la vostra macchina è configurata per decomprimere o decifrare automaticamente i file che scaricate, dovrete neutralizzare tale funzionalità quando scaricate i file del sistema d'installazione. Verranno decompressi al momento opportuno dall'installer. Decomprimerli nel vostro sistema attuale sarebbe uno spreco di tempo e spazio. Inoltre se gli archivi compressi originali vengono cancellati dal programma di decompressione non saranno disponibili più tardi, quando l'installer ne avrà bisogno.
I file di cui potrete aver bisogno ricadono in tre categorie:
rescue.bin
, linux.bin
e root.bin
)
rescue.bin
e drivers.tgz
)
basedebs.tar
)
Se l'elaboratore ha una connessione Ethernet funzionante e i driver della vostra scheda di rete sono tra quelli incorporati nel kernel dell'installazione, avrete bisogno dei soli file di avvio del sistema d'installazione. L'installer è in grado di installare via rete kernel e driver con molte delle schede Ethernet più comuni.
Se avete una scheda per la quale l'installer non ha il supporto incorporato, avrete bisogno sia dei file di avvio del sistema d'installazione che dei file di installazione del kernel e dei driver di periferica.
Se state installando su una macchina priva di connessione di rete, o se la connessione di rete è PPP (via modem), dovrete recuperare tutti e tre i tipi sopracitati di file prima di iniziare l'installazione.
Se non siete sicuri di quali file avete bisogno, intanto iniziate con i file di avvio del sistema d'installazione. Se il primo tentativo di configurare la rete con l'installer fallisse, vi basterà abbandonare l'installazione, procurarvi i file necessari e ricominciare.
Per l'installazione sulle famiglie di macchine ARM supportate è disponibile un solo kernel.
I siti dove potrete trovare i file d'installazione per ciascuna variante di arm sono elencati nell'Appendice e comprendono:
.../current/lart/images-1.44/rescue.bin
.../current/riscpc/images-1.44/rescue.bin
.../current/netwinder/images-1.44/rescue.bin
.../current/netwinder/images-1.44/root.bin
L'immagine del dischetto di recupero contiene un kernel Linux compresso per il
boot. Viene usato sia per il boot da dischetto (quando trasferito su un
dischetto) che come origine del kernel Linux quando lo si installa sul sistema.
linux.bin
è un binario del kernel non compresso. Viene usato per
avviare l'installer dal disco fisso o da CD-ROM e non è necessario per avviare
l'installer da dischetto.
Fate riferimento a Creare i dischetti dalle immagini, Sezione 4.3 per informazioni importanti sulla corretta creazione dei dischetti dalle loro immagini.
L'immagine del dischetto di root contiene un file system compresso su ramdisk che viene caricato in memoria una volta avviato l'installer.
I driver di periferica possono essere scaricati come una serie di immagini di
dischetti o come un archivio tar (drivers.tgz
). L'installer avrà
bisogno di accedere ai file dei driver durante l'installazione. Se avete una
partizione su disco o un elaboratore connesso in rete accessibile all'installer
(si veda più sotto) vi converrà usare l'archivio tar, più semplice da
maneggiare. I file delle immagini sono necessari solo se dovete proprio
installare i driver da dischetti.
Mentre scaricate i file, dovreste fare attenzione anche al tipo di file system su cui andate a copiarli, a meno che non intendiate usare i dischetti per il kernel e i driver. L'installer può leggere i file da vari tipi di file system, inclusi FAT, HFS, ext2fs e Minix. Se scaricate i file su un file system *nix, scegliete quelli più grandi possibili dall'archivio (non quelli spezzettati per i dischetti NdT).
L'installer RiscPC viene inizialmente avviato da RISC OS. Tutti i file necessari sono forniti in un unico archivio Zip.
I dischetti avviabili vengono comunemente usati per fare il boot dell'installer su macchine con un lettore per dischetti. Sulla maggior parte dei sistemi potrete usare i dischetti anche per l'installazione del kernel e dei suoi moduli. Il boot da dischetto non è supportato su ARM.
Le immagini di dischetto sono file che racchiudono i contenuti completi di un
dischetto in formato raw. Le immagini, ad esempio
rescue.bin
, non possono essere semplicemente copiate su dischetti.
È necessario un programma speciale per scriverle sui dischetti in modo
raw, dato che si tratta di rappresentazioni grezze del dischetto.
Serve quindi fare una copia per settori dei dati dal file al
dischetto.
Ci sono diverse tecniche per creare i dischetti a partire dalle immagini, a seconda della piattaforma. Questa sezione descrive come farlo sulle diverse piattaforme.
Indipendentemente dal metodo che userete per creare i dischetti, dovreste ricordarvi di far scattare la linguetta che blocca l'accesso in scrittura una volta finito il lavoro, per garantirvi che non vengano inavvertitamente sovrascritti.
Per scrivere su dischetti i file immagine probabilmente vi servirà avere accesso come root al sistema. Mettete un dischetto vuoto e non danneggiato nel lettore, quindi usate il comando:
dd if=file of=/dev/fd0 bs=1024 conv=sync ; sync
dove file è una delle immagini. /dev/fd0
è il nome
comunemente usato per il device dei dischetti, ma potrebbe essere diverso sulla
vostra workstation (su Solaris è /dev/fd/0
). Il comando potrebbe
restituire il prompt prima che Unix abbia finito la scrittura, quindi fate
attenzione alla spia d'uso sul lettore: assicuratevi che sia spenta e che il
dischetto non sia più in rotazione prima di rimuoverlo dal lettore. Su alcuni
sistemi dovrete lanciare un comando per espellere il dischetto dal lettore (su
Solaris usate eject
, consultate la pagina di man).
Alcuni sistemi tentano di montare in automatico un dischetto appena inserito
nel lettore. Potreste dover disabilitare tale funzionalità affinché il sistema
vi permetta di scrivere su un dischetto in modo raw. Sfortunatamente
i modi per farlo variano a seconda del sistema operativo. Su Solaris dovrete
aggirare l'ostacolo costituito dal Volume Management per ottenere accesso raw
al dischetto. Per prima cosa assicuratevi che il dischetto sia automontato
(usando volcheck
o il comando equivalente nel file manager).
Quindi usate dd
come nell'esempio riportato sopra, rimpiazzando
/dev/fd0
con /vol/rdsk/nome_dischetto
,
dove nome_dischetto è il nome dato al dischetto alla sua
formattazione (i dischetti senza nome di solito prendono il nome
unnamed_floppy
). Su altri sistemi, chiedete all'amministratore.
Se avete accesso a una macchina i386, potete usare uno dei programmi seguenti per copiare immagini su dischetti.
Sotto MS-DOS si possono usare FDVOL, WrtDsk o RaWrite3.
http://www.minix-vmd.org/pub/Minix-vmd/dosutil/
Per usare tali programmi, assicuratevi innanzitutto di aver fatto il boot in DOS, non è assolutamente garantito che funzionino correttamente da una finestra DOS sotto Windows o lanciandoli con un doppio clic da Windows Explorer. Per fare il boot in DOS, vi basterà premere F8 durante il boot.
NTRawrite è un tentativo di creare una versione aggiornata di Rawrite/Rawrite3 utilizzabile senza problemi sotto WinNT, Win2K e Win95/98.
http://sourceforge.net/projects/ntrawrite/
I messaggi visualizzati dal dischetto di recupero (prima del caricamento del
kernel) possono venir presentati nella vostra lingua madre. Per farlo, nel
caso non parliate inglese, dopo aver scritto l'immagine sul dischetto dovrete
copiarci gli appositi file dei messaggi ed un font. Per chi usa MS-DOS e
Windows c'è un file batch, setlang.bat
, nella directory
dosutils
, che lo fa. Andate nella directory (con cd
c:\debian\dosutils da un prompt dos) e date setlang
lang, dove lang è un codice di due lettere
minuscole per la vostra lingua, ad esempio setlang it per
l'italiano. Attualmente sono disponibili i seguenti codici:
ca cs da de eo es fi fr gl hr hu it ko ja pl pt ru sk sv tr zh_CN
Badate che le descrizioni in questo manuale danno per scontato che utilizziate un'installazione italiana, altrimenti il nome dei menu e dei pulsanti saranno diversi da ciò che vedrete effettivamente sullo schermo.
Se la vostra macchina è connessa a una rete locale, potrete effettuare il boot da un'altra macchina via rete, usando TFTP. Se avete intenzione di avviare il sistema d'installazione da un'altra macchina, i file di boot dovranno essere collocati in determinate posizioni su di essa e dovrà essere configurata per supportare il boot della vostra specifica macchina.
Dovrete configurare un server RARP, un server BOOTP o un server DHCP , come pure uno TFTP.
Il "Reverse Address Resolution Protocol" (RARP) costituisce un modo per dire al vostro client quale indirizzo IP usare. In alternativa potete servirvi del protocollo BOOTP. BOOTP è un protocollo IP che informa un host del suo indirizzo IP e di dove ottenere un'immagine di boot sulla rete. DHCP ("Dynamic Host Configuration Protocol") è un'estensione di BOOTP, più flessibile e compatibile all'indietro con quest'ultimo. Alcuni sistemi possono essere configurati solo via DHCP.
TFTP ("Trivial File Transfer Protocol") viene usato per passare l'immagine di boot al client. In teoria può venir usato un qualsiasi server che implementi tale protocollo, su qualsiasi piattaforma. Negli esempi di questa sezione forniremo i comandi per SunOS 4.x, SunOS 5.x (cioè Solaris) e GNU/Linux.
Per configurare RARP, dovete conoscere l'indirizzo Ethernet del client (cioè l'indirizzo MAC). Se non avete tale informazione, potete fare il boot nel modo "Rescue" (p.e. dal dischetto di recupero) e usare il comando /sbin/ifconfig eth0.
Sotto GNU/Linux avrete bisogno di riempire la tabella RARP del kernel. Per farlo date:
/sbin/rarp -s client-hostname client-enet-addr /usr/sbin/arp -s client-ip client-enet-addr
Se ottenete SIOCSRARP: Invalid argument dovete con ogni probabilità caricare il modulo rarp del kernel o ricompilare il kernel con il supporto RARP. Provate a dare modprobe rarp e poi ritentate con il comando rarp.
Sotto SunOS, dovete assicurarvi che l'indirizzo Ethernet hardware del client
sia elencato nel database "ethers" (tramite il file
/etc/ethers
o via NIS/NIS+) e nel database "hosts".
Quindi dovete far partire il demone RARP. In SunOS 4, come root date il
comando: /usr/etc/rarpd -a; in SunOS 5 date invece
/usr/sbin/rarpd -a.
Ci sono due server BOOTP disponibili per GNU/Linux, uno è bootpd CMU, l'altro è
in realtà un server DHCP, dhcpd ISC. Sono inclusi rispettivamente nei
pacchetti debian bootp
e dhcp
.
Per usare bootpd CMU, dovete prima decommentare (o aggiungere) la relativa riga
in /etc/inetd.conf
. Su Debian GNU/Linux potete dare
update-inetd --enable bootps, quindi /etc/init.d/inetd
reload per farlo. A parte ciò, la riga in questione dovrebbe essere una
cosa del genere:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Ora dovrete creare un file /etc/bootptab
. Questo file ha lo
stesso, ben noto e criptico, tipo di formato dei cari vecchi file BSD
printcap(5)
, termcap(5)
e disktab(5)
.
Consultate la pagina di man bootptab(5)
per maggiori informazioni.
Per usare bootpd CMU, avete bisogno si conoscere l'indirizzo hardware (MAC) del
client. Ecco un file /etc/bootptab
di esempio:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
Dovrete come minimo modificare l'opzione "ha", che specifica l'indirizzo hardware del client. L'opzione "bf" specifica il file che il client deve recuperare via TFTP. Consultate Disporre le immagini TFTP al loro posto, Sezione 4.4.5 per maggiori dettagli.
Per contrasto, configurare BOOTP con dhcpd
ISC è davvero semplice,
poiché esso tratta i client BOOTP come fossero dei clienti DHCP un po'
speciali. Alcune architetture richiedono una configurazione complessa per
avviare i client via BOOTP. Se è il vostro caso, leggete la sezione Configurare il server DHCP, Sezione
4.4.3. Altrimenti potrete cavarvela semplicemente aggiungendo la direttiva
allow bootp al blocco di configurazione per la sottorete cui
appartiene il client e riavviando dhcpd
con
/etc/init.d/dhcpd restart.
Alla stesura del documento, c'è un solo server DHCP libero, vale a dire
dhcpd
ISC. È disponibile in Debian GNU/Linux, nel
pacchetto dhcp
. Ecco un esempio, semplice, del suo file di
configurazione (di solito /etc/dhcpd.conf
):
option domain-name "esempio.com"; option domain-name-servers ns1.esempio.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "nome_del_server"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot/tftpboot.img"; server-name "nome_del_server"; next-server nome_del_server; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
In questo esempio c'è solo un server, "nome_del_server", che fa tutto il lavoro: DHCP, server, server TFTP e gateway di rete. Dovrete quasi sicuramente modificare le opzioni domain-name, come pure il nome del server e l'indirizzo hardware del client. L'opzione filename dovrebbe contenere il nome del file che verrà recuperato via TFTP. Una volta ritoccato il file di configurazione di dhcpd, riavviatelo con /etc/init.d/dhcpd restart.
Per poter utilizzare il server TFTP, dovrete per prima cosa assicurarvi che
tftpd
sia abilitato, di solito tramite la presenza della riga
seguente in /etc/inetd.conf
:
tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd /tftpboot
Date un'occhiata al file e annotatevi la directory usata come argomento di
in.tftpd
, ne avrete bisogno più avanti. L'argomento
-l abilita su alcune versioni di in.tftpd
la
registrazione di tutte le richieste nei log di sistema, cosa utile nella
diagnosi di eventuali errori nel boot. Se avete dovuto modificare
/etc/inetd.conf
, dovrete notificare l'avvenuta modifica del file
al processo inetd
in esecuzione. Su una macchina Debian eseguite
/etc/init.d/netbase reload (per potato/2.2 e sistemi più recenti
usate /etc/init.d/inetd reload). Su altre macchine scoprite l'ID
del processo inetd
ed eseguite kill -HUP
inetd-pid.
A questo punto, collocate l'immagine di boot TFTP che vi serve, secondo quanto
indicato in Descrizione dei file del
sistema di installazione, Sezione 11.2.3, nella directory appropriata per
tftpd
. In genere si tratterà di /tftpboot
. Dovrete
creare un link da tale file a quello che tftpd
userà per fare il
boot di un particolare client. Sfortunatamente il nome del file è deciso dal
client TFTP e non ci sono standard veri e propri.
Spesso il file che il client TFTP andrà a cercare sarà
ip-del-client-in-esadecimalearchitettura-del-client. Per calcolare
ip-del-client-in-esadecimale, prendete ciascun byte dell'indirizzo
IP del client e traducetelo in notazione esadecimale. Potete eventualmente
usare il programma bc
allo scopo. Per prima cosa date il comando
obase=16 per impostare l'output in esadecimale, quindi introducete
i singoli numeri che compongono l'IP del client uno alla volta. Per quanto
riguarda architettura-del-client, sperimentate alcuni valori.
Una volta determinato il nome, create il link in questo modo: ln /boot/tftpboot.img /boot/nome-del-file.
NOT YET WRITTEN
È prossimo a "Installazione TFTP per sistemi con poca memoria" perché rispetto a questo non volete più caricare il disco RAM ma fare il boot dal file system nfs-root appena creato. Dovete quindi rimpiazzare il link simbolico all'immagine tftpboot con un link simbolico all'immagine del kernel (p.e. linux-a.out). La mia esperienza di boot via rete è basata esclusivamente su RARP/TFTP, che richiede che tutti i demoni si trovino sullo stesso server (la workstation sparc invia una richiesta tftp al server in seguito all risposta che quest'ultimo ha dato a una sua richiesta rarp). In ogni caso, Linux supporta anche il protocollo BOOTP, ma non so come vada configurato :-(( Serve che sia documentato in questo manuale?
Per fare il boot della macchina client, andate a Fare il boot da TFTP, Sezione 5.4.
Per installazioni multiple è possibile usare FAI
("Fully
Automatic Installation", Installazione Completamente Automatizzata). Il
pacchetto Debian fai
dev'essere installato su un elaboratore,
chiamato server di installazione. Indi tutti i client d'installazione
effettuano il boot tramite scheda di rete o dischetto e automaticamente
installano Debian sui dischi locali.
Installazione di Debian GNU/Linux 3.0 per ARM
versione 3.0.23, 16 May, 2002eugenia@linuxcare.com
frick@linux.it