Linux On Laptops
creato il:13 agosto 2006
aggiornato il:13 agosto 2006
Attenzione!
Tutte le azioni descritte in questa pagina vanno fatte a tuo rischio. Non credo tuttavia che esse possano arrecare danni, visto che le ho provate personalmente sul mio portatile. Non posso comunque dare nessuna garanzia ne sul funzionamento ne tantomeno su eventuali rotture del tuo portatile. Sei inoltre pregato di leggere la pagina fino in fondo prima di eseguire qualsiasi passo sul tuo hardware.
Per chiarimenti miglioramenti ecc... scrivimi: mitra93@yahoo.it
Installazione Debian-amd64 GNU/Linux su un ASUS L5000D
Questo pagina descrive l'installazione della distribuzione GNU/Linux Debian sul mio portatile. Il portaile è un ASUS L5D (L5220DFUH). La distribuzione che ho installato è la Debian-amd64 GNU/Linux versione testing (nome in codice etch).

Il mio Hardware

  1. AMD Mobile Athlon64 3000+ (1.8GHz)
  2. 1GB RAM
  3. Fujitsu 80GB (7200rpm) Harddrive
  4. Nvidia nForce3 chipset
  5. Nvidia GeForce Fx 64MB video card
  6. Pioneer DVD+/-RW DVR-K13AS
  7. Yukon 10/100/1000 Built-in Ethernet
  8. Broadcom BCM4306 54g Built-in Wifi
  9. Ricoh Co Ltd R5C552 IEEE1394 (Firewire) controller
  10. Ricoh Co Ltd RL5c476 Cardbus PCMCIA with Ultramedia flash reader
  11. Un winmodem dell'iperspazio
  12. Un Pannello LCD da 15" (1024x768)
  13. Un trackpad con tasti scroll
  14. Un bellissimo mouse ottico USB
L'hardware qui sopra non è uguale al modello venduto dalla Asus, in quanto sono stati aggiornati l'Hard-Disk e la RAM.

Installare Il sistema base

Innanzitutto hai bisogno di una connessione internet veloce visto che il programa di installazione e tutti i pacchetti verrano scaricati dal repository Debian AMD64 ufficiale. Scarica dunque l'immagine ufficiale dell'installer da qui http://www.debian.org/devel/debian-installer Io ho scelto l'immagine del CD "netinst" per l'installazione via rete (100-150 Mb). Volendo si può scaricare anche la distribuzione completa, ma lo sconsiglio, visto che in questo modo si scarichera di seguito solo i pacchetti necessari a far funzionare il proprio sistema, con risparmio di tempo e spazio su dischi. Io ho usato un cd riscrivibili, in alternativa puoi anche utilizzare una chiavetta USB (vedi sezione Installazione da Chiavetta).
Masterizza l'immagine cd con un programma di masterizzazione (es Nero --File --Apri... --scegli il file .iso che hai scaricato). Avvia il tuo sistema dal cdrom che hai masterizzato. Puoi scegliere la periferica di avvio premendo il tasto "Esc" durante l'avvio del portatile (quando c'è il logo ASUS).
Quando appare il logo debian premi invio al prompt e segui le istruzioni del programma. Se hai problemi con la visulaizzazione prova a riavviare e dare un'occhiata alle opzioni (F1) ber l'installazione sui laptop con problemi.
Io ho scelto lingua italiana, tastiera italiana, mirror ftp.it.debian.org. Ti consiglio di scegliere il mirror più vicino a te, in quanto la prossimità geografica è spesso anche uno dei migliori criteri per aumentare la velocita.

Configurazione

Ecco il magico comando che elenca tutte le periferiche di sistema. Poi daremo uno sguardo in Google e troveremo tutte (o quasi) le informazioni per il nostro hardware.
ciccio@caio:# lspci (invio)

00:00.0 Host bridge: nVidia Corporation nForce3 Host Bridge (rev a4)
00:01.0 ISA bridge: nVidia Corporation nForce3 LPC Bridge (rev f6)
00:01.1 SMBus: nVidia Corporation nForce3 SMBus (rev a4)
00:02.0 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
00:02.1 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
00:02.2 USB Controller: nVidia Corporation nForce3 USB 2.0 (rev a2)
00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio (rev a2)
00:06.1 Modem: nVidia Corporation nForce3 Audio (rev a2)
00:08.0 IDE interface: nVidia Corporation nForce3 IDE (rev a5)
00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2)
00:0b.0 PCI bridge: nVidia Corporation nForce3 AGP Bridge (rev a4)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: nVidia Corporation NV31M [GeForce FX Go5650] (rev a1)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)
02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
02:01.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
02:01.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 03)
02:01.3 System peripheral: Ricoh Co Ltd R5C576 SD Bus Host Adapter (rev 01)
02:01.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter
02:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)


