E’ in libreria “Lavorare con Linux”

copertina-usare-linux-al-101-percento.jpgcopertina-lavorare-con-linux-al-101-percento.jpg

E’ uscito Linux al 101%, in edicola e in libreria. In effetti, il libro è stato pubblicato due volte, prima in edizione economica per le edicole, con l’editore JGroup e il titolo Usare Linux al 101%, quindi in una versione dal supporto più curato, per Edizioni FAG, dal titolo Lavorare con Linux al 101%.

La differenza fra i due? Sostanzialmente solo la veste grafica: la stampa per la libreria presenta un supporto cartaceo decisamente migliore e si vede a colpo d’occhio, anche solo per le immagini che risultano ben delineate. Ovviamente, anche il prezzo cambia: 6,90 Euro per il primo, 12,90 Euro per il secondo.

Cosa c’è in questo libro? Cito la quarta di copertina e l’indice, ricordando che la quarta di copertina non è scritta da me.

Quasi dimenticavo: ho richiesto all’editore l’autorizzazione a mettere online, come al solito, un capitolo in PDF a disposizione dei lettori.

Voi quale preferireste?

Tutto quello che avreste sempre voluto sapere su Linux e a cui, pur avendo osato chiedere, non avete avuto risposta. E, meglio ancora, tutto organizzato in un unico, comodo libro, che potete tenere sempre con voi. Per la prima volta, tutte le informazioni davvero utili per avere un sistema che funziona davvero, senza intoppi e al massimo delle prestazioni, sono riunite in un solo volume: non dovrete più cercare tra gli innumerevoli forum e newsletter come si installa una stampante, non dovrete fare improbe fatiche per scoprire come modificare la sequenza di boot o installare un nuovo splashscreen. I trucchi (e segreti) per far funzionare al meglio la vostra Linux box ora sono alla vostra portata, con spiegazioni chiare, semplici, complete e numerosi esempi pratici, tutti rigorosamente testati sul campo da un autore tra i più esperti.

Capitolo 1 – Gestire il boot di Linux

BIOS
Grub
Identificare le periferiche
Installare Grub su floppy
Installare Grub su CD-ROM
Installare Grub nativamente
La via più semplice: grub-install
Configurare Grub
Sfondi personalizzati per Grub

Capitolo 2 – Graficamente boot

Il bootsplash
Il framebuffer
Il bootsplashing
Modificare il kernel
Le utility di supporto
Gli script di supporto
La creazione di un tema
Recuperare le immagini

Capitolo 3 – Le reti

Gli indirizzi delle reti private
Configurare le interfacce di rete
Gestire le interfacce di rete
La risoluzione statica
La risoluzione dinamica
Mettere ordine nelle interrogazioni
Configurare la rete al volo
La configurazione delle interfacce di rete
Instradare i pacchetti
Assegnare gli indirizzi in automatico
configurare un server DHCP
Configurare la rete da KDE e Gnome
Gnome
KDE
Le reti wireless
NdisWrapper
Installazione da sorgenti
Installazione dei driver Windows
Configurare la WLAN con i wireless-tools
Gestire la WLAN da KDE e Gnome

Capitolo 4 – Velocizzare il disco rigido

Velocizzare le unità di archiviazione
Hdparm, il coltellino svizzero dei dischi
In principio era ATA
PIO mode
DMA
Ultra DMA, 2 in 1
Gli IRQ
Ottimizzare le prestazioni delle unità disco
Rendere le ottimizzazioni permanenti

Capitolo 5 – Collegare le periferiche

Le unità di archiviazione esterne USB
le mani sul kernel
Utilizzare la periferica
Automatizzare la gestione delle periferiche
Identificazione automatica delle periferiche
Utilizzare le fotocamere digitali
La fotocamera come disco USB
PTP
Libgphoto
Linux e l’iPod
Gtkpod
Rhytmbox
Amarok
Ipodslave

Capitolo 6 – Connettersi a Internet

