[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ successivo ]

Installazione di Debian GNU/Linux 3.0 per ARM
Capitolo 4 - Procurarsi i mezzi per l'installazione del sistema


4.1 Le serie di CD originali Debian GNU/Linux

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.


4.2 Scaricare i file dai mirror Debian

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.


4.2.1 Opzioni di installazione

I file di cui potrete aver bisogno ricadono in tre categorie:

  1. File necessari ad avviare il sistema d'installazione (per esempio, rescue.bin, linux.bin e root.bin)
  1. File cui dovrà accedere il sistema d'installazione, una volta avviato, per poter installare il kernel e i driver di periferica (per esempio, rescue.bin e drivers.tgz)
  1. File di installazione del sistema di base (per esempio, 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.


4.2.2 Scegliere l'installazione giusta

Per l'installazione sulle famiglie di macchine ARM supportate è disponibile un solo kernel.


4.2.3 Dove trovare i file dell'installazione

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
immagine (del dischetto) di recupero
.../current/netwinder/images-1.44/root.bin
immagine/i (del/i dischetto/i) di root o archivio tar
I file del kernel Linux, Sezione 11.2.3.2
binari del kernel
I file dei driver, Sezione 11.2.3.3
immagini (dei dischetti) dei driver o archivio tar
I file di installazione del sistema di base, Sezione 11.2.3.4
immagini o archivio tar del sistema di base

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).


4.2.3.1 File di installazione RiscPC

L'installer RiscPC viene inizialmente avviato da RISC OS. Tutti i file necessari sono forniti in un unico archivio Zip.


4.2.3.2 File di installazione NetWinder


4.2.3.3 File di installazione CATS


4.3 Creare i dischetti dalle immagini

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.


4.3.1 Scrivere le immagini su un sistema Linux o Unix

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.


4.3.2 Scrivere le immagini su DOS, Windows o OS/2

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/


4.3.3 Modificare il dischetto di recupero per il supporto alle lingue

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.


4.4 Preparare i file per il boot via rete con TFTP

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.


4.4.1 Configurare il server RARP

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.


4.4.2 Configurare il server BOOTP

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.


4.4.3 Configurare il server DHCP

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.


4.4.4 Abilitare il server TFTP

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.


4.4.5 Disporre le immagini TFTP al loro posto

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


4.4.6 Installare con TFTP e NFS Root

È 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.


4.5 Installazioni automatiche

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.


[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ successivo ]

Installazione di Debian GNU/Linux 3.0 per ARM

versione 3.0.23, 16 May, 2002
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo
Eugenia Franzoni eugenia@linuxcare.com
Riccardo Fabris frick@linux.it