Infine dopo un po di ricerca possiamo costruire questa bellissima tabellina

Riepilogo hardware-drivers;
Componente o risorsa Passi necessari per la configurazione Eventuali file/drivers da scaricare
CPU L'Athlon64 supporta la variazione della frequenza di clock con il modulo del kernel powernow-k8 e il demone in userspace powernowd. nessuno
ACPI I moduli ACPI si caricano senza problemi nel kernel e segnano la carica residua della batteria non sono riuscito a far funzionare il suspend/hibernate acpi scripts
Rete La scheda di rete integrata funziona perfettamente con il modulo sk98lin nessuno
Scheda video Se vuoi l'accelerazione 3D hai bisogno dei drivers proprietari della Nvidia. Puoi scaricarli dal sito della Nvidia oppure con apt-get (vedi sezione nvidia). Altrimenti usa il driver generico nv che funziona. Bisogna inoltre abilitare l'opzione noapic xorg.conf
Wireless IL chip è fatto dalla Broadcom e non esiste un driver linux per esso. L'unica soluzione è utilizzare Ndiswrapper che ti permette di utilizzare i driver per windows. Visti i vari forum l'unico driver che sembra funzionare è netbc64 Wireles_driver.zip
USB Sembra funzionare, ho avuto dei crash collegando un mouse ottico alle porte usb laterali che non si sono più verificati quando ho disabilitato il supporto APIC dal kernel per installare i driver proprietari Nvidia (vedi noapic). nessuno
IEEE1394 Sembra funzionare, ogni tanto si pianta inaspettatamente come per l'USB possono esserci dei con l'APIC (vedi noapic). Provando con una scheda PCMCIA IEEE1394/USB non ho avuto nessun problema. nessuno
PCMCIA Sembra funzionare perfettamente. Da me è stata testata con una scheda IEEE1394/USB e con una FastEthernet 10/100 nessuno
Suono Il suono è integrato nel chipset Nforce. Il driver snd-intel8x0 funziona perfettamente. Ci sarebbero anche i driver proprietari ma non li ho provati. nessuno

Dettagli sulla configurazione

CPU Frequency scaling

