$ cd ../articles/

Ten artykuł dostępny jest również w języku angielskim (English).

Cel

To nie jest poradnik "jak zainstalować NetBSD". Instalacja NetBSD trwa 10 minut i jest prostsza niż jakikolwiek Linux. Ten dokument opisuje, co dzieje się potem — kiedy system już stoi, ale nic nie działa tak, jak byś chciał. To zapis prawdziwych doświadczeń z używania NetBSD jako głównego systemu na ThinkPadzie T400. Bez lukru. Bez "to jest super, polecam".

Sprzęt

KomponentModel
ModelThinkPad T400 (ostatni z matrycą 16:10 i prawdziwą klawiaturą)
CPUIntel Core 2 Duo P8600 (2.40 GHz, Penryn, 45nm)
RAM8 GB DDR3 (tak, chipset GM45 obsługuje 8 GB mimo że spec mówi 4 GB)
GPUIntel GM45 (GMA 4500MHD)
Storage128 GB SSD (SATA II — to nie jest szybki dysk)
Display1280×800, matowa matryca CCFL
WiFiIntel WiFi Link 5100 AGN (iwn)
SystemNetBSD 11 amd64

WiFi — nawet nie próbuj na początku

Karta Intel WiFi Link 5100 (sterownik iwn) wymaga firmware'u. NetBSD nie ma go domyślnie w instalatorze. Pierwsze podejście do WiFi kończy się komunikatem iwn0: could not load firmware. Nie trać na to czasu podczas instalacji.

Rozwiązanie: wpinaj kabel Ethernet. Zainstaluj system przez przewód. Dopiero po pełnej instalacji pobierasz firmware:

# pkgin install iwn-firmware
# ifconfig iwn0 up
# wpa_supplicant -Biwn0 -c /etc/wpa_supplicant.conf
# dhcpcd iwn0

Ręczne grzebanie w /etc/ifconfig.iwn0, /etc/wpa_supplicant.conf, /etc/rc.conf. Żaden NetworkManager tu nie pomoże — wszystko robisz sam.

Jądro — katorga, która się opłaca

Generyczne jądro NetBSD (GENERIC) działa. Ale jeśli chcesz, żeby wszystko działało dobrze, kompilujesz własne. To oznacza:

  • Ściągasz źródła (src.tgz)
  • Konfigurujesz jądro przez config(1)
  • Wycinasz wszystko co zbędne — kontrolery RAID, FireWire, Bluetooth, CardBus, dziesiątki sterowników sieciowych których nigdy nie użyjesz
  • Dodajesz tylko to, co jest w T400 — wd(4) dla SATA, wm(4) dla Gigabit Ethernet, iwn(4) dla WiFi, acpi(4) dla zarządzania energią, wsdisplay(4) dla konsoli
  • Kompilacja: ./build.sh -j2 kernel=MYKERNEL

Na Core 2 Duo P8600 kompilacja jądra trwa ~15-20 minut. Nie jest źle. Ale robisz to kilka razy, zanim trafisz w idealną konfigurację. Potem jądro waży kilka MB zamiast kilkudziesięciu i bootuje się w sekundę.

Konfiguracja — wszystko ręcznie

.bashrc, ścieżki, aliasy

NetBSD domyślnie daje ci /bin/sh, nie bash. Jeśli chcesz bash — instalujesz go (pkgin install bash), zmieniasz shella w /etc/passwd. Potem ręcznie konfigurujesz ~/.bashrc, ~/.profile, dodajesz ścieżki do /usr/pkg/bin, /usr/pkg/sbin — bo NetBSD trzyma pakiety w /usr/pkg, a nie /usr jak Linux.

X11 — działa od ręki

Sterownik intel(4) dla GM45 działa z domyślną konfiguracją. Wystarczy odpalić swój window manager przez ~/.xinitrc. dwm i bandw-wm ruszają bez grzebania w xorg.conf.

# ~/.xinitrc
exec dwm
# albo na przemian:
# exec bandw-wm

Pakiety — bez cudów

pkgin jest prosty i działa. Ale repozytorium pkgsrc na NetBSD jest mniejsze niż na Linuksie. Niektóre rzeczy po prostu nie istnieją. Wtedy — kompilujesz ze źródła. A jak nie ma źródła — sam piszesz. Tak, jestem masochistą. Kompilowanie wszystkiego z kodu to mój naturalny stan.

Codzienne użytkowanie

AspektRzeczywistość
PrzeglądarkaFirefox ESR z pkgsrc, działa. Wolno, ale działa. Strony bez JS ładują się błyskawicznie.
Audioaudio(4) + snd_hda. Działa od ręki. Na T400 z głośnikami mono — zero problemów.
Suspend/Resumesysctl hw.acpi.sleep.state=3. Działa. Czasem po resume nie wraca podświetlenie — wtedy wsconsctl -d ratuje sprawę.
Bateriaenvsys(4) pokazuje stan. Na oryginalnej baterii z 2008 roku trzyma godzinę. Wymieniona na nową — 3-4h.
TrackPointDziała od ręki przez pms(4). Bez konfiguracji.
DrukarkaSamsung SCX-4300 przez CUPS + splix. Działa na OpenBSD, na NetBSD pewnie też.

Wnioski

NetBSD na T400 to nie jest system dla leniwych. Wszystko robisz ręcznie — od konfiguracji jądra, przez X11, po ścieżki w shelku. Nie ma kreatorów, nie ma GUI do ustawień, nie ma "next → next → finish".

Ale po skonfigurowaniu — działa. Działa przewidywalnie, stabilnie, dokładnie tak jak mu każesz. Nie ma aktualizacji w tle, nie ma telemetrii, nie ma niespodzianek. Stary ThinkPad z NetBSD to maszyna, którą rozumiesz w 100%. A to w dzisiejszych czasach rzadkość.

Jeśli masz czas, cierpliwość i nie boisz się grzebać — warto. Jeśli oczekujesz, że wszystko zadziała od razu — nawet nie podchodź.

Dalsza lektura

❯ cd ../articles/