ImageQuesta guida descrive il procedimento di installazione e la configurazione della distribuzione Linux Fedora Core 6 su un notebook HP Compaq nc6400.


Indice:

        2.1. Caratteristiche

        3.1. Lo stato iniziale Image
        3.2. Liberare lo spazio

        4.1. Finalmente l'installazione
        4.2. Il kernel sbagliato
        4.3. La configurazione di Xorg
        4.4. Il wireless
        4.5. La variazione di frequenza del processore

        5.1. Raffinatezze
        5.2. Cosa rimane ancora

        6.1. Ringraziamenti
        6.2. Strumenti utilizzati
        6.3. Versioni aggiornate
        6.4. Licenza e Copyright

 

1. Compatibilità con Linux

La tabella che segue riassume le principali caratteristiche del notebook con il grado di compatibilità rilevato con Fedora Core.

Sottosistema
Tipo/Modello
Compatibilità
Note
Processore              
Intel Core Duo 1,66GHz (T2300) Totale
Richiede un aggiornamento del BIOS almeno alla versione F.06 perché la variazione di velocità del processore funzioni (Sezione 4.5, «La variazione di frequenza del processore»). 

Scheda video         
Intel 945
Totale
Accelerazione 3D e Compiz funzionano immediatamente al termine dell'installazione. Per usare la risoluzione massima richiede alcuni aggiustamenti (Sezione 4.3, «La configurazione di Xorg»).
Controller dischi               
Intel ICH7 IDE/S-ATA
Totale
 
Disco interno          
Hitachi HTS541060 S-ATA
Totale   
Masterizzatore               
Combo DVD-ROM/CD-RW Totale
 
Audio              
Intel HDA
Totale
 
Rete ethernet               
Broadcom BCM5753M Gigabit ethernet
Totale
 
Rete wireless              
Intel ipw3945
Parziale
Richiede compilazione del modulo driver ed alcune modifiche (Sezione 4.4, «Il wireless»).
Bluetooth              
Modulo Broadcom su USB interno
Totale
Provato con un telefono cellulare 
Modem              
Winmodem
Nessuna
Secondo quanto riportato qui e dallo script di identificazione scanModem, preso sempre dallo stesso sito, dovrebbe funzionare con il driver SmartLink, ma al momento non ho fatto prove estensive.
PCMCIA               Texas Inst. PCIxx12
Totale
Provato con una scheda Wifi ed una SCSI
Lettore schede SD/MMC               Texas Inst. PCIxx12
Problemi
Provato con una scheda SD da 1G, il driver riconosce correttamente il chipset, viene rilevata l'inserzione della scheda, i moduli sono caricati, ma non c'è verso di veder creato il device corrispondente, e quindi di montare la memoria. Da una discussione nella mailing list del kernel a cui partecipano Pierre Ossman e Alex Dubov, sviluppatori dei driver per SD/MMC, pare ci siano problemi con i kernel 2.6.20 che impediscono il corretto funzionamento di tutto il supporto per MMC/SD. Quello che non sono riuscito a capire è se i problemi sono stati risolti nell'ultimo kernel disponibile (2.6.20-1.2944.fc6) oppure no. In ogni caso non sono riuscito ad usare la scheda SD con il lettore.
Lettore smartcard 
Texas Inst. PCIxx12
Nessuna  Non esiste traccia di driver, neanche in beta.
Lettore impronte digitali Authentec inc.
Nessuna  Non esiste traccia di driver, neanche in beta. 
Touchpad                
Synaptics  Totale
 
Gestione energia              
Batteria Li-Ion
Totale
Lo stato dell'alimentazione viene riportato correttamente. La durata della batteria è di circa 3 ore, senza uso intensivo di disco/processore. 
Ibernazione               
  Parziale
L'ibernazione in teoria funziona, ma al ripristino alcune periferiche non si riattivano. La sospensione in RAM invece blocca il computer.
Pulsanti aggiuntivi               
  Totale
Disattiva wireless, volume audio e mute, luminosità schermo, commutazione schermo LCD/esterno funzionano perfettamente.
USB  Intel ICH7  Totale  Provato con vari dispositivi: pen drive, dischi esterni, scanner. 

Tabella 2. Legenda

Totale     
Funzionamento immediato al termine dell'installazione, o con lievi modifiche a file di configurazione
Parziale
Richiede compilazione di driver o del kernel, o pesanti modifiche ai file di configurazione
Nessuna
Non funziona con Linux; le modifiche sono talmente pesanti ed estese da sconsigliare il tentativo; non esistono informazioni sufficienti.

 

2. Il notebook