Non dimenticare di caricare alcuni moduli importanti:
  • frequanza CPU
    root@:# modprobe freq_table
    root@:# modprobe cpufreq_userspace
  • powernow
    root@:# modprobe powernow-k8

  • Il filesystem "sysfs" deve essere montato in /sys
    root@:# mount (senza opzioni)

    Infine installate powernowd
    root@:# apt-get install powernowd
    root@:# /etc/init.d/powernowd start
    root@:# ls /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo*

    manca output comandi... fare

    ACPI

    moduli ACPI
    root@:# modprobe thermal
    modprobe processor
    modprobe fan
    modprobe battery
    modprobe ac
    modprobe button
    La funzione suspend hibernate non funziona (o almeno io non sono riuscito a farla funzionare), comunque linux è in costante sviluppo e potrebbe essere disponibile con le prossime versioni del kernel Per usare l'acpi, installa acpid :)
    root@:# apt-get install acpid
    root@:# acpi_listen
    Premi qualche bottone sulla tastiera...
    questo stampera alcune linee senza senso ma molto utili per l'acpid
    Installa l'acpid_conf.tar.gz tar ball from my resources to your /etc folder. This will bring you the configuration for the 5 buttons in front of the keyboard, including the "power" button. Now you can properly halt your laptop by simply pressing the "power" button.
    Con l'aiuto del comando acpi_listen potresti configurare i bottoni sul panello frontale ("Stop", "play" etc.)

    Scheda di rete

    Aggiungi il modulo sk98lin al file /etc/modules.
    root@:# echo sk98lin >> /etc/modules

    Xorg

    Puoi usare il driver libero "nv" oppure quello a sorgente chiuso "nvidia".
    Il driver "nv" dara solo l'accelerazione hadware 2D e non 3D. Generalmente è già installato sul tuo sistema (se hai schelto installazione Desktop).
    Con alcune versioni precedenti del driver "nv" non si riusciva ad utilizzare le console virtuali F1->F6 a causa di conflitti con il Frame Buffer. Ora invece sembra funzionare bene.

    Installare i driver proprietari Nvidia



    I driver proprietari (nel mio caso) funzionano normalmente solamente con i kernel fino al 2.6.8 per i kernel successivi è necessario utilizzare l'opzione del kernel noapic al momento del boot.
    Il problema non riguarda probabilmente il driver video ma il BIOS del portatile e inficia anche il funzionamento delle porte USB e della porta IEEE1394. Purtroppo ASUS non sembra intenzionata a rilasciare altre versioni del BIOS. L'unico modo che ho trovato per risolvere la cosa è l'utilizzo di questa opzione che disabilita il supporto APIC del kernel.
    Per abilitarla automaticamente all'avvio è possibile editare il file /boot/grub/menu.list e aggiungere l'opzione noapic alla riga di opzioni di boot del kernel:
    title		Debian GNU/Linux, kernel 2.6.16-amd64-k8
    root		(hd0,0)
    kernel		/boot/vmlinuz-2.6.16-kernel 2.6.17-amd64-k8 root=/dev/hdb1 ro noapic
    initrd		/boot/initrd.img-2.6.16-amd64-k8
    savedefault
    boot
    Il driver proprietario "nvidia" ti consente comunque di utilizzare l'accelerazione hardware 2D e 3D.
    Per installarlo ci sono due modi:
    1. Scarica il driver dal sito nvidia e lancia lo script di installazione. Seleziona l'opzione di non scaricare i moduli precompilati. Ti verrà chiesto se vuoi creare un modulo per il kernel che stai utilizzando, rispondi si. Per compilare il modulo devi aver installati i kernel-headers (apt-get install kernel-headers).
    2. Il secondo modo è apparentemente più laborioso ma permette un piu facile aggiornamento a driver e/o kernel più recenti.
      Innanzitutto (se non l'hai già fatto) abilita i repository non-free nel file /etc/apt/sources.list aggiungendo contrib e non-free alla fine delle righe del repository:
      ...
      deb http://ftp.it.debian.org/debian/ etch main contrib non-free
      deb-src http://ftp.it.debian.org/debian/ etch main contrib non-free
      ...
      esegui:
      root@:# apt-get update
      infine installa i pacchetti: kernel-headers (se non li hai già installati), module-assistant, nvidia kernel-source, nvidia-glx, nvidia-control
      root@:# apt-get install kernel-headers module-assistant nvidia-kernel-source
      lancia module-assistant
      il programma è abbastanza intuitivo... scegli, tra la lista di moduli da compilare, il modulo nvidia, poi dai build, infine installa il pacchetto cosi creato.
      Per una interfaccia non interattiva ma con un solo comado puoi fare:
      root@:# module-assistant auto-install nvidia
      questo creerà il modulo nvidia per il tuo kernel. Poi installa il drive e il pannello di controllo
      root@:# apt-get install nvidia-kernel-common nvidia-glx nvidia-control

    Prima di utilizzare il modulo assicurati di avere i seguenti devices in /dev:
    crw-rw-rw- 1 root root 195, 0 May 21 10:20 /dev/nvidia0
    crw-rw-rw- 1 root root 195, 1 May 21 10:20 /dev/nvidia1
    crw-rw-rw- 1 root root 195, 2 May 21 10:20 /dev/nvidia2
    crw-rw-rw- 1 root root 195, 3 May 21 10:20 /dev/nvidia3
    crw-rw-rw- 1 root root 195, 4 May 21 10:20 /dev/nvidia4
    crw-rw-rw- 1 root root 195, 5 May 21 10:20 /dev/nvidia5
    crw-rw-rw- 1 root root 195, 6 May 21 10:20 /dev/nvidia6
    crw-rw-rw- 1 root root 195, 7 May 21 10:20 /dev/nvidia7
    crw-rw-rw- 1 root root 195, 255 May 21 10:20 /dev/nvidiactl 
    Per utilizzare il modulo:
    root@:# modprobe nvidia
    Ora devi editare il file /etc/X11/xorg.conf e cambiare il driver nv con nvidia
    Section "Device"
    	Identifier	"Vidia Corporation GeForce FX Go5650"
    	#Driver		"nv"
    	Driver		"nvidia"
    ...
    
    EndSection
    

    Riavvia il server x (CTRL-ALT-BACKSPACE)

    Infine devi aggiungere il modulo nvidia alla lista dei moduli che vengono caricati al'avvio altrimenti al prossimo riavvio il modulo nvidia non verra caricato e il server x non partirà:
    root@:# echo nvidia >> /etc/modules

    Wireless

    Per utilizzare il chip della Broadcom l'unico modo è quello di instalare ndiswrapper, programma e modulo del kernel che ti permette di utilizzare i driver per Windows.
    Ci viene incontro il solito module-assistant (vedi la sezione precedente).
    root@:# apt-get install ndiswrapper-source
    root@:# module-assistant auto install ndiswrapper
    ora basta scaricare i driver qui scompattarli, inserirli in ndiswrapper, e caricare il modulo.
    root@:#ndiswrapper -i netbc64.inf
    modprobe ndiswrapper
    Se tutto è andato bene si accenderà la spia del wireles e vedrete il nuovo device di rete wlan0. A questo punto basta usare ifconfig o dhclient per utilizzare la periferica.
    root@:# dhclient wlan0

    USB

    L'USB sembra già funzionare da solo. Ho avuto qualche crash utilizzando il mouse ottico sulle porte laterali (oltre all'usb smetteva di funzionare anche la rete), mentre sulle porte dietro non ho avuto problemi. Disabilitando il supporto apic del kernel non ho più notato questi strani crash.

    IEEE1394 o Fire-Wire

    La porta sembra funzionare. Non ho mai provato a usarla per le connessioni di rete.
    Con un disco Fire-Wire esterno ho avuto dei problemi che ho risolto inizialmente con una scheda PCMCIA-IEEE1394. Disabilitando il supporto apic del kernel non ci cono più stati problemi.

    PCMCIA

    Funziona senza problemi. Personalmente l'ho provata con una scheda IEEE1394/USB e con una scheda Fast Ethernet. Appena inserita la schedina i driver venivano caricati da soli e le nuove periferiche erano subito funzionanti.

    Suono

    Io ho utilizzato il modulo snd-intel8x0 e ha sempre funzionato egregiamente. Esiste anche il driver proprietario Nvidia Nforce ma non l'ho provato. Comunque ti consiglio di installare (con apt-get) il sistema alsa e lo script di configurazione alsa-config che, quando lanciato, dovrebbe riconoscere la scheda audio e modificare tutti i parametri in automatico. Verfica solamente che ilmodulo snd-intel8x0 venga inserito nel file /etc/modules e caricato automaticamente all'avvio, altrimenti devi caricarlo ogni volta con modprobe.

    Lettore di schede

    Per men ono funzionava, ma non avendo in previsione di utilizzarlo non ho perso molto tempo a cercare di farlo funzionare. Se hai qualche idea in merito scrivimi.

    Modem

    Il modem dovrebbe essere un Winmodem. I froum dicono che con slmodem dovrebbe funzionare, ma per me non è stato così. Esiste anche un driver proprietario a pagamento della Linuxant, che non ho provato e dunque non so dirvi se funziona.

    Installare il sistema base da chiavetta USB

    Se non avete un cd riscrivibile o un cd da masterizzare o volete sperimantare potete ache instalare il sistema bae dalla chiavetta USB.
      Ecco come
    1. Scarica il file boot.iso.gz http://people.debian.org/~kroeckx/d-i/images/daily/hd-media
    2. Se la tua chiavetta è sul device /dev/sda1 esegui
      root@:# bzcat boot.img.gz > /dev/sda1
      supponendo che come usuale la chiavetta sia stata partizionata con una sola partizione. Questo ovviamente cancellerà il contenuto della chiavetta, riscrivendola come un filesystem FAT contenente i dati necessari. altrimenti sostituisci sda1 con sdb1 o sdc1...
    3. scarica il file immagine debian-testing-amd64-businesscard.iso dahttp://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/amd64/iso-cd/ e copialo sulla chiavetta. (se non hai smontato la chiavetta prima di eseguire bzcat devi prima smontarla e rimontarla per poter copiare l'immagine iso)
    4. Riavvia il protatile entrando nel menu del BIOS (F2) durante il boot e scegli come periferica di avvio la chiavetta usb
    5. Prosegui l'installazione come sopra

    Bene... è tutto qui, spero che questa pagina ti sia stata utile.
    Per suggerimenti, prolemi puoi contattarmiqui

    La pagina è stata vista volte