Configurare un kernel Linux per Philips freevents X53IT
Autore: Salvatore “Drosophila” Fresta – drosophilaxxx@gmail.com
PREMESSA
L’installazione del sistema operativo GNU/Linux su questo modello di notebook non è delle più semplici. Gli errori che si possono riscontrare durante la configurazione del kernel posso rivelarsi ostici ed incomprensibili e quindi di non semplice risolubilità. Su questo howto vengono riportati passo passo le configurazioni da apportare al kernel Linux ai fini di utilizzare senza errori e problemi di ogni genere l’hardware presente nel suddetto notebook con questo sistema operativo libero.
CARATTERISTICHE HARDWARE DEL SISTEMA
La seguente lista elenca i dispositivi hardware presenti nel sistema:
- 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
- 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
- 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
- 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
- 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
- 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
- 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
- 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
- 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
- 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
- 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
- 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
- 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
- 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
- 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02)
- 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
- 01:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
- 03:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
- 03:06.0 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
- 03:06.2 Generic system peripheral [0805]: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
- 03:06.3 Mass storage controller: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
- CPU: Genuine Intel ® CPU T2300 ET 1.66 Ghz
CONFIGURAZIONE E COMPILAZIONE DEL KERNEL
Al momento, i kernel precompilati presenti nella maggior parte delle distribuzioni
GNU/Linux non sono idonei ad essere utilizzati su questo modello di notebook, per
cui, dopo aver effettuato l’installazione della distribuzione preferita, bisogna
accedere al sistema da una distribuzione d’installazione che permette di utilizzare
una shell per effettuare una nuova configurazione del kernel.
Come primo passo bisogna scaricare la versione del kernel preferita dal seguente
sito:
www.kernel.org
In questo howto verrà illustrata una configurazione con kernel 2.6.21.7.
Avviare una distribuzione d’installazione e montare il sistema GNU/Linux non
funzionante in una directory. Dopo di che copiare all’interno di quest’ultima il
kernel scaricato, estrarre il kernel, effettuare un chroot ed avviare la configurazione:
(live) # mkdir sata
(live) # mount /dev/sda1 sata
(live) # cp linux-<versione kernel>.tar.bz2 sata/usr/src/
(live) # tar xvjf sata/usr/src/linux-<versione kernel>.tar.bz2 -C sata/usr/src/
(live) # mount -t proc none sata/proc
(live) # mount -o bind /dev sata/dev
(live) # chroot sata/ /bin/bash
# cd usr/src/
# rm linux-<versione kernel>.tar.bz2
# ln -sfn linux-<versione kernel> linux
# cd linux
# make menuconfig
A questo punto sarà possibile visualizzare un’interfaccia grafica come quella
illustrata nell’immagine seguente.
Le seguenti sono le configurazioni da impostare per far funzionare correttamente il
kernel Linux:
Processor type and features —>
Processor family
(X) Core2/newer Xeon
Power management options (ACPI, APM) —>
[*] Power Management support
ACPI (Advanced Configuration and Power Interface) Support —>
[*] ACPI Support
<*> Procfs interface (deprecated)
<*> AC Adapter
<*> Battery
<*> Button
<*> Fan
<*> Processor
<*> Thermal Zone
CPU Frequency scaling —>
[*] CPU Frequency scaling
<*> CPU Frequency translation statistics
Bus options (PCI, PCMCIA, EISA, MCA, ISA) —>
[*] PCI support
[*] PCI Express support
<*> PCI Express Hotplug driver
[*] Root Port Advanced Error Reporting support
[*] Message Signaled Interrupts (MSI and MSI-X)
[*] ISA support
PCCARD (PCMCIA/cardBus) support —>
<*> PCCard (PCMCIA/CarBus) support
<M> 16-bit PCMCIA support
[*] Loa CIS updates from userspace (EXPERIMENTAL)
[*] PCMCIA control ioctl (obsolete)
<M> CardBus yenta-compativle bridge support
PCI Hotplug Support —>
<*> Support for PCI Hotplug (EXPERIMENTAL)
Executable file formats —>
[*] Kernel support for ELF binaries
<*> Kernel support for a.out and ECOFF binaries
<*> Kernel support for MISC binaries
Networking —>
<*> Generic IEEE 802.11 Networking Stack
<*> IEEE 802.11 WEP encryption (802.1x)
<*> IEEE 802.11i CCMP support
<*> IEEE 802.11i TKIP encryption
Device Drivers —>
ATA/ATAPI/MFM/RLL support —>
<*> ATA/ATAPI/MFM/RLL support
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> Include IDE/ATAPI CDROM support
<*> generic/default IDE chipset support
SCSI device support —>
<*> SCSI target support
[*] legacy /proc/scsi/ support
<*> SCSI disk support
<*> SCSI generic support
Serial ATA (prod) and Parallel ATA (experimental) drivers —>
<*> ATA device support
<*> AHCI SATA support
<*> Generic ATA support
IEEE 1394 (FireWire) support —>
<*> IEEE 1394 (FireWire) support
<*> OHCI-1394 support
<*> Raw IEEE1394 I/O support
Network device support —>
[*] Network device support
Ethernet (10 or 100Mbit) —>
[*] Ethernet (10 or 100Mbit)
[*] EISA, VLB PCI and on board controllers
<*> Realtek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)
<*> Realtek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support
[*] Use PIO instead of MMIO
Input device support —>
[*] Provide legacy /dev/psaux device
(1024) Horizontal screen resolution
(768) Vertical screen resolution
<*> Event interface
[*] Mouse —>
<*> PS/2 mouse
Graphics support —>
<*> Support for frame buffer devices
<*> VGA 16-color graphics support
[*] VESA VGA graphics support
<*> Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)
Sound —>
<M> Sound card support
Advanced Linux Sound Architecture —>
<M> Advanced Linux Sound Architecture
<M> Sequencer support
<M> OSS Mixer API
<M> OSS PCM (digital audio) API – Include plugin system
[*] OSS PCM (digital audio) API – Include plugin system
[*] Support old ALSA API
PCI devices —>
<M> Intel HD Audio
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
Open Sound System —>
<M> Open Sound System (DEPRECATED)
<M> Intel ICH (i8xx) audio support
USB support –>
<*> Support for Host-side USB
[*] USB verbose debug messages
[*] USB device filesystem
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
<*> USB Printer support
<*> USB Mass Storage support
<*> USB Human Interface Device (full HID) support
[*] USB Monitor
MMC/SD Card support —>
< > MMC support
File systems —>
<*> Second extended fs support
<*> Ext3 journalling file system support
<*> Reoserfs support
<*> JFS filesystem support
<*> XFS filesystem support
[*] Inotify file change notification support
[*] Inotify support for userspace
<*> Kernel automounter version 4 support (also supports v3)
Native Language Support —>
(cp437) Default NLS Option
<*> Codepage 437 (United States, Canada)
<*> NLS ISO 8859-1 (Latin 1; Western European Languages)
Le seguenti snapshot raffigurano le configurazioni impostate nel kernel.
A questo punto non resta che compilare il kernel e copiare l’immagine in /boot.
# make && make modules_install
# cp arch/i386/boot/bzImage /boot
Configurare il proprio bootloader in modo da caricare /boot/bzImage e riavviare
con il nuovo kernel.
# exit
(live) # umount sata/proc
(live) # umount sata/dev
(live) # umount sata
(live) # reboot