2.1. Caratteristiche

È un modello abbastanza leggero, con monitor da 14 pollici wide.

La dotazione del mio esemplare (part number EH522AV) comprende:

  • per la parte elaborazione: Centrino Duo™, velocità 1,66GHz con bus a 667MHz, 1G di RAM a 667MHz DDR2, 2M di cache.
  • per la parte storage: HD interno SATA da 60G, combo lettore DVD-masterizzatore CD-RW.
  • grafica: chipset Intel 945 con memoria condivisa, display widescreen con risoluzione 1280x800
  • comunicazioni: Gigabit ethernet integrata, modem analogico, IrDA, Bluetooth, Wifi 802.11a/b/g.
  • porte di I/O: 3 USB2, VGA per monitor esterno, TV-out (connettore minidin a 8 poli), 1 slot PCMCIA, 1 slot per memorie flash SD/MMC, lettore di SmartCard.
  •  nella categoria periferiche di sicurezza: lettore impronte digitali, dispositivo di protezione del disco fisso con accelerometro.

Fra le altre cose degne di nota, il fatto che pesa poco più di due chilogrammi in assetto normale, cosa da non trascurare, e che è di dimensioni ridotte, come si può verificare sul sito del produttore. L'aspetto è solido, e offre una sensazione di robustezza.

Il sistema operativo fornito di serie è Windows™ XP™ Professional con Service Pack 2 già installato. Al solito, come oramai consuetudine da qualche anno, non vengono forniti i supporti originali per l'installazione del software, ma la consueta partizione nascosta (qui è da 6 gigabyte) col software che provvede alla reinstallazione completa dell'immagine del sistema operativo e di tutte le applicazioni a corredo, ripristinando lo stato del notebook come alla prima accensione. Inoltre c'è una utility che permette di masterizzare un DVD o CD, con tutto il necessario per ricostruire questa partizione nascosta e da lì ricostruire il sistema operativo ed i software. La nota curiosa è che qualcuno prima che mi fosse assegnato il notebook aveva già fatto l'operazione, ed ora il software si rifiuta di farne una seconda copia, affermando che ne è permessa una sola. E se mi perdo i supporti o mi si deteriorano? Mah...

 

3. Preparazione e installazione

3.1. Lo stato iniziale

Alla prima accensione immagino parta la procedura di completamento dell'installazione di Windows™ XP™ in NTFS. Come ho già detto, il notebook mi è arrivato che era già stato “violato” da qualcun altro, quindi non ho idea di come sia all'accensione, ma in fondo poco importa.

Il disco è diviso in sole due partizioni: la prima di 50G con il sistema operativo, la seconda nascosta e contenente il ripristino d'emergenza. Per dirla alla maniera di Linux, sono /dev/sda1 e /dev/sda2, consecutive anche nella tabella delle partizioni.

3.2. Liberare lo spazio

Se vogliamo mantenere Windows ed attrezzare un dual boot, le operazioni necessarie per fare un backup e liberare lo spazio per l'installazione di Linux in generale e Fedora in particolare, si trovano sul mio manualetto di installazione di Linux Fedora. Sono elencate passo passo e dettagliate per vari scenari iniziali, fra cui appunto quello del singolo disco con la partizione di ripristino, come nel caso di questo notebook. È inutile che le ripeta qui.

 

4. Installazione e configurazione di Linux Fedora

4.1. Finalmente l'installazione

Liberato lo spazio possiamo passare all'installazione, anche questa dettagliata nel manualetto di installazione di cui parlavo poco fa. Le varie possibilità e le scelte da fare sono spiegate molto in dettaglio, per cui siamo invitati a leggerlo con attenzione. E' inutile riportare qui le stesse notizie.

4.2. Il kernel sbagliato

È un bug noto di Fedora. Solo con alcuni tipi di processori l'installer sbaglia completamente l'architettura e sceglie un kernel per i586, invece che per i686. Per rimettere le cose a posto basta seguire la mia guida. Poi occorre riavviare ed avremo il kernel giusto installato.

4.3. La configurazione di Xorg

La configurazione di Xorg non pone problemi se non per il fatto che nel BIOS non vengono elencati i modi grafici disponibili, quindi il configuratore di Xorg, anche se forzato ad usare la giusta risoluzione (nel mio caso 1280x800) continua a visualizzare il desktop in 1024x768 pixel. Per risolvere occorre installare una utility chiamata 915resolution dal deposito di Fedora Extras, eseguendo da un terminale come utente root:


