[precedente] Gnome - Copertina - Trinux [successivo]

Articolo


Linux e i portatili: trasformate il vostro laptop in una workstation Unix

La maggior parte delle persone, quando pensano a Linux, immaginano un sistema operativo per server di rete, come sistema di calcolo o comunque come un sistema per workstation multiutente... invece Linux può essere anche un ottimo strumento di produttività personale, ed è ottimo anche per essere installato sui portatili.

Se vi spostate spesso e vi serve un computer da portarvi dietro, o studiate in un'altra città e non vi va di spostare da casa il vostro tower... e non volete rinunciare ad un sistema versatile e stabile, potete tranquillamente installare Linux sul vostro laptop. Inoltre, grazie alla capacità di Linux di sfruttare anche hardware datato, potete considerare anche la possibilità di utilizzare un portatile ormai inutilizzato, e farlo tornare a nuova vita :-)

Dato che i computer portatili, a differenza dagli altri, non sono costruiti per essere modulari, è bene informarsi prima di comprarne uno, se ci volete installare Linux, per essere sicuri che tutti i suoi componenti siano compatibili con il sistema operativo, in modo da non avere brutte sorprese. Per fortuna esistono database on-line che contengono informazioni di questo tipo, compresi gli indirizzi e-mail di persone che hanno installato Linux su quel determinato modello di portatile, e file di configurazione per le parti più "delicate" del computer. Il migliore di questi database è il Linux Laptop Volunteers Support Database, che comprende anche link ad altre risorse sui computer portatili e Linux; trovate l'url con gli altri riferimenti in fondo al documento.

Questioni di installazione

Ovviamente, come su tutti i computer, anche sui laptop è possibile partizionare l'hard disk ed installarci due o più sistemi operativi, in modo da poterli avere entrambi ed utilizzarli quando servono (beh, anche in viaggio si può voler fare una partita al vostro adventure preferito... ;-)

Se invece volete un sistema solo Linux, e il vostro rivenditore vi ha venduto anche una licenza di Windows 95 o 98 che non vi serve, potete provare a farvi restituire l'equivalente in denaro, seguendo le istruzioni su http://www.linuxmall.com/refund/.

E passiamo all'installazione... al giorno d'oggi i laptop hanno dischi piuttosto capienti, quindi non ci sono grandi problemi; sui modelli un po' datati, e quindi con hard disk poco capaci, invece, non conviene fare grandi partizionamenti, ma è preferibile dividere il disco al massimo in due: / e /home (più ovviamente lo swap): questo permette di sfruttare meglio lo spazio riempiendolo a seconda della necessità con file di sistema o con dati degli utenti.

