5.4. Risoluzione dei problemi del processo d'installazione

5.4.1. Affidabilità dei CD-ROM

Qualche volta, in particolare con vecchi lettori CD-ROM, potrebbe fallire l'avvio dell'installatore da CD-ROM. L'installatore potrebbe non riconoscere il CD-ROM, persino se l'avvio è avvenuto con successo da CD-ROM, oppure dare degli errori di lettura durante l'installazione.

Esistono parecchie cause per questi problemi. Possiamo elencare solo i problemi più comuni e fornire dei suggerimenti generici su come risolverli, lasciando all'utente la soluzione dei dettagli.

Ci sono due semplici operazioni da fare come primi tentativi.

  • Se non funziona l'avvio da CD-ROM, verificare che questo sia inserito correttamente e che non sia sporco.

  • Se l'installatore non riesce a riconoscere un CD-ROM, provare con l'opzione Rilevare ed eseguire il mount del CD-ROM una seconda volta. Alcuni dei problemi legati al DMA con i lettori CD-ROM più vecchi sono stati risolti in questo modo.

Se dopo queste operazioni continua a non funzionare, provare i suggerimenti riportati nelle prossime sezioni; la maggior parte dei suggerimenti, non tutti, sono validi per CD-ROM e DVD ma per semplicità è usato solo il termine CD-ROM.

Se non si riesce ad avviare l'installazione da CD-ROM si può provare con uno degli altri metodi d'installazione disponibili.

5.4.1.1. Problemi comuni

  • Alcuni dei lettori CD-ROM più vecchi non supportano la lettura dei CD masterizzati ad alta velocità con i masterizzatori moderni.

  • Anche se il sistema è in grado di fare l'avvio dal CD-ROM, questo non vuol necessariamente dire che anche Linux supporta il lettore CD-ROM (o, più correttamente, il controller a cui è collegato il lettore).

  • Alcuni dei lettori più vecchi non funzionano correttamente quando è attivo l'«accesso diretto alla memoria» (DMA).

5.4.1.2. Come analizzare e forse risolvere questi problemi

Se non si riesce a fare l'avvio da CD-ROM, provare i seguenti suggerimenti.

  • Verificare che il BIOS supporti l'avvio da CD-ROM (su sistemi vecchi non è sempre possibile) e che il lettore sia in grado di leggere il supporto che si sta usando.

  • Se si utilizza una immagine ISO scaricata, verificare la checksum MD5 dell'immagine sia uguale a quella riportata nel file MD5SUMS presente nella stessa posizione da dove l'immagine è stata scaricata.

    $ md5sum debian-testing-i386-netinst.iso
    a20391b12f7ff22ef705cee4059c6b92  debian-testing-i386-netinst.iso
    

    Successivamente, verificare anche la checksum MD5 del CD-ROM masterizzato. Il comando seguente dovrebbe funzionare, facendo uso della dimensione dell'immagine per leggere il numero corretto di byte dal CD-ROM.

    $ dd if=/dev/cdrom | \
    > head -c `stat --format=%s debian-testing-i386-netinst.iso` | \
    > md5sum
    a20391b12f7ff22ef705cee4059c6b92  -
    262668+0 records in
    262668+0 records out
    134486016 bytes (134 MB) copied, 97.474 seconds, 1.4 MB/s
    

