Wiele osób na pewno ma wątpliwości, czy decydując się na Pingwina, uda im się uzyskać w pełni funkcjonalne środowisko pracy. Myślę, że najlepiej samemu przekonać się o potencjale Linuksa, instalując dowolną popularną dystrybucję – np. SUSE 9.3, Fedorę Core 4 czy też ostatnie wydanie Mandrivy. Zarówno pod względem łatwości instalacji, samej obsługi systemu, jak i wyboru dostępnych aplikacji Pingwin prezentuje się jako bardzo ciekawa alternatywa dla Okien. Wszystkim niezdecydowanym polecam lekturę artykułów z tematu numeru “Kowalski wybrał Linuksa” (patrz:
CHIP 9/2005
).
Należy zauważyć że “postawienie” Pingwina na notebooku różni się nieco od instalowania go na komputerze stacjonarnym. Różnice te wynikają przede wszystkim z przenośnego charakteru urządzenia i związane są z funkcjami oszczędzania energii. Gdy korzystamy z którejś ze wspomnianych wcześniej dystrybucji, możemy być niemal pewni, że cała instalacja sprowadzi się do potwierdzania poszczególnych kroków programu setup. Dlatego w niniejszym artykule skupimy się tylko na rozwiązywaniu potencjalnych problemów, na które możemy się natknąć podczas “stawiania” Pingwina.
Boje z BIOS-em
Na potrzeby tego tekstu sprawdziłem, jak instalacja Linuksa (Fedora Core 4 oraz SUSE 9.3 Professional) przebiega na dwóch notebookach Acera – TravelMate 2413WLMi oraz Aspire 3002LM. Oba można zaliczyć do “klasycznych” tanich konstrukcji – pierwszy z nich bazował jednak na procesorze Intel Celeron M, drugi natomiast był wyposażony w jednostkę centralną AMD Sempron. Rodzaj CPU w notebookach był bezpośrednio powiązany z zastosowanymi tam chipsetami – w wypadku Intela układy zawiadujące pracą płyty głównej pochodziły od producenta procesora (Centrino). Komputer przenośny z AMD był zaś wspomagany przez zestaw chipów firmy SiS.
W wypadku obu notebooków Fedora Core 4 nie miała najmniejszych problemów z wykryciem wspomnianych podstawowych komponentów. Niestety, instalator SUSE z niezrozumiałych powodów nie potrafił poprawnie wykryć dysku twardego zamontowanego w notebooku z AMD na pokładzie. Okazało się, że BIOS lub kontroler dysków nie do końca poprawnie dokonywały translacji CHS do LBA – czyli błędnie podawały tzw. geometrię dysku (liczbę cylindrów, głowic i sektorów).
Na szczęście istnieje prosta metoda na taką przypadłość. Stosowne parametry naszego “twardziela” możemy zdefiniować podczas startu instalatora, przekazując odpowiednie opcje bootowania dla jądra. Brzmi to dość skomplikowanie, jednak w praktyce wystarczy, gdy po wystartowaniu notebooka z płyty instalacyjnej w linii komend bootloadera dopiszemy ciąg hda=liczba cylindrów, głowic, sektorów – np.
linux hda=16383,16,63
. Parametry dysku twardego poznamy, zapoznając się z dokumentacją notebooka lub używając programu diagnostycznego dla DOS-u, np. nieco wiekowego AIDA32. Opis CHS dla “twardziela” znajdziemy także na stronie WWW producenta dysku.
Przerwane przerwanie
Błędne działanie BIOS-u (lub też chipsetu) w testowanym notebooku objawiało się nie tylko problemami z wykryciem dysku. Fedora Core 4 potrafiła automatycznie pominąć problem detekcji “twardziela”, jednak notebook z zestawem układów SiS nadal sprawiał problemy. Po “postawieniu” systemu okazało się, że pomimo poprawnego wykrycia zintegrowanej karty sieciowej oraz załadowaniu dla niej stosownych modułów (sterowników) komponent ten nie chciał w ogóle działać.
Feralny BIOS zawierał po prostu błędy w procedurach obsługi ACPI – czyli zaawansowanego podsystemu zarządzania energią oraz, co równie ważne, przerwaniami. Było to dla mnie spore zaskoczenie, bo tego rodzaju niedociągnięcia nie występują w komputerach stacjonarnych już od wielu lat. Jak się okazuje, niektórzy producenci płyt głównych dla notebooków nie dbają o usuwanie starych i znanych od lat błędów.
Na szczęście nawet takie wadliwe urządzenia zmusimy do poprawnej pracy. Po prostu wyłączymy ACPI, przekazując, podobnie jak to miało miejsce wcześniej, stosowny parametr do jądra Pingwina. Wystarczyło w linii komendbootladera dopisać po nazwie domyślnego kernela opcję acpi=off, aby niedziałająca wcześ-niej karta sieciowa nagle ożyła.