Per quanto riguarda l'installazione vera e propria, in genere non comporta particolari problemi: nelle maggiori distribuzioni è inserito il supporto pcmcia al momento dell'installazione, che permette di utilizzare la scheda ethernet o il modem (anche se in quest'ultimo caso a discapito della bolletta telefonica! :-). Se sul modello che abbiamo scelto c'è un lettore di cd-rom ovviamente il cd è il mezzo più semplice, ma se il lettore è esterno, sia sulla porta parallela che con un adattatore pcmcia si possono avere dei problemi, dato che non tutti i modelli sono supportati... se però abbiamo un altro computer con un lettore cd-rom e Linux possiamo utilizzare l'installazione via plip, attraverso una connessione sulla porta parallela, permessa nella maggior parte delle principali distribuzioni.

La configurazione di X

I problemi più importanti avvengono durante la configurazione di X: i chipset grafici usati nei portatili, infatti, sono particolari, e non tutti sono supportati; è bene quindi controllarne la compatibilità prima di fare l'acquisto. In ogni caso sulla Linux Laptop Volunteers Home Page trovate i link a pagine specifiche per i modelli di portatili più comuni, con riportati i file di configurazione (XF86Config) per sfruttare al massimo le caratteristiche del chipset video e del monitor per il vostro laptop. Ovviamente, come per una qualsiasi altra installazione di X, le informazioni necessari sono le caratteristiche del chipset grafico e le frequenze di hsync e vsync del monitor. Spesso, purtroppo, i produttori non allegano ai portatili informazioni sufficienti: in questo caso conviene ricorrere a qualcuno che ha già installato X su quel tipo di laptop, cercandolo in rete, e partire da un file di configurazione "sicuro", o basarsi su informazioni relative a modelli simili che abbiano la stessa scheda grafica... in qualsiasi caso bisogna fare molta attenzione, e uccidere il server X (con la combinazione Ctrl-Alt-Backspace) appena si noti qualche anomalia, per evitare di danneggiare il monitor.

Va fatta particolare attenzione ai modelli con monitor LCD: questi ultimi infatti, al contrario dei normali CRT, hanno di solito risoluzione fissa, anche se comprendono dell'hardware extra che gli permette di gestire diverse risoluzioni. Soprattutto le modeline possono dare problemi, dato che ciascun nuovo LCD pare aver bisogno della sua specifica... cercate quindi di partire da un file di configurazione per un modello il più vicino possibile al vostro.

Una peculiarità dei portatili per quanto riguarda l'utilizzo di X è che questi possono essere utilizzati sia con il monitor del laptop, sia con uno esterno; in questo caso bisogna creare una configurazione per ciascuno, ed impostare quello utilizzato a seconda delle necessità. Nel file XF86Config è possibile inserire le specifiche di più di un monitor, e scegliere quello da usare di default con l'opzione

Monitor "monitor-id"

Il mouse e la tastiera

Praticamente tutti i dispositivi di puntamento dei laptop sono tranquillamente supportati da Linux sia in modalità testo (con gpm) che sotto X. Controllatene il comportamento sulla documentazione del vostro portatile: in genere viene utilizzata l'emulazione di una porta specifica, quale la PS/2, e sia gpm che X vanno configurati di conseguenza. Va fatta attenzione se volete usare un mouse esterno, perché Linux non ama condividere la porta PS/2, ma potete sempre rivolgervi alla Linux Laptop Home Page per avere informazioni su come fare la configurazione.

Per quanto riguarda X, attenzione alla versione che possedete... un file di configurazione per una versione precedente può non essere corretto, soprattutto nella sezione che riguarda i mouse. Se all'avvio di X riscontrate dei problemi riguardanti il mouse (controllate i messaggi di errore) leggete la pagina man per XF86Config, e controllate che il tipo di protocollo che avete utilizzato nella sezione Pointer sia quello corretto per il vostro laptop.

La configurazione della tastiera è invece sempre semplice come quella di una normale tastiera, basta indicarne la lingua, e le combinazioni di tasti particolari, quali Fn+Alt per avere AltGr, vengono gestite automaticamente.

Le schede PCMCIA

La configurazione di un portatile, oltre che per quanto riguarda X, è spesso più complessa di quella di una semplice workstation a causa del particolare hardware utilizzato. Una delle caratteristiche sempre presenti in un laptop, che è invece molto raro trovare nei normali computer da tavolo, è il supporto per le schede pcmcia. Linux fornisce un pacchetto completo di supporto per il pcmcia che include una serie di moduli per il kernel che implementano una versione dell'interfaccia per le applicazioni pcmcia Card Services, un insieme di driver per schede specifiche, ed un daemon che gestisce l'inserimento e la rimozione delle schede stesse, caricando e scaricando i moduli a seconda della necessità. È supportato anche l'``hot swapping'', il che significa che le schede possono essere inserite e rimosse in qualsiasi momento senza provocare danni al sistema.

Per configurare il pacchetto potete utilizzare gli strumenti presenti nella distribuzione. Probabilmente dovrete ricompilare i moduli per il vostro sistema, ma non è un'operazione complicata: basta utilizzare i comandi magici

make config; make all

make install

nella directory in cui sono i sorgenti (in genere /usr/src/modules/pcmcia-cs). Il comando make config vi proporrà delle domande secondo le quali configurerà i moduli, make all compilerà gli stessi, e make install copierà il tutto nelle directory di destinazione. Attenzione, perché la versione di Card Services inclusa nella maggior parte delle distribuzioni non funziona con i kernel 2.2... se avete quindi messo uno di questi kernel dovrete procurarvene una più aggiornata.

Una volta installato il pacchetto e ricompilati i moduli, in genere è sufficiente avviare il cardmanager (cardmgr) ed inserire la scheda; il tono dei segnali acustici ne indicherà lo stato: due toni alti indicano che è stata identificata e configurata, un tono alto ed uno basso corrisponde all'identificazione, ma specifica che la scheda non è stata configurata (e quindi dovremo andare a modificare i file di configurazione in /etc/pcmcia), e un solo tono basso significa che la scheda non è stata identificata, e quindi probabilmente non è supportata da quella versione del pacchetto pcmcia.

La gestione delle batterie

Al contrario del supporto pcmcia, l'apm (Advanced Power Management) è spesso presente anche sui computer da tavolo; nei portatili però è particolarmente importante perché permette di minimizzare il consumo energetico delle batterie, e quindi aumentare i tempi di utilizzabilità del computer, oltre a dare accesso a informazioni sullo stato di carica del laptop.

Al momento della compilazione del kernel è possibile impostare numerose opzioni sul risparmio energetico; in particolare, le opzioni per l'apm si trovano nella sezione "General Setup". Attivando la categoria "Advanced Power Management BIOS Support" si attiva il device /proc/apm, che fornisce le informazioni sullo stato delle batterie, l'ora di sistema viene resettata dopo le operazioni di user suspend, ed è possibile mandare alle applicazioni utente informazioni sugli "eventi" apm, cioè le modifiche dello stato di carica della batteria. Delle opzioni possibili, alcune (come "Ignore user suspend" e "Enable PM at boot time") servono per compatibilità con alcune implementazioni dei bios apm, altre sono importanti per quasi tutti i laptop: "Make CPU idle calls when idle" "spenge" la cpu quando non sta lavorando attivamente, portando quindi ad un discreto risparmio energetico, "Enable console blanking using APM" fa spengere la luce posteriore dei display lcd quando lo schermo della console virtuale attiva il salvataggio di energia (attenzione, funziona solo dalla console testo, non da X), e "Power off on shutdown" fa spengere automaticamente il computer al momento dello shutdown, evitandovi di premere l'interruttore. Attenzione però, perché in particolari modelli di laptop il bios apm non è standard, ed alcune di queste opzioni possono dare problemi all'avvio o all'attivazione di un qualsiasi evento apm: tenete a portata di mano un kernel "sicuro", magari aggiungendolo come immagine alternativa nel file lilo.conf, in modo da non dover ricorrere al dischetto di rescue per recuperare il sistema :-)

Oltre alla configurazione del kernel, poi, anche se non è indispensabile, è consigliabile installare il demone apmd; questo si prende carico di registrare tutti i cambiamenti nello stato di carica, di calcolare (anche se non in modo sempre corretto, e non per tutti i tipi di bios) il tempo di vita delle batterie e di spengere il sistema in modo corretto in caso di necessità. Apmd registra nel file /var/log/daemon.log le variazioni nello stato delle batterie, in particolare quando queste passano dalla carica all'utilizzo. Quando la percentuale di carica scende sotto un valore predefinito (e configurabile con l'opzione -w) apmd registra una linea nel file di log e, se è attiva l'opzione -W (o --wall) avverte tutti gli utenti (usando appunto il comando wall), in modo che questi possano salvare eventuali dati importanti.

