Linux na Benq Joybook A52e

Sprzęt, eksploatowany przez moją małżonkę, docelowo miał służyć do poczty, komunikatorów, przeglądania stron WWW, przeglądania zdjęć oraz do drobnych spraw biurowych - a więc nic nadzwyczajnego, jednakże poprzedni system nie dał sobie rady z kobietą i się zwyczajnie wyłożył tak, że nie byłem w stanie przywrócić go do stanu używalności.

Zaproponowałem małżonce tzw. dual boot, czyli dwa systemy na jednym dysku do wyboru: Windows oraz domyślny Linux - nie było sprzeciwu :). Z początku wybór padł na dystrybucję Arch Linux, jednakże z pewnych przyczyn (o których napiszę później) zastąpiony został przez Gentoo.

Hardware

Specyfikacja sprzętu przedstawia się następująco:

Pozostałe bebechy pokazuje lspci:

joybook@root # lspci
00:00.0 Host bridge: ATI Technologies Inc Device 5a31 (rev 01)
00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:11.0 IDE interface: ATI Technologies Inc IXP SB400 Serial ATA Controller (rev 80)
00:12.0 IDE interface: ATI Technologies Inc IXP SB400 Serial ATA Controller (rev 80)
00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (rev 80)
00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (rev 80)
00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller (rev 80)
00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 83)
00:14.1 IDE interface: ATI Technologies Inc IXP SB400 IDE Controller (rev 80)
00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller (rev 01)
00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge (rev 80)
00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge (rev 80)
01:05.0 VGA compatible controller: ATI Technologies Inc RC410 [Radeon Xpress 200M]
02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
08:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
08:0a.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

Kernel

Konfiguracja kernela:

Processor type and features  --->
        Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon)  --->
        High Memory Support (off)  --->
    [ ] 64 bit Memory and IO resources (EXPERIMENTAL)
Bus options (PCI etc.)  --->
    [*] Enable deprecated pci_find_* API
Device Drivers  --->
    <*> ATA/ATAPI/MFM/RLL support  --->
        <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
        <*>     Include IDE/ATAPI CDROM support
        <*>     ATI IXP chipset IDE support
    <*> Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>     Silicon Image SATA support
    [*] Network device support  --->
        [*]   Ethernet (10 or 100Mbit)  --->
            <M>   RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support
            [*]     Use PIO instead of MMIO
    <*> Sound card support  --->
        <*>   Advanced Linux Sound Architecture  --->
            [*]   PCI sound devices  --->
            <*>   Intel HD Audio
            [*]     Build hwdep interface for HD-audio driver
            [*]     Build Realtek HD-audio codec support
            [*]     Build Analog Device HD-audio codec support
            [*]     Build IDT/Sigmatel HD-audio codec support
            [*]     Build VIA HD-audio codec support
            [*]     Build ATI HDMI HD-audio codec support
            [*]     Build Conexant HD-audio codec support
            [*]     Build C-Media HD-audio codec support
            [*]     Build Silicon Labs 3054 HD-modem codec support
            [*]     Enable generic HD-audio codec parser

Opcja "Enable deprecated pci_find_* API" jest opcjonalna, wymagana przez zamknięte sterowniki fglrx.

Sieć

Ethernet działa wprost z pudełka - wystarczy wkompilować w kernel albo załadować moduł 8139too. Z kolei do sieci bezprzewodowej potrzebny będzie madwifi-ng oraz wpa_supplicant. Interfejs będzie nazywać się ath0, a skonfigurować go można korzystając z opisu konfiguracji sieci podręcznika Gentoo. Aby zapobiec automatycznemu podnoszeniu interfejsu eth0 przy starcie systemu (nawet pomimo tego, że jest on usunięty z runlevelu default) należy w pliku /etc/conf.d/rc zmienić wpis na podobny:

RC_PLUG_SERVICES="!net.eth0"

Problemy

Framebuffer

Nie udało mi się uruchomić bufora ramki dla tego sprzętu. W najlepszym razie powodował on konflikt z xorg uwidaczniający się tym, że na ekranie pojawiały sie artefakty oraz miejscami pulpit nie był odświeżany.

Klawiatura

Niestety, klawiatura tego cuda jest nietypowa - pod Linuksem klawisz pipe/backslash znajdujący się nad enterem generuje znaki odpowiednio < i >. By to naprawić należy dodać do pliku /etc/conf.d/local.start wpis:

# Hack for changing pipe/backslash key behaviour
setkeycodes 0x56 43

Fglrx

Czyli zamknięte sterowniki dla kart graficznych Ati. Do zbudowania sterownika potrzebna jest obsługa pci_find_* API w kernelu. Po jej włączeniu przydatny może okazać się poprawiony ebuild, który można znaleźć na bugs.gentoo.org. Osobiście jednak korzystam ze sterownika dostarczanego przez Xorg Fundation.

Dlaczego nie Arch?

Z jednej strony Arch Linux jest niezwykle fajny, szybki i aktualny. Z drugiej strony jednak jest on z kilku powodów mocno irytujący.

Aktualizacje. Coś, co jest ogromną zaletą Archa, jest też moim zdaniem jego wadą. Szybkość wydawania świeżych pakietów dla Archa jest naprawdę imponująca, jednak po pewnym czasie, zwłaszcza w sytuacji, gdy system służy do używania, a nie do ciągłej zabawy, zaczyna to być irytujące. Ilość poprawek (np w kernelu) skutkuje tym, że paczki z kolejnymi numerami pakietów pojawiają się kilka razy w miesiącu. Dodajmy do tego kobyły typu QT, OpenOffice.org czy Java JRE i robi się z tego całkiem pokaźna ilość rzeczy do ściągnięcia. Dla przykładu, w lutym ilość danych do ściągnięcia przekroczyła 600MB. Dla porównania w Gentoo musiałem ściągnąć niecałe 200MB źródeł. Ok, dla kogoś, kto dysponuje szybkim łączem nie stanowi to problemu. Dla mnie akurat tak.

Zbyt agresywne zmiany w systemie. Jakimś cudem, opiekunom dystrybucji udało się zepsuć system tak, że nie byłem w stanie uruchomić go w trybie graficznym. Co ciekawe, "od zawsze" używany był sterownik radeon dla xorg. Objawy były przedziwne, ponieważ z początku przy próbie uruchomienia systemu z włączonym GDM kilka razy następował dead-lock i za którymś razem maszyna "zaskakiwała", aż do kolejnej aktualizacji gdzieś w lutym, gdzie nie dało się uruchomić Xorg w ogóle - za każdym razem był dead-lock. Żeby było śmieszniej, w desperacji zainstalowałem zamknięte sterowniki Ati, które ku mojemu zdumieniu zadziałały stabilnie. Nie muszę wspominać, że pod Gentoo Xorg działa bez najmniejszego problemu z otwartymi sterownikami.

Ostatnia uwaga jest może niespecjalnie obiektywna, ponieważ jako długoletni użytkownik Gentoo mam określone wymagania jakie stawiam systemowi - czyli maksymalną swobodę w kreowaniu systemu na którym mam pracować. Tego mi Arch nie daje. Jedyne co dostaję, to wykonany przez kogoś system zgodnie z jego preferencjami. Dziękuję, ale nie skorzystam.


, Etykiety: linux, sprzęt