Collegarsi via modem
KPPP
Gnome PPP
GPRS Easy Connect
Collegarsi con l’ADSL
USB, gioie e dolori
Ethernet, la via più semplice

Capitolo 7 – Virtualizzare il sistema operativo

Installare QEMU
Scaricare e installare i sorgenti
Automatizzare l’avvio di KQEMU
Caricare il modulo e creare la periferica senza udev
Caricare il modulo e creare la periferica con udev
Una rapida verifica
Problemi di memoria
Installare il nuovo sistema operativo
Il file immagine
Creare il file immagine
Installare Debian
Bridging QEMU
Operazioni prelimiari
USB in emulazione “reale”

Capitolo 8 – Stampare in Linux

CUPS, il server di stampa in rete
Installare il sistema di stampa
Mettere in rete la stampante
Stampare in rete: agganciarsi a una stampante condivisa da Windows

I driver Linux Realtek RTL8111(B)/RTL8168(B) e i programmatori dislessici

Se qualcuno avesse in mente di compilare i driver linux-r1000(103).zip per il kernel 2.6.x Linux, abbia la bontà d’animo di sopportare la caritatevole indulgenza di Realtek, che ha deciso di dare pane e lavoro a programmatori dislessici.

Se provate a compilare i sorgenti come modulo, infatti, vi troverete con una bella caterva di errori:


root@moveaway:/usr/src/r1000# make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.16.18/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.18'
CC [M] /usr/src/r1000/src/r1000_n.o
/usr/src/r1000/src/r1000_n.c: In function ‘r1000_close’:
/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)
/usr/src/r1000/src/r1000_n.c:1450: error: (Each undeclared identifier is reported only once
/usr/src/r1000/src/r1000_n.c:1450: error: for each function it appears in.)
make[3]: *** [/usr/src/r1000/src/r1000_n.o] Error 1
make[2]: *** [_module_/usr/src/r1000/src] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.16.18'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/r1000/src'
make: *** [modules] Error 2
root@moveaway:/usr/src/r1000#

Ahi, ahi. Che è successo? Osservate la riga evidenziata in grassetto:

/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)

Mmmmmmmm…..ma cosa è questa entdev?

All’interno della directory in cui è sono stati decompressi i sorgenti del driver si trova una directory

src

nella quale è presente il file

r1000_n.c

Apriamolo e posizioniamoci alla riga 1450:


#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) synchronize_irq (); #else synchronize_irq(entdev->irq);
#endif
free_irq (netdev->irq, netdev);

Notato qualcosa? Semplicemente netdev (NETwork DEVice) è magicamente diventato entdev, il tutto per 1 sola volta. Il che porta a una inconsistenza dei sorgenti. Come riparare il tutto? Semplicemente correggendo entdev in netdev:


#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) synchronize_irq (); #else synchronize_irq(netdev->irq);
#endif
free_irq (netdev->irq, netdev);

Ora non resta che lanciare una nuova compilazione:


root@moveaway:/usr/src/r1000# make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.16.18/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.18'
CC [M] /usr/src/r1000/src/r1000_n.o
CC [M] /usr/src/r1000/src/r1000_ioctl.o
LD [M] /usr/src/r1000/src/r1000.o
Building modules, stage 2.
MODPOST
CC /usr/src/r1000/src/r1000.mod.o
LD [M] /usr/src/r1000/src/r1000.ko
make[2]: Leaving directory `/usr/src/linux-2.6.16.18'
make[1]: Leaving directory `/usr/src/r1000/src'

Il modulo è pronto:

root@moveaway:/usr/src/r1000# ls -lah src/r1000.ko
-rw-r--r-- 1 root root 23K 2006-07-06 10:31 src/r1000.ko
root@moveaway:/usr/src/r1000#

Non rimane che lanciare gli ultimi due comandi necessari per l’installazione del nuovo modulo e il suo caricamento automatico all’avvio:


make install
depmod -a

Con buona pace dei programmatori dislessici di Realtek…