Per poter controllare lo stato delle batterie in qualsiasi momento, è possibile utilizzare un programma da linea di comando, apm, compreso nel pacchetto di apmd, che legge /proc/apm e rende un output facilmente comprensibile. Apm inoltre permette di mettere il computer in stato di standby (con l'opzione -S) o in suspend (con -s).

Oltre ad apm, che come abbiamo detto è un programma da linea di comando, esistono moltissime utilità grafiche, che permettono di avere sempre a portata di sguardo la percentuale di carica del portatile ed altre informazioni utili:

Anche wmapm è un'applicazione dockabile, che ha le stesse caratteristiche di wmbattery; oltre però ad avere un aspetto diverso, permette di configurare diversi parametri, tra cui le percentuali di carica che separino le varie sezioni, e dà la possibilità di attivare un segnale acustico al raggiungimento del livello critico. Trovate wmapm e wmbattery sul sito http://www.bensinclair.com/dockapp/, insieme a molte altre applicazioni dockabili per windowmaker.

Le comunicazioni ad infrarossi

Dalla release del kernel 2.1.131 è disponibile nella distribuzione standard il supporto per il protocollo IrDA, che permette di comunicare attraverso le porte infrarosse presenti nella maggior parte dei laptop più recenti. Le porte IrDA permettono di comunicare con dispositivi quali stampanti, modem, fax, ed altri laptop, con velocità che varia da 2400bps a 4Mbps. Presumibilmente se avete un portatile con una porta infrarossa avete anche almeno 16Mb di RAM, e quindi vi potete permettere di installare un kernel della serie 2.1... se non è così e volete comunque provare, potete scaricare il codice kernel sul sito del progetto Linux-IR: http://www.cs.uit.no/~dagb/irda/irda.html. Sullo stesso sito troverete anche delle comode utilities da utente... che però sono ancora a livello sperimentale. Se avete problemi, leggete il linux-IR mini-howto (trovate l'url nella sezione riferimenti) e controllate la lista dell'hardware supportato sulla home page del progetto.

Aggiungiamo dei componenti

Una delle questioni più spinose della configurazione di un laptop sono i cosiddetti "dispositivi esterni", cioè cd-rom, dischi ide, floppy, unità di backup, e qualsiasi cosa in generale che si agganci al vostro laptop in qualche modo.

Questi dispositivi si appoggiano in genere a commutatori di due tipi: pcmcia o paralleli. Per la prima categoria si rimanda alla parte sul pcmcia, ricordando che sono supportati gran parte degli adattatori pcmcia-scsi e molti di quelli pcmcia-ata/ide. La seconda categoria è più spinosa, in quanto la possibilità di utilizzo sotto Linux è più limitata. Consultando l'Hardware-HOWTO potrete notare quanti dispositivi che si connettono alla porta parallela non siano supportati; controllatelo quindi prima di fare un qualsiasi acquisto, in modo da non rimanere con un pezzo hardware inutilizzabile. In particolare non sono supportati i drives scsi che si connettono alla porta parallela, come ad esempio il Colorado Trakker, mentre lo sono i cdrom come il Microsolution Backpack, ed i nastri quali l'iomega-zip.

Le questioni di configurazione in questo caso sono molteplici, e non possono essere affrontate in un articolo di questo genere; vi rimandiamo quindi alla consultazione dell'Hardware-HOWTO e della Linux Laptop Home Page, oltre naturalmente allo ZIP-Drive-HOWTO per l'iomega zip, che contiene informazioni chiare e concise su come installarlo.

E la rete?

Come tutti i computer anche i laptop sono animali sociali, ed hanno bisogno di comunicare tra loro :-)