Se, dopo aver avviato l'installatore in modo corretto, il CD-ROM non viene riconosciuto, può essere utile provare più volte. Se si dispone di più lettori CD-ROM provare a cambiare il lettore con un altro. Se non funziona oppure se il CD-ROM è riconosciuto ma si verificano degli errori in lettura provare quanto suggerito in seguito. Per seguire questi suggerimenti è necessaria una conoscenza minima di Linux. Prima di eseguire qualsiasi comando passare alla seconda console virtuale (VT2) e attivare una shell.

  • Passare alla VT4 oppure visualizzare il contenuto di /var/log/syslog (usando l'editor nano) per controllare la presenza di messaggi di errore. Poi verificare anche l'output di dmesg.

  • Controllare nell'output di dmesg se il lettore CD-ROM è stato riconosciuto; si dovrebbe vedere qualcosa di simile (non necessariamente queste righe sono consecutive):

    Probing IDE interface ide1...
    hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive
    ide1 at 0x170-0x177,0x376 on irq 15
    hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
    Uniform CD-ROM driver Revision: 3.20
    

    Se non si vede qualcosa di simile, è probabile che il controller a cui è collegato il CD-ROM non sia riconosciuto o supportato. Se si conosce qual è il driver necessario al controller si può provare a caricarlo manualmente usando modprobe.

  • Verificare che in /dev/ esista un device per il lettore CD-ROM. Nell'esempio precedente dovrebbe essere /dev/hdc; ci potrebbe essere anche /dev/cdrom.

  • Usare il comando mount per verificare che il CD-ROM sia già stato montato; altrimenti provare a montarlo manualmente:

    $ mount /dev/hdc /cdrom
    

    Controllare se si verificano degli errori dopo questo comando.

  • Verificare che il DMA sia attivo:

    $ cd /proc/ide/hdc
    $ grep using_dma settings
    using_dma      1       0       1       rw
    

    Il valore «1» nella prima colonna dopo using_dma vuol dire che è attivo; in questo caso provare a disabilitarlo con:

    $ echo -n "using_dma:0" >settings
    

    Assicurarsi di essere nella directory del device che corrisponde al lettore CD-ROM.

  • Se durante l'installazione si verificano dei problemi, provare a controllare l'integrità del CD-ROM usando l'opzione nella parte bassa del menu principale dell'installatore. Questa opzione può essere usata come test generico sull'affidabilità della lettura del CD-ROM.

5.4.2. Configurazione dell'avvio

Se si hanno problemi come blocchi del kernel durante il processo d'avvio, la mancata individuazione delle periferiche presenti oppure il non corretto riconoscimento dei driver, la prima cosa da controllare sono i parametri di avvio, si consulti Sezione 5.3, «Parametri di avvio».

Spesso i problemi possono essere risolti staccando le periferiche esterne e riprovando l'avvio. I modem interni, le schede audio e i dispositivi Plug-n-Play possono essere particolarmente problematici.

Se sulla macchina è presente parecchia memoria (più di 512 MB) e l'installatore si blocca durante l'avvio del kernel potrebbe essere necessario inserire un parametro d'avvio per limitare la quantità di memoria visibile dal kernel, per esempio con mem=512m.

5.4.3. Problemi comuni di installazione su Intel x86

Si possono verificare dei problemi con l'installazione abbastanza comuni che possono essere risolti o evitati passando particolari parametri di avvio all'installatore.

Alcuni sistemi hanno dischetti con i «DCL invertiti». Se si ottengono errori in lettura, anche se il dischetto è buono, si può provare ad usare il parametro floppy=thinkpad.

Su alcuni sistemi, ad esempio IBM PS/1 o ValuePoint (che hanno dischi ST-506), il disco IDE potrebbe non essere riconosciuto correttamente. Anche in questo caso si provi prima senza parametri per vedere se il disco IDE viene riconosciuto correttamente. In caso non succeda, stabilire la geometria del disco (cilindri, testine e settori) e passare il parametro hd=cilindri,testine,settori.

Con le macchine molto vecchie il kernel si può bloccare su Checking 'hlt' instruction..., in questo caso si deve passare il parametro d'avvio no-hlt che disabilita questo test.

Alcuni sistemi (in particolare i portatili) hanno una risoluzione nativa che non è nel rapporto 4:3 (cioè non è per esempio 800x600 o 1024x768) potrebbero presentare uno schermo vuoto dopo il caricamento dell'installatore. Se si verifica questo caso provare ad aggiungere il parametro di avvio vga=788[11]. Se questo non funziona provare ad aggingere il parametro di avvio fb=false.

Se lo schermo mostra strane figure durante l'avvio del kernel (per esempio è completamente bianco, completamente nero o pieno di pixel colorati, allora sul sistema potrebbe essere montata una scheda video che ha dei problemi a passare correttamente nella modalità framebuffer. In questo caso si può usare il parametro d'avvio fb=false per disabilitare la console framebuffer. A causa delle limitate funzionalità della console l'installazione può avvenire solo in un insieme ridotto di lingue, si consulti Sezione 5.3, «Parametri di avvio» per i dettagli.

5.4.3.1. Blocchi del sistema durante la configurazione di PCMCIA

Alcuni dei modelli portatili prodotti da Dell sono noti per bloccarsi quando il riconoscimento dei dispositivi PCMCIA tenta di accedere ad alcuni indirizzi hardware, anche altri portatili possono presentare dei problemi simili. Se si riscontra questo problema e non si ha bisogno del supporto PCMCIA durante l'installazione allora si può disabilitarlo usando il parametro d'avvio hw-detect/start_pcmcia=false. Una volta che l'installazione è stata completata è possibile configurare PCMCIA in modo da escludere l'intervallo di risorse che causa i problemi.

In alternativa si può avviare l'installatore in modalità esperto. In questa modalità viene richiesto l'inserimento dell'intervallo delle risorse a seconda delle necessità del proprio hardware. Per esempio, se si possiede uno dei portatili Dell citati sopra si deve inserire exclude port 0x800-0x8ff. Esiste un elenco degli intervalli delle risorse più comuni nella sezione System resource settings del PCMCIA HOWTO. Si noti che non si devono riportare le virgole, se ci sono, quando si inseriscono questi valori nell'installatore.

5.4.3.2. Blocco del sistema durante il caricamento dei moduli USB

Il kernel cerca di installare i moduli USB e i driver per le tastiere USB per supportare anche alcune tastiere USB non standard. Purtroppo esistono dei sistemi USB non standard che bloccano il caricamento dei driver. Una soluzione può essere disattivare il controller USB dal BIOS della scheda madre. Un'altra possibilità è passare il parametro d'avvio nousb.

5.4.4. Interpretazione dei messaggi di avvio del kernel

Durante la sequenza d'avvio è possibile vedere molti messaggi simili a can't find XXX, XXX not present, can't initialize XXX o anche this driver release depends on XXX. La maggior parte di questi messaggi sono innocui, compaiono perché il kernel usato dal sistema di installazione è stato compilato per funzionare su macchine con periferiche anche molto diverse. Ovviamente nessun computer ha tutte le possibili periferiche e quindi il sistema operativo si può lamentare di non aver trovato delle periferiche che effettivamente non ci sono. Si può anche assistere a delle brevi pause, sono causate dall'attesa di una risposta da parte di un dispositivo non presente sul sistema. Se si pensa che il tempo per il boot sia troppo lungo, in seguito si può creare un kernel personalizzato (si veda Sezione 8.6, «Compilazione di un nuovo kernel»).

5.4.5. Segnalazione di problemi con l'installazione

Se si riesce a passare la fase di avvio iniziale ma non si può completare l'installazione, la voce Salvare i log per il debug del menu potrebbe tornare utile. Essa salverà gli errori dai log di sistema e delle informazioni sulla configurazione dall'installatore su un dischetto oppure permetterà di scaricarle tramite un browser web. Queste informazioni potrebbero fornire indizi utili a capire che cosa sia andato storto e come rimediare. Se si vuole inviare una segnalazione di bug è bene allegare anche queste informazioni.

Altri messaggi relativi all'installazione possono essere trovati in /var/log/ durante l'installazione e in /var/log/installer/ una volta che il computer è stato avviato con il sistema appena installato.

5.4.6. Invio dei rapporti di installazione

Se non si riesce a risolvere qualche problema si invii un rapporto di installazione. Si incoraggia l'invio del rapporto anche quando l'installazione avviene con successo, in questo modo possiamo reperire quante più informazioni possibili sulle diverse configurazioni hardware.

Notare che il rapporto di installazione viene pubblicato nel BTS (Bug Tracking System) di Debian e inoltrato in una mailing list pubblica; si raccomanda di usare un indirizzo email tenendo bene in mente che diventa di dominio pubblico.

Nel caso si riesca ad avere un sistema Debian funzionante il modo più semplice per inviare un rapporto d'installazione è installare i pacchetti installation-report e reportbug (aptitude install installation-report reportbug), configurare reportbug come spiegato in Sezione 8.5.2, «Invio di email all'esterno del sistema» ed eseguire il comando reportbug installation-reports.

In alternativa è possibile di usare il seguente modello per i rapporti d'installazione e poi di inviarlo come segnalazione di bug verso lo pseudopacchetto installation-reports all'indirizzo .

Package: installation-reports

Boot method: <Come è stata avviata l'installazione? Da un CD? Da un
      dischetto? Dalla rete?>
Image version: <Inserire l'URL da dove si è recuperato l'immagine>
Date: <Giorno e ora di installazione>

Machine: <Descrizione della macchina (pe, IBM Thinkpad R32)>
Processor: <Tipo di processore>
Memory: <Quantità di memoria RAM>
Partitions: <L'output di «df -Tl»; è preferibile la tabella delle partizioni
      in formatto grezzo>

Output of lspci -knn (or lspci -nn): <L'output del comando «lspci -knn»
      (oppure di «lspci -nn»)>

Base System Installation Checklist: <Inserire nella casellina una «O» se
      quel passo ha funzionato, una «E» se si sono verificati degli errori
      oppure lasciare la casella in bianco se il passo non è stato eseguito.>
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [ ] <Primo avvio del sistema>
Detect network card:    [ ] <Riconoscimento della scheda di rete>
Configure network:      [ ] <Configurazione della rete>
Detect CD:              [ ] <Riconoscimento del CD>
Load installer modules: [ ] <Caricamento dei moduli dell'installatore>
Detect hard drives:     [ ] <Riconoscimento dei dischi fissi>
Partition hard drives:  [ ] <Partizionamento dei dischi fissi>
Install base system:    [ ] <Installazione del sistema di base>
Clock/timezone setup:   [ ] <Impostazione di orologio e fuso orario>
User/password setup:    [ ] <Impostazione di utente e password>
Install tasks:          [ ] <Installazione dei task>
Install boot loader:    [ ] <Installazione del boot loader>
Overall install:        [ ] <Installazione nel suo complesso>

Comments/Problems:
<Descrizione dettagliata dell'installazione compresi dettagli, commenti
      e idee che si hanno sul sistema di installazione.>

Nella segnalazione di bug si deve descrivere qual è il problema e, nel caso che il blocco sia dovuto al kernel, si deve inserire l'ultimo messaggio del kernel visibile. Descrivere anche i passi fatti e che hanno evidenziato il problema.



[11] Il parametro vga=788 attiva il framebuffer VESA con risoluzione di 800x600. Con questa impostatio sarà possibile proseguire ma probabilmente non alla risoluzione ottimale per il proprio sistema. Un elenco delle risoluzioni supportate può essere ottenuto usando vga=ask, ma si deve sapere che questo elenco potrebbe non essere completo.