# yum install 915resolution
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core                      100% |=========================| 1.1 kB    00:00    
extras                    100% |=========================| 1.1 kB    00:00    
updates                   100% |=========================| 1.2 kB    00:00    
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for 915resolution to pack into transaction set.
915resolution-0.5.2-4.fc6 100% |=========================| 3.9 kB    00:00    
---> Package 915resolution.i386 0:0.5.2-4.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 915resolution           i386       0.5.2-4.fc6      extras             13 k

Transaction Summary
=================================================================

Install      1 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        

Total download size: 13 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): 915resolution-0.5. 100% |=========================|  13 kB    00:00    
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: 915resolution                ######################### [1/1]

Installed: 915resolution.i386 0:0.5.2-4.fc6
Complete!

Il pacchetto è installato, ora occorre configurarlo.

Apriamo in modifica il file /etc/sysconfig/915resolution il cui contenuto è più o meno:

# Mode to overwrite
# RESOLUTION="58 1680 1050"

ed aggiungiamo una riga in questo modo:

# Mode to overwrite
# RESOLUTION="58 1680 1050"
RESOLUTION="3c 1280 800"

Poi occorre impartire il seguente comando:

# chkconfig 915resolution on

che provvede ad inserire il servizio 915resolution ad ogni avvio del sistema. In realtà non si tratta di un servizio vero e proprio, ma di uno script che esegue il comando 915resolution ad ogni avvio automaticamente.

Per verificare il funzionamento di tutto, prima di riavviare il computer, possiamo impartire il comando:

# 915resolution 3c 1280 800

poi passiamo a configurare lo schermo mediante l'apposita utility di Fedora in Sistema, Amministrazione, Schermo. Nel pannello hardware cambiamo il monitor impostando un "Generic LCD Display", in particolare "LCD Panel 1280x800". Poi nel pannello Impostazioni, nella casella "Risoluzione" sceglieremo appunto "1280x800". Confermiamo, e terminiamo la sessione con Sistema, Termina sessione. Il server Xorg si riavvia e dovrebbero immediatamente apparire più nitide le scritte nella schermata di login.

Dal punto di vista della spiegazione tecnica, la motivazione è la seguente: Xorg interroga il BIOS della scheda video per chiedere quali risoluzioni siano disponibili, e la risoluzione pari a quella del display LCD non è elencata fra quelle disponibili. Questo è facilmente verificabile con il comando:

# 915resolution -l
Intel 800/900 Series VBIOS Hack : version 0.5.2

Chipset: 945GM
BIOS: TYPE 1
Mode Table Offset: $C0000 + $269
Mode Table Entries: 36

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel

Come possiamo vedere la risoluzione 1280x800 non è contemplata dal BIOS, anche se è proprio quella del pannello LCD del notebook. L'utility 915resolution si limita a modificare temporaneamente (fino al primo riavvio) questa tabella, sostituendo uno dei modi disponibili che prevediamo di non utilizzare con quello voluto. Nel caso in esame ho preferito sostituire la risoluzione del modo 3c, 1920x1440, che probabilmente non utilizzerò mai. Per come funziona la tabella, vengono modificate tutte le voci che riportano la risoluzione 1920x1440, quindi anche i modi 4d e 5c, assicurando che indipendentemente dal numeri di colori per pixel, la risoluzione di 1280x800 sarà sempre riconosciuta.

Dato che questa modifica è valida fino al primo riavvio, ovviamente occorre ripeterla tutte le volte che avviamo il computer: ecco il motivo per cui abbiamo modificato il file /etc/sysconfig/915resolution ed aggiunto il servizio corrispondente all'avvio automatico.

4.4. Il wireless

Il chipset usato per il wireless è Intel IPW3945, per il quale non esiste ancora modulo compreso nel kernel. In questo caso il sito giusto è: http://ipw3945.sourceforge.net/. Non esistono pacchetti già compilati per il kernel di Fedora, per cui occorre procedere alla compilazione.

La procedura è piuttosto complessa, e richiede il prelievo di tre differenti pacchetti: il driver vero e proprio, il firmware per la scheda e un demone specifico. Preleviamo i pacchetti necessari:

Queste sono le versioni disponibili al momento in cui scrivo. Partiamo dal driver, aprendo un terminale e diventando root. Poi andiamo in una directory di appoggio e apriamo il pacchetto con il comando:

# tar xzf ipw3945-1.2.0.tgz

ci troveremo una directory dal nome ipw3945-1.2.0 in cui entriamo e diamo in sequenza i comandi:

# make
 Using ieee80211 subsystem version API v2 from:

        Base: /lib/modules/2.6.18-1.2869.fc6/build/
        Path: /lib/modules/2.6.18-1.2869.fc6/build/include/

 EXTRA_CFLAGS = -DIPW3945_COMPAT=2 -g -Wa,-adhlms=check_inc.lst