Per un laptop le possibilità di connessione sono molteplici, dalle schede ethernet pcmcia, a quelle incorporate, alle comunicazioni IRdA, alle connessioni seriali e parallele... i modi di collegare tra loro due computer con Linux sono moltissime. Dato che le caratteristiche di un collegamento ethernet su un portatile o su un altro computer sono le stesse, porremo l'attenzione su un tipo di connessione che viene perlopiù usato per i laptop: la connessione plip.

Il plip (Parallel Line Internet Protocol) è un protocollo che permette di avere una connessione tcp/ip su un cavo null-modem parallelo, permettendo quindi di mettere in rete due computer con Linux con una spesa veramente minima. Il plip, simile al più noto slip (uno dei protocolli usati per il collegamento via modem), sfrutta il parallelismo della connessione per inviare più di un bit alla volta, e permette quindi velocità molto maggiori di un collegamento seriale, fino anche a 40K/s; grazie alla sua velocità, quindi,

su una connessione plip possono essere usati tutti i servizi tcp/ip, compreso l'nfs.

L'unico requisito per il funzionamento di una connessione plip è che le porte parallele del laptop e del computer a cui questo si collegherà abbiano la possibilità di essere poste in modalità bidirezionale (ECP/EPP), e non unidirezionale come di solito sono poste di default, nella configurazione di avvio del bios.

Per fare funzionare il plip, va abilitato il supporto corrispondente nel kernel, ovviamente sia sul laptop che sul computer a cui questo andrà collegato; per i kernel della serie 2.0 la configurazione è la seguente:


Code maturity level options:   Prompt for development and/or incomplete code/drivers
Loadable module support
   Enable loadable module support
   Kernel daemon support (e.g. autoload of modules)
Networking options
   TCP/IP networking
Network device support
   Dummy net driver support (raccomandato)
   PLIP (parallel port) support

Per i kernel 2.2 invece si ha:


Loadable module support:   Enable loadable module support
   Kernel module loader 
General setup:
   Parallel port support (M)
   PC-Style hardware (M)
