Old:Debian on a HP Compaq NX6110: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
 
(16 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
''Torna all'indice: [[Linux Kernel in a Nutshell]]''
{{Old}}
[[immagine:Hp-compaq-nx6110.jpg|frame|right|HP Compaq nx6110]]
== Introduzione ==
Il portatile HP Compaq NX 6110 viene certificato da HP come compatibile al 100% con GNU/Linux. HP distribuisce opzionalmente (almeno ufficialmente, io non ne ho trovati disponibili) questi portatili senza alcun sistema operativo ed ha lavorato con Ubuntu per utilizzare hardware pienamente funzionante anche con GNU/Linux.


I precedenti capitoli hanno mostrato come scaricare e compilare il kernel. Ora che si ha un file eseguibile -- con tutti i moduli compilati -- � ora di installare il kernel e provare a fare il boot. In questo capitolo, a differenza dei precedenti, tutti i comandi necessitano di essere eseguiti come utente root. Questo  pu� essere fatto anteponendo ad ogni comando ''sudo'', usando il comando ''su'' per diventare root, oppure accedendo come ''root''.
''Guida segnalata su [http://tuxmobil.org/hp_compaq.html TuxMobil] e [http://www.linux-on-laptops.com/hp.html Linux On Laptops]''


Per vedere se si ha ''sudo'' installato e gli appropriati diritti di accesso, lanciate:
==Manualistica==
HP mette a disposizione per la consultazione il [http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00502970/c00502970.pdf manuale di manutenzione per l' HP Compaq nx6110]. Il manuale, di 237 pagine, è molto utile nel caso in cui si voglia conoscere nel minimo dettaglio l' hardware che equipaggia il laptop o si desideri provvedere in proprio ad effettuare riparazioni/aggiornamenti/manutenzione (montaggio/smontaggio) del computer.


<pre>
==Guide specifiche==
  $ sudo ls ~/linux/linux-2.6.17.11/Makefile
In questa guida sull'installazione di Debian sul portatile HP Compaq nx 6110 vengono menzionate guide relative a configurazioni particolari (le trovate linkate man mano). Ecco un breve indice:
  Password:
# [[Cpufreqd: Un demone per il CPU frequency scaling]]
  Makefile
# [[Old:Debian: software suspend e ibernazione per laptops]] by keltik
</pre>
# [[Synaptics touchpad]] by MaXeR
 
# [[Intel PRO/Wireless 2200BG]] by keltik
Inserite la vostra password personale al prompt di password, o la password del system administrator (root). La scelta dipende da come il comando di ''sudo'' � stato impostato. Se non ci sono problemi, e si vede una linea che contiene:
 
<pre> Makefile </pre>
 
allora potete passare alla prossima sezione.
 
Se ''sudo'' non � installato o non si hanno i diritti appropriati, si provi ad usare il comando ''su'':
 
<pre>
  $ su
  Password:
  # exit
  exit
  $
</pre>
 
Al prompt della password, inserite la password del system administrator (''root''). Quando ''su'' accetta con successo la password, si � trasferiti ad eseguire ognicosa con i pieni privilegi di root. State molto attenti mentre siete ''root'', e fate solo il minimo necessario; dopodich� uscite dal programma per tornare con il vostro utente normale.
 
 
== Usare uno script di installazione di una distribuzione ==
 
 
Quasi tutte le distribuzioni hanno uno script chiamato ''installkernel'' che pu� essere usato dal sistema di creazione del kernel per installarne uno pronto automaticamente nel giusto posto e per modificare il bootloader cos� che nulla di pi� debba essere fatto dallo sviluppatore *.
 
<pre>
Le distribuzioni offrono installkernel solitamente in un package chiamato mkinitrd, provate ad installare
questo package se non trovate lo script sulla vostra macchina.
</pre>
 
Se avete compilato qualsiasi modulo e volete usare questo metodo per installare un kernel, inserite:
 
'''# make modules_install'''
 
Questo installer� tutti i moduli che avete compilato e li metter� nelle appropriate locazioni del filesystem per farli trovare correttamente dal nuovo kernel. I moduli sono posti in ''/lib/modules/kernel_version'', dove per ''kernel_version'' si intende la versione del nuovo kernel che state preparando.
 
Dopo che i moduli sono stati installati con successo, l'immagine principale del kernel deve essere installata:
 
'''# make install'''
 
Questo causer�:
 
1. Il sistema di creazione del kernel verificher� che il kernel sia stato correttamente costruito.
 
2. Il sistema di creazione copier� la parte statica nella directory ''/boot'' e rinominer� l'eseguibile sulla base della versione del kernel.
 
3. Qualsiasi immagine di ramdisk iniziale necessaria verr� creata automaticamente, usando i moduli che sono appena stati installati durante la fase di ''modules_install''.
 
4. Al programma di bootloader verr� correttamente notificato che un nuovo kernel � presente, e verr� aggiunto nel giusto menu cos� che l'utente possa selezionarlo la prossima volta che la macchina verr� avviata.
 
5. Dopo questo ha finito, il kernel � installato con successo, si pu� tranquillamente riavviare e provare la nuova immagine di kernel. Notare che questa installazione non sovrascrive nessuna vecchia immagine dei kernel, cos� se c'� un problema con la vostra nuova immagine del kernel, il vecchio kernel potr� essere selezionato al boot time.
 
<pre>
* Eccezioni da riportare a questa regola sono Gentoo e altre distribuzioni tipo "from scratch", le quali si
aspettano che l'utente sappia come installare i kernels da solo. Questi tipi di distribuzoni includono la
documentazione su come installare un nuovo kernel, si consulti quest'ultima per l'esatto metodo richiesto.
</pre>
 
== Installazione manuale ==
 
 
Se la distribuzione non � provvista del comando ''installkernel'', o si desidera semplicemnete fare il lavoro a mano per capire i passi che servono, eccoli qua:
 
I moduli devono essere installati:


<pre>  # make modules_install </pre>
==Hardware==
* Processore: Intel(R) Pentium(R) M processor 1.50GHz
* Memoria RAM: 512Mb
* Scheda Video: Intel 915GM
* Scheda Audio: Intel AC'97 (modem)
* Scheda Ethernet: Broadcom BCM 4401 100 Base TX
* Scheda Wireless: Intel PRO/Wireless LAN 2200 BG mini PCI


L'immagine statica del kernel deve essere copiata nella directory /boot. Per un kernel basato su piattaforma i386, fare:
==Output di lspci==
<pre>Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor
to DRAM Controller (rev 03)


<pre> 
VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express
  # make kernelversion
Graphics Controller (rev 03)
  2.6.17.11
</pre>


Notare che la versione del kernel probabilmente sar� differente da quella del vostro. Usate questo valore al posto del testo KERNEL_VERSION nei seguenti passaggi:
Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics
Controller (rev 03)


<pre>
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
  # cp arch/i386/boot/bzImage /boot/bzImage-KERNEL_VERSION
#1 (rev 03)
  # cp System.map /boot/System.map-KERNEL_VERSION
</pre>


Modificate il bootloader in modo che conosca il nuovo kernel. Questo implica modificare il file di configurazione per il bootloader che si usa, � spiegato pi� avanti in "Modificare il bootloader per il nuovo kernel" in GRUB e LILO.
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
#2 (rev 03)


Se il processo di avvio non funziona, solitamente � perch� una immagine iniziale di ramdisk (initial ramdisk) �  necessaria. Per crearla correttamente, si usino i passi all'inizio di questo capitolo per installare un kernel automaticamente, poich� lo script di installazione della distribuzione sa come creare adeguatamente il ramdisk usando gli scripts e gli strumenti necessari. Dato che ogni distribuzione fa questo in maniera differente, � oltre lo scopo di questo libro ricoprire tutti i differenti metodi di costruzione dell'immagine di ramdisk.
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
#3 (rev 03)


Qui c'� uno script agevole che pu� essere usato per installare un kernel automaticamente invece di dover digitare tutti i precedenti comandi ogni volta:
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
#4 (rev 03)


<pre>
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI
  #!/bin/sh
Controller (rev 03)
  #
  # installs a kernel
  #
  make modules_install


  # find out what kernel version this is
PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
  for TAG in VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION ; do
    eval `sed -ne "/^$TAG/s/ //gp" Makefile`
  done
  SRC_RELEASE=$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION


  # figure out the architecture
Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
  ARCH=`grep "CONFIG_ARCH " include/linux/autoconf.h | cut -f 2 -d "\""`
AC'97 Audio Controller (rev 03)


  # copy the kernel image
Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem
  cp arch/$ARCH/boot/bzImage /boot/bzImage-"$SRC_RELEASE"
Controller (rev 03)


  # copy the System.map file
ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
  cp System.map /boot/System.map-"$SRC_RELEASE"


  echo "Installed $SRC_RELEASE for $ARCH"
IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE
</pre>
Controller (rev 03)


Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)


==  Modificare il bootloader per il nuovo kernel ==
CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller


FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller


Esistono due bootloader comuni per i kernel Linux: GRUB e LILO. GRUB � quello maggiormente usato nelle distribuzioni moderne, e fa' alcune cose un po' pi� facilmente di LILO, ma LILO � tuttora anch'esso utilizzato. Li vedremo entrambi in questa sezione.
Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)</pre>


Per determinare quale bootloader il vostro sistema usa, guardate nella directory ''/boot/''. Se esiste una sottodirectory ''grub'':
==Configurazione==


<pre>
===Il Kernel===
  $ ls -F /boot | grep grub
  grub/
</pre>


allora si sta utilizzando GRUB come programma per fare il boot. Se questa directory non � presente, si guardi se � presente il file ''/etc/lilo.conf'':
====Kernel 2.6.21 (aggiornamento)====
Ho realizzato un pacchetto Debian del kernel versione 2.6.21 ed uno contenente i relativi headers. Non ho inserito patch o configurazioni particolari: sono abilitati tutti i moduli presenti nel kernel di pari versione preparato da Debian. L'unica differenza sta in un miglior supporto ACPI (abilitati come moduli tutti i governor) e nella configurazione orientata a un computer Desktop (kernel preemption, I/O scheduler, ecc.).
I pacchetti possono essere scaricati da [http://www.jaxx.it/keltik/documentazione/ questa pagina web] e installati tramite dpkg.


<pre>
====Kernel 2.6.16 (aggiornamento)====
  $ ls /etc/lilo.conf
È disponibile il file di configurazione per kernel della serie [[Kernel config per HP Compaq NX 6110 2.6.16|2.6.16]] testato con successo sia con sorgenti del ramo ufficiale ''vanilla'' che ''Debian''. A differenza del file di configurazione precedente, i moduli per il supporto ACPI a batteria, ventole di raffreddamento, ecc. sono compilati come modulo, ma dovrebbero essere caricati automaticamente durante l'avvio del sistema.
  /etc/lilo.conf
In questo file di configurazione ho compilato staticamente il supporto grafico VESA, in questo modo è possibile abilitare risoluzioni superiori a quella standard già durante l'avvio del kernel. Per fare questo è sufficiente aggiungere il parametro <code>vga=771</code> (o altro) a quelli di avvio del nostro kernel.
</pre>


se � presente, state usando LILO come programma per fare il boot.
====Kernel 2.6.12 e 2.6.13====
I passi che implicano l'aggiunta del nuovo kernel a ognuno di questi programmi sono differenti, per cui si segua solo la sezione che corrisponde al programma che si sta usando.
Metto a disposizione degli interessati il file di configurazione per i kernel [[Kernel config per HP Compaq NX 6110| 2.6.12 e 2.6.13]] (dovrebbe funzionare anche con altre versioni comunque). Andate al link, copiate il testo e incollatelo in un file sul vostro PC e quindi spostatelo nella directory dove risiedono i sorgenti del kernel che volete compilare (normalmente <code>/usr/src/linux/</code>) rinominandolo in <code>.config</code>.
{{Warningbox|Il kernel è configurato per fornire supporto ai filesystem ext2 e reiserFS (oltre a VFAT, NTFSrw e NCPFS). Se la vostra installazione prevede l'uso di altri filesystem, '''è necessario''' abilitarli prima di ricompilare il kernel. Altra peculiarità da notare è la mancanza dei moduli per il PPP anche questi da abilitare se necessari.}}


==='''GRUB'''===
===Processore, frequency scaling e ACPI===
==== Frequency Scaling====
Il kernel così configurato supporta le tecnologie di scaling per la frequenza della CPU. Dato che il supporto è compilato come modulo, è necessario che esso venga caricato prima di poter essere disponibile (modulo <code>'''speedstep-centrino'''</code>). Offre inoltre il supporto per il demone [[Cpufreqd: Un demone per il CPU frequency scaling|cpufreqd]]. Per installare questo demone è sufficiente:
<pre># apt-get install cpufreqd</pre>
Maggiori informazioni possono essere reperite nella mia guida: [[Cpufreqd: Un demone per il CPU frequency scaling]].


Per fare in modo che GRUB sappia che un nuovo kernel � presente, tutto ci� che dovete fare � modificare il file ''/boot/grub/menu/lst''. Per i dettagli completi della struttura di questo file, e tutte le differenti opzioni disponibili, consultate le pagine di info di GRUB:
====Supporto ACPI====
È abilitato anche il supporto (modulare) per l'ACPI (battery, button, fan, thermal zone).
====Software Suspend====
È possibile abilitare la sospensione del sistema tramite Software Suspend, e cioè salvando lo stato del sistema nella partizione di swap oppure in un file. A questo riguardo ho scritto una guida dedicata, dal titolo [[Old:Debian: software suspend e ibernazione per laptops]].


La sospensione del sistema mentre è attiva una sessione del server X causa il blocco del display: al ritorno dalla sospensione lo schermo apparirà nero e dovremo necessariamente riavviare.


'''$ info grub'''
Per ovviare a questo problema dobbiamo scaricare il programma '''vbetool''' con il comando:
<pre># apt-get install vbetool</pre>
e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:


* All'interno della sezione <code>"Device"</code>, che riguarda la scheda grafica aggiungiamo <pre>        Option          "VBERestore"            "1"</pre> in modo che la sezione sia qualcosa di simile a:<pre><nowiki>Section "Device"
        Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
        Driver          "i810"
        BusID          "PCI:0:2:0"
        Option          "VBERestore"            "1"
EndSection</nowiki></pre>
* Alla fine del file <code>xorg.conf</code> creiamo questa nuova sezione:<pre><nowiki>Section "ServerFlags"
        Option          "BlankTime"    "0"
EndSection</nowiki></pre>


Il metodo pi� veloce per aggiungere una nuova voce kernel a ''/boot/grub/menu.lst'' � quello di copiare una voce gi� esistente. Per esempio, considerate il seguente ''menu.lst'' da un sistema Gentoo:
Riavviamo la sessione grafica e tutto funzionerà a dovere.


<pre>
===Server grafico (Xfree86 e Xorg) e accelerazione 3D===
  timeout 300
Il supporto alla scheda grafica ed all'accelerazione 3D sono compilati nel kernel di cui sopra.
  default 0
Il file <code>xorg.conf</code> che trovate qui sotto rappresenta la configurazione per Xorg e prevede l'abilitazione per il DRI (accelerazione 3D) e l'uso simultaneo del touchpad e del mouse.
Il file di configurazione è perfettamente funzionante anche per Xfree86 (è sufficiente rinominarlo).


  splashimage=(hd0,0)/grub/splash.xpm.gz
Qualora non funzioni tutto a dovere seguite i due link sottostanti:


  title 2.6.16.11
*[http://www.larsen-b.com/Article/231.html Guida di base all'accelerazione grafica] (guida di base e test)
    root (hd0,0)
*[http://www.jaxx.it/keltik/xorg-e-il-direct-rendering-con-i915/#comments Qualora i test descritti dalla guida precedente fallissero, leggete qui]
    kernel /bzImage-2.6.16.11 root=/dev/sda2 vga=0x0305


  title 2.6.16
In particolare il secondo link spiega come utilizzare pacchetti experimental che dovrebbero presto comparire nella versione unstable: quindi con il passare del tempo tenderà a divenire superfluo.
    root (hd0,0)
    kernel /bzImage-2.6.16 root=/dev/sda2 vga=0x0305
</pre>


La linea che comincia con la parola title definisce una nuova voce di kernel, in questo modo questo file contiene due voci. Copiate semplicemente un blocco di linee che cominciano con la linea title, come:
Per la configurazione avanzata del touchpad vi rimando all'ottima guida [[Synaptics touchpad]] scritta da [[Utente:MaXeR|MaXeR]].


<pre>
<pre>
  title 2.6.16.11
# xorg.conf.dpkg-new (Xorg X Window System server configuration file)
    root (hd0,0)
#
    kernel /bzImage-2.6.16.11 root=/dev/sda2 vga=0x0305
# This file was generated by dexconf, the Debian X Configuration tool, using
</pre>
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf.dpkg-new manual page.
# (Type "man xorg.conf.dpkg-new" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/xorg.conf.dpkg-new /etc/X11/xorg.conf.dpkg-new.custom
# md5sum /etc/X11/xorg.conf.dpkg-new >/var/lib/xfree86/xorg.conf.dpkg-new.md5sum
# dpkg-reconfigure xserver-xorg


Dopodich� aggiungete il blocco alla fine del file, e modificate il numero di versione con la nuova versione del nuovo kernel che si � appena installato. Il titolo non ha alcuna importanza, purch� unico, ma visualizzato nel menu di boot, per cui si dovrebbe dargli qualcosa che abbia un significato. Nel nostro esempio, abbiamo installato il kernel 2.6.17.11, per tanto la copia finale del file assomiglier� a:
Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection


<pre>
Section "Module"
  timeout 300
Load "bitmap"
  default 0
Load "dbe"
 
Load "ddc"
  splashimage=(hd0,0)/grub/splash.xpm.gz
Load "dri"
 
Load "extmod"
  title 2.6.16.11
Load "freetype"
    root (hd0,0)
Load "glx"
    kernel /bzImage-2.6.16.11 root=/dev/sda2 vga=0x0305
Load "int10"
 
Load "record"
  title 2.6.16
Load "type1"
    root (hd0,0)
Load "v4l"
    kernel /bzImage-2.6.16 root=/dev/sda2 vga=0x0305
Load "vbe"
 
EndSection
  title 2.6.17.11
    root (hd0,0)
    kernel /bzImage-2.6.17.11 root=/dev/sda2 vga=0x0305
</pre>
 
Dopo che si � salvato il file, riavviate il sistema e assicuratevi che il titolo della nuova immagine del kernel sia presente nel menu di boot. Usate la freccia verso il basso per evidenziare la versione del nuovo kernel, e premete enter per avviare la nuova immagine.


==='''LILO'''===
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "it"
EndSection


Per fare in modo che LILO sappia che un nuovo kernel � presente, dovete modificare il file di configurazione ''/etc/lilo.conf'' ed eseguire il comando ''lilo'' per applicare le modifiche fatte al file di configurazione. Per i dettagli completi sulla struttura del file di configurazione di LILO, consultate la manpage di LILO:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection


'''$ man lilo'''
Section "Device"
Identifier "Scheda video generica"
Driver "i810"
BusID "PCI:0:2:0"
EndSection


Il modo pi facile per aggiungere una nuova voce di kernel nel file ''/etc/lilo.conf'' � copiare una voce esistente. Per esempio, considerate il seguente file di configurazione di LILO di un sistema Gentoo:
Section "Monitor"
Identifier "Monitor Generico"
Option "DPMS"
EndSection


<pre>
Section "Screen"
  boot=/dev/hda
Identifier "Default Screen"
  prompt
Device "Scheda video generica"
  timeout=50
Monitor "Monitor Generico"
  default=2.6.12
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection


  image=/boot/bzImage-2.6.15
Section "ServerLayout"
    label=2.6.15
Identifier "Default Layout"
    read-only
Screen "Default Screen"
    root=/dev/hda2
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection


  image=/boot/bzImage-2.6.12
Section "DRI"
    label=2.6.12
Mode 0666
    read-only
EndSection
    root=/dev/hda2
</pre>
</pre>


La linea che comincia con la parola image= definisce una nuova voce kernel, quindi questo file contiene due voci. Copiate semplicemente un blocco di linee che cominciano con image=, come:
===Scheda Audio e ALSA===
La scheda audio funziona perfettamente con ALSA.
Tutto quello che dobbiamo fare consiste in:
<pre># apt-get install alsa-base alsa-utils
# alsaconf</pre>
Scegliamo la nostra scheda da quelle disponibili ed il gioco è fatto.


<pre>
===Modem===
  image=/boot/bzImage-2.6.15
Il modem è uno SmartLink, supportato da GNU/Linux senza eccessivi patemi. Assicuriamoci che il modulo <code>'''snd_intel8x0m'''</code> venga caricato dal kernel e procediamo a scaricare il software necessario.
    label=2.6.15
    read-only
    root=/dev/hda2
</pre>
 
Aggiungete dopo il blocco alla fine del file, e modificate il numero di versione per contenere quella del nuovo kernel appena installato. La label non ha alcuna importanza, purch� unica, ma � visualizzata nel menu di boot, per cui dovreste dargli qualcosa di sensato. Nel nostro esempio, abbiamo installato il kernel 2.6.17.11, per cui la copia finale del file sar�:


<pre>
Debian mette a disposizione il pacchetto <code>''slmodem''</code>, che fornisce le utility e il demone necessari al controllo del modem. Installiamolo con il comando:
  boot=/dev/hda
<pre># apt-get install sl-modem-daemon</pre>
  prompt
  timeout=50
  default=2.6.12


  image=/boot/bzImage-2.6.15
===Scheda Ethernet Broadcom BCM 4401===
    label=2.6.15
Il supporto alla scheda ethernet è fornito nel kernel. Funziona anche con le immagini del kernel 2.6.8 installate da Debian per default.
    read-only
===Scheda wireless Intel PRO/Wireless LAN 2200 BG mini PCI===
    root=/dev/hda2
Per la configurazione di questa scheda, vi rimando alla guida [[Intel_PRO/Wireless_2200BG| Intel PRO Wireless 2200BG]].
 
  image=/boot/bzImage-2.6.12
    label=2.6.12
    read-only
    root=/dev/hda2
 
  image=/boot/bzImage-2.6.17
    label=2.6.17
    read-only
    root=/dev/hda2
</pre>


Dopo aver salvato il file, lanciate il programma ''/sbin/lilo'' per salvare i cambiamenti del file di configurazione nella sezione di boot del disco:
Per abilitare la bella luce blu che segnala il link wireless dobbiamo impostare il parametro "led" per il modulo ipw2200.


<pre> # /sbin/lilo </pre>
Operiamo come segue:
<pre># touch /etc/modprobe.d/ipw2200
# echo "options ipw2200 led=1" > /etc/modprobe.d/ipw2200</pre>


Ora il sistema pu� essere riavviato in sicurezza. La scelta del nuovo kernel si pu� vedere tra le scelte disponibili a boot time. Usate la freccia verso il basso per evidenziare la versione del nuovo kernel, premete Enter per lanciare il boot della nuova immagine.
==Abilitare il reboot==
La configurazione standard di Grub, non permette al sistema di riavviarsi. È quindi necessario aggiungere il parametro <code>reboot=b</code> alla direttiva <code>kernel</code> nel nostro file <code>menu.lst</code>.

Versione attuale delle 21:12, 8 nov 2019

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


HP Compaq nx6110

Introduzione

Il portatile HP Compaq NX 6110 viene certificato da HP come compatibile al 100% con GNU/Linux. HP distribuisce opzionalmente (almeno ufficialmente, io non ne ho trovati disponibili) questi portatili senza alcun sistema operativo ed ha lavorato con Ubuntu per utilizzare hardware pienamente funzionante anche con GNU/Linux.

Guida segnalata su TuxMobil e Linux On Laptops

Manualistica

HP mette a disposizione per la consultazione il manuale di manutenzione per l' HP Compaq nx6110. Il manuale, di 237 pagine, è molto utile nel caso in cui si voglia conoscere nel minimo dettaglio l' hardware che equipaggia il laptop o si desideri provvedere in proprio ad effettuare riparazioni/aggiornamenti/manutenzione (montaggio/smontaggio) del computer.

Guide specifiche

In questa guida sull'installazione di Debian sul portatile HP Compaq nx 6110 vengono menzionate guide relative a configurazioni particolari (le trovate linkate man mano). Ecco un breve indice:

  1. Cpufreqd: Un demone per il CPU frequency scaling
  2. Old:Debian: software suspend e ibernazione per laptops by keltik
  3. Synaptics touchpad by MaXeR
  4. Intel PRO/Wireless 2200BG by keltik

Hardware

  • Processore: Intel(R) Pentium(R) M processor 1.50GHz
  • Memoria RAM: 512Mb
  • Scheda Video: Intel 915GM
  • Scheda Audio: Intel AC'97 (modem)
  • Scheda Ethernet: Broadcom BCM 4401 100 Base TX
  • Scheda Wireless: Intel PRO/Wireless LAN 2200 BG mini PCI

Output di lspci

Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor 
to DRAM Controller (rev 03)

VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express 
Graphics Controller (rev 03)

Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics 
Controller (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#1 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#2 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#3 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#4 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI
Controller (rev 03)

PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)

Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) 
AC'97 Audio Controller (rev 03)

Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem 
Controller (rev 03)

ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)

IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE 
Controller (rev 03)

Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller

FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller

Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

Configurazione

Il Kernel

Kernel 2.6.21 (aggiornamento)

Ho realizzato un pacchetto Debian del kernel versione 2.6.21 ed uno contenente i relativi headers. Non ho inserito patch o configurazioni particolari: sono abilitati tutti i moduli presenti nel kernel di pari versione preparato da Debian. L'unica differenza sta in un miglior supporto ACPI (abilitati come moduli tutti i governor) e nella configurazione orientata a un computer Desktop (kernel preemption, I/O scheduler, ecc.). I pacchetti possono essere scaricati da questa pagina web e installati tramite dpkg.

Kernel 2.6.16 (aggiornamento)

È disponibile il file di configurazione per kernel della serie 2.6.16 testato con successo sia con sorgenti del ramo ufficiale vanilla che Debian. A differenza del file di configurazione precedente, i moduli per il supporto ACPI a batteria, ventole di raffreddamento, ecc. sono compilati come modulo, ma dovrebbero essere caricati automaticamente durante l'avvio del sistema. In questo file di configurazione ho compilato staticamente il supporto grafico VESA, in questo modo è possibile abilitare risoluzioni superiori a quella standard già durante l'avvio del kernel. Per fare questo è sufficiente aggiungere il parametro vga=771 (o altro) a quelli di avvio del nostro kernel.

Kernel 2.6.12 e 2.6.13

Metto a disposizione degli interessati il file di configurazione per i kernel 2.6.12 e 2.6.13 (dovrebbe funzionare anche con altre versioni comunque). Andate al link, copiate il testo e incollatelo in un file sul vostro PC e quindi spostatelo nella directory dove risiedono i sorgenti del kernel che volete compilare (normalmente /usr/src/linux/) rinominandolo in .config.

Warning.png ATTENZIONE
Il kernel è configurato per fornire supporto ai filesystem ext2 e reiserFS (oltre a VFAT, NTFSrw e NCPFS). Se la vostra installazione prevede l'uso di altri filesystem, è necessario abilitarli prima di ricompilare il kernel. Altra peculiarità da notare è la mancanza dei moduli per il PPP anche questi da abilitare se necessari.


Processore, frequency scaling e ACPI

Frequency Scaling

Il kernel così configurato supporta le tecnologie di scaling per la frequenza della CPU. Dato che il supporto è compilato come modulo, è necessario che esso venga caricato prima di poter essere disponibile (modulo speedstep-centrino). Offre inoltre il supporto per il demone cpufreqd. Per installare questo demone è sufficiente:

# apt-get install cpufreqd

Maggiori informazioni possono essere reperite nella mia guida: Cpufreqd: Un demone per il CPU frequency scaling.

Supporto ACPI

È abilitato anche il supporto (modulare) per l'ACPI (battery, button, fan, thermal zone).

Software Suspend

È possibile abilitare la sospensione del sistema tramite Software Suspend, e cioè salvando lo stato del sistema nella partizione di swap oppure in un file. A questo riguardo ho scritto una guida dedicata, dal titolo Old:Debian: software suspend e ibernazione per laptops.

La sospensione del sistema mentre è attiva una sessione del server X causa il blocco del display: al ritorno dalla sospensione lo schermo apparirà nero e dovremo necessariamente riavviare.

Per ovviare a questo problema dobbiamo scaricare il programma vbetool con il comando:

# apt-get install vbetool

e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:

  • All'interno della sezione "Device", che riguarda la scheda grafica aggiungiamo
            Option          "VBERestore"            "1"
    in modo che la sezione sia qualcosa di simile a:
    Section "Device"
       Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
       Driver          "i810"
       BusID           "PCI:0:2:0"
       Option          "VBERestore"            "1"

EndSection

  • Alla fine del file xorg.conf creiamo questa nuova sezione:
    Section "ServerFlags"
       Option          "BlankTime"     "0"

EndSection

Riavviamo la sessione grafica e tutto funzionerà a dovere.

Server grafico (Xfree86 e Xorg) e accelerazione 3D

Il supporto alla scheda grafica ed all'accelerazione 3D sono compilati nel kernel di cui sopra. Il file xorg.conf che trovate qui sotto rappresenta la configurazione per Xorg e prevede l'abilitazione per il DRI (accelerazione 3D) e l'uso simultaneo del touchpad e del mouse. Il file di configurazione è perfettamente funzionante anche per Xfree86 (è sufficiente rinominarlo).

Qualora non funzioni tutto a dovere seguite i due link sottostanti:

In particolare il secondo link spiega come utilizzare pacchetti experimental che dovrebbero presto comparire nella versione unstable: quindi con il passare del tempo tenderà a divenire superfluo.

Per la configurazione avanzata del touchpad vi rimando all'ottima guida Synaptics touchpad scritta da MaXeR.

# xorg.conf.dpkg-new (Xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf.dpkg-new manual page.
# (Type "man xorg.conf.dpkg-new" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/xorg.conf.dpkg-new /etc/X11/xorg.conf.dpkg-new.custom
# md5sum /etc/X11/xorg.conf.dpkg-new >/var/lib/xfree86/xorg.conf.dpkg-new.md5sum
# dpkg-reconfigure xserver-xorg

Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "v4l"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "it"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "Device"
Identifier "Scheda video generica"
Driver "i810"
BusID "PCI:0:2:0"
EndSection

Section "Monitor"
Identifier "Monitor Generico"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Scheda video generica"
Monitor "Monitor Generico"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "DRI"
Mode 0666
EndSection

Scheda Audio e ALSA

La scheda audio funziona perfettamente con ALSA. Tutto quello che dobbiamo fare consiste in:

# apt-get install alsa-base alsa-utils
# alsaconf

Scegliamo la nostra scheda da quelle disponibili ed il gioco è fatto.

Modem

Il modem è uno SmartLink, supportato da GNU/Linux senza eccessivi patemi. Assicuriamoci che il modulo snd_intel8x0m venga caricato dal kernel e procediamo a scaricare il software necessario.

Debian mette a disposizione il pacchetto slmodem, che fornisce le utility e il demone necessari al controllo del modem. Installiamolo con il comando:

# apt-get install sl-modem-daemon

Scheda Ethernet Broadcom BCM 4401

Il supporto alla scheda ethernet è fornito nel kernel. Funziona anche con le immagini del kernel 2.6.8 installate da Debian per default.

Scheda wireless Intel PRO/Wireless LAN 2200 BG mini PCI

Per la configurazione di questa scheda, vi rimando alla guida Intel PRO Wireless 2200BG.

Per abilitare la bella luce blu che segnala il link wireless dobbiamo impostare il parametro "led" per il modulo ipw2200.

Operiamo come segue:

# touch /etc/modprobe.d/ipw2200
# echo "options ipw2200 led=1" > /etc/modprobe.d/ipw2200

Abilitare il reboot

La configurazione standard di Grub, non permette al sistema di riavviarsi. È quindi necessario aggiungere il parametro reboot=b alla direttiva kernel nel nostro file menu.lst.