mkdir -p /root/dlt/ipw3945-1.2.0/tmp/.tmp_versions
make -C /lib/modules/2.6.18-1.2869.fc6/build M=/root/dlt/ipw3945-1.2.0 MODVERDIR=/root/dlt/ipw3945-1.2.0/tmp/.tmp_versions modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2869.fc6-i686'
  CC [M]  /root/dlt/ipw3945-1.2.0/ipw3945.o
  Building modules, stage 2.
  MODPOST
  CC      /root/dlt/ipw3945-1.2.0/ipw3945.mod.o
  LD [M]  /root/dlt/ipw3945-1.2.0/ipw3945.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2869.fc6-i686'
# make install
install -d /lib/modules/2.6.18-1.2869.fc6/kernel/drivers/net/wireless/
install -m 644 -c ipw3945.ko /lib/modules/2.6.18-1.2869.fc6/kernel/drivers/net/wireless/
/sbin/depmod -a 2.6.18-1.2869.fc6
Don't forget to copy firmware to your hotplug's firmware directory
and have the hotplug tools in place.
See INSTALL for more information.

NOTE:  This driver is for development and validation purposes only
and has not been tested for regulatory compliance.  By using this
driver you assume responsibility for any compliance issues that may
arise.

Please see the README.ipw3495 for information on regulatory compliance.

Se non riceviamo messaggi di errore dovremmo avere il modulo installato e pronto.

Tocca al firmware. Torniamo indietro alla directory di appoggio e apriamo il pacchetto con il comando:

# tar xzf ipw3945-ucode-1.13.tgz

Entriamo nella directory ipw3945-ucode-1.13 appena creata e copiamo il firmware nella directory giusta:

# cp ipw3945.ucode /lib/firmware/

Ora passiamo al demone. Torniamo alla directory di appoggio, e apriamo il pacchetto con il comando:

# tar xzf ipw3945d-1.7.22.tgz

ci ritroveremo una directory dal nome ipw3945d-1.7.22 in cui entriamo e diamo il comando:

# cp x86/ipw3945d /sbin

che serve semplicemente a copiare il demone precompilato nella directory dove sono tutti i programmi che servono all'utente root. Per avere il demone sempre attivo all'avvio possiamo modificare il file /etc/rc.local, in questo modo:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/sbin/ipw3945d --quiet

touch /var/lock/subsys/local

Non è la soluzione migliore, ma è la meno complessa. A parte ovviamente lanciarlo a mano ogni volta.

Ultima modifica, per automatizzare tutta la procedura di caricamento del driver e del demone. Apriamo il file /etc/modprobe.conf ed aggiungiamo le seguenti righe:

alias eth1 ipw3945

install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet

remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945

È fondamentale che le aggiunte siano esattamente come sono qui e che le istruzioni nella righe install e remove siano tutte di seguito senza andare a capo. Di seguito dare il comando:

# depmod -a

che serve a rileggere e convalidare le modifiche appena fatte. Ho usato eth1 dato che di solito eth0 è quella ethernet.

Arriva la parte più complicata. Per far vedere la nuova scheda al sistema di networking, occorre creare un profilo nella directory /etc/sysconfig/network-scripts con nome ifcfg-eth1, usando lo stesso nome di interfaccia indicato nelle due righe di configurazione precedenti. La manovra più semplice è di copiare il profilo che appartiene all'interfaccia eth0 che dovrebbe essere già stato creato in automatico durante l'installazione. Quindi:

# cp ifcfg-eth0 ifcfg-eth1

dato nella directory indicata sopra. Apriamo il file con un editor, il contenuto iniziale dovrebbe essere simile a questo:

DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:C0:9F:EB:53:A4
ONBOOT=yes
TYPE=Ethernet
DHCP_HOSTNAME=defiant

Lo cambiamo secondo le nostre esigenze, alla fine dovrebbe assomigliare a questo:

# Intel IPW3945 WiFi 802.11a/b/g
DEVICE=eth1
BOOTPROTO=dhcp
TYPE=Wireless
ONBOOT=yes
USERCTL=no
DHCP_HOSTNAME=maxwell
ESSID=skylink
CHANNEL=5
SECURITYMODE=restricted
MODE=Managed
RATE=Auto
IPV6INIT=no

I parametri fondamentali sono:

  • TYPE - tipo di interfaccia, in questo caso Wireless. Serve a indirizzare verso l'appropriato script di avvio nella stessa directory, in questo caso ifup-wireless. Guardando dentro questo script possiamo trovare tutte le informazioni sui parametri specifici.
  • MODE - il tipo di configurazione wireless, in questo caso, Managed indica la presenza di un access point.
  • ESSID - il nome della rete wireless
  • DEVICE - deve corrispondere al nome usato in tutti gli altri file, in questo caso eth1
  • SECURITYMODE - che può essere open o restricted. Nel mio caso l'access point usa una cifratura WEP, per cui lo imposto a restricted.

Il significato di tutti gli altri valori si trova sia in testa allo script ifup-wireless che nelle pagine di manuale di wlanconfig, iwconfig e iwpriv.

Se la rete wireless ha un chiave WEP, va inserita in un altro file, sempre nella stessa directory, dal nome keys-nomeinterfaccia, nel caso in esame keys-eth1 il cui contenuto sarà:

KEY=la_vostra_chiave

Se è un valore esadecimale, possiamo inserirlo direttamente, se invece è una stringa, potrebbe essere necessario convertirla in codice esadecimale, usando il valore ASCII dei singoli caratteri, mi sono capitati un paio di access point che usavano questo metodo.

In caso di aggiornamento del kernel è necessario ricompilare ed installare solo il modulo kernel, non occorre toccare il firmware o il demone.

Sperimentiamo un po' senza perderci d'animo, la scheda funziona bene. Speriamo solo che presto integrino anche questo modulo nel kernel.

4.5. La variazione di frequenza del processore

Una delle caratteristiche dei nuovi processori è di risparmiare energia abbassando la velocità del clock, e quindi il consumo, quando il computer è inattivo o lavora a basso carico. Questa caratteristica si chiama in vari modi a seconda del produttore, ma tutti fanno capo ai moduli cpufreq del kernel.

Perché la variazione funzioni occorre una versione di BIOS a partire dalla F.06: l'esemplare in mio possesso aveva la versione F.05 e la variazione non funzionava, rimaneva sempre al massimo. Aggiornando all'ultimo BIOS rilasciato (versione F.08) viene utilizzato totalmente il supporto per la variazione di frequenza, aumentando drasticamente la durata delle batterie e diminuendo il surriscaldamento del computer.

 

5. Ultimi  ritocchi

5.1. Raffinatezze

Possiamo correggere l'antialiasing predefinito, che rende i caratteri sullo schermo un po' sfocati, e quando sono piccoli quasi illeggibili, usando le impostazioni nel menù Desktop, Preferenze, Tipi di carattere, scegliendo la voce "Sfumatura subpixel (LCD)", il miglioramento è notevole.

5.2. Cosa rimane ancora

Rimangono ancora alcune cose non utilizzabili: il modem, il lettore di impronte digitali ed il lettore di smartcard.

Al momento non vi sono indizi che qualcuno abbia sviluppato un driver utilizzabile per nessuno di questi dispositivi.

 

6. Per finire

6.1. Ringraziamenti

Un sentito ringraziamento a mia moglie, che tollera le ore passate dal sottoscritto al computer, e che per fortuna non si occupa di informatica.

Senza l'ottimo lavoro fatto dal team di sviluppo di Fedora (http://fedoraproject.org/wiki/), la mia distribuzione Linux di riferimento, questo documento non avrebbe potuto vedere la luce. Ovviamente la stessa gratitudine va agli innumerevoli individui che contribuiscono alla realizzazione di tutto il software Open Source che costituisce il corpo del sistema operativo Linux e il suo contorno di applicazioni adatte a tutte le esigenze.

Un grazie, si fa per dire, alla programmazione televisiva, in virtù della quale ho recuperato tante ore che passo in modi più piacevoli e costruttivi, almeno per me.

6.2. Strumenti utilizzati

Per realizzare questo documento ho usato l'ambiente di creazione ed elaborazione testi di Fedora, aderente allo standard aperto DocBook XML, disponibile sul sito http://www.docbook.org/tdg/en/html/docbook.html. Il file XML sorgente di questo documento è stato realizzato con VIM, usando un file di personalizzazione dei comandi per velocizzare la digitazione dei tag più usati.

6.3. Versioni aggiornate

Versioni aggiornate di questo documento le potete trovare sul mio sito web: http://ismprofessional.net/pascucci, insieme a molto altro.

6.4. Licenza e Copyright

Tutto il documento è rilasciato sotto licenza GNU FDL. Potete riprodurlo a piacere, senza modificarlo e citando l'autore originale. 

Google News
Le notizie e le recensioni di Notebook Italia sono anche su Google News. Seguici cliccando sulla stellina

Commenti