Networking options:
   Packet socket
   Unix domain sockets
   TCP/IP networking 
   Dummy net driver support (raccomandato) (M)
   PLIP (parallel port) support (M)

Come vedete nel kernel 2.2 è necessario inserire un supporto generico per la porta parallela, che racchiude la parte comune di gestione della porta da parte di tutti i dispositivi che vi si connettono; questo supporto va compilato come modulo, in quanto andranno specificate le risorse (irq, i/o) utilizzate.

Anche nel kernel 2.0 è conveniente compilare il supporto plip come modulo, in quanto ciò permette di utilizzare all'occorrenza anche altri dispositivi paralleli, come le stampanti.

Compilato ed installato il kernel, la connessione plip può essere attivata come una qualsiasi altra connessione di rete: sarà necessario assegnare un indirizzo IP ai due computer ed utilizzare ifconfig e route.

Utilizziamo nell'esempio questi indirizzi:

Workstation 192.168.1.1

Laptop 192.168.1.2

Per individuare il device corrispondente al plip vanno controllati i messaggi di avvio del kernel se il supporto è stato compilato staticamente, e l'output del comando modprobe se è un modulo. Nell'esempio useremo il device plip0, ma potrebbe anche essere plip1.

La seguente configurazione è valida se avete un kernel della serie 2.0; se ne usate uno della serie 2.2 passate al secondo esempio.

Per configurare la rete con un kernel 2.0 dovremo dare

sulla workstation:


modprobe plip  # solo se è un modulo
 
ifconfig plip0 192.168.1.1 pointopoint 192.168.1.2

route add -net 192.168.1.0 dev plip0 # se la rete 192.168.1.0 non è
                                     # configurata già in 
                                     # altro modo (per il plip non
                                     # è necessario utilizzare una
                                     # rete a parte)

route add 192.168.1.2 # o route add 192.168.1.2 dev plip0 se non 
                      # è stata inserita la regola precedente

sul laptop:


modprobe plip  # solo se è un modulo

ifconfig plip0 192.168.1.2 pointopoint 192.168.1.1
route add -net 192.168.1.0 dev plip0
route add default gw 192.168.1.1

Nel caso di kernel 2.2, i comandi da dare sono:

per la workstation:


modprobe parport_pc io=0x3bc,0x378,0x278 irq=none,7,automodprobe plip
ifconfig plip0 192.168.1.1 pointopoint 192.168.1.2
route add 192.168.1.2 dev plip0

per il laptop


modprobe parport_pc io=0x3bc,0x378,0x278 irq=none,7,automodprobe plip
ifconfig plip0 192.168.1.2 pointopoint 192.168.1.1
route add default gw 192.168.1.1 dev plip0

La differenza è dovuta alla diversa gestione della porta parallela da parte dei nuovi kernel; le opzioni indicate dovrebbero essere corrette per la maggior parte dei casi.

Come per le normali configurazioni di rete, questi comandi possono essere inseriti negli script di avvio del computer; sulla workstation possiamo farlo tranquillamente, mentre sul laptop conviene attivarli mediante script di shell da lanciare al momento del bisogno, per due motivi:

a) perché non sempre il collegamento è attivo al momento del boot del portatile

b) perché possiamo avere configurazioni diverse per la connessione, ad esempio per casa e per il lavoro; attivando i comandi con degli script possiamo scegliere quale di queste utilizzare.

Per creare lo script con la configurazione dell'esempio, inseriamo nel file plip-up i comandi indicati sopra; qui facciamo l'esempio del kernel 2.0:


#!/bin/bashmodprobe plip 
ifconfig plip0 192.168.1.2 pointopoint 192.168.1.1
route add -net 192.168.1.0 dev plip0
route add default gw 192.168.1.1

poi rendiamolo eseguibile con il comando

chmod a+x plip-up

e mettiamolo in una directory contenuta nel path. Lanciando il comando

plip-up

potremo quindi attivare la connessione parallela, ed utilizzarla come una normale connessione di rete tcp/ip. Se la workstation fa parte di una rete locale mascherata, o nella configurazione del laptop abbiamo inserito un indirizzo ip registrato potremo anche navigare in Internet dal nostro piccolo portatile :-)

RIFERIMENTI

di Eugenia Franzoni


[precedente] Gnome - Copertina - Trinux [successivo]