$ cd ../articles/

This article is also available in Polish (polski).

Purpose

This is not a "how to install NetBSD" guide. Installing NetBSD takes 10 minutes and is simpler than any Linux. This document describes what happens after — when the system is up but nothing works the way you want. A record of real experiences using NetBSD as the main OS on a ThinkPad T400. No sugar coating. No "this is great, highly recommend".

Hardware

ComponentModel
ModelThinkPad T400 (last with 16:10 display and a real keyboard)
CPUIntel Core 2 Duo P8600 (2.40 GHz, Penryn, 45nm)
RAM8 GB DDR3 (yes, the GM45 chipset handles 8 GB despite spec saying 4 GB)
GPUIntel GM45 (GMA 4500MHD)
Storage128 GB SSD (SATA II — this is not a fast drive)
Display1280×800, matte CCFL panel
WiFiIntel WiFi Link 5100 AGN (iwn)
SystemNetBSD 11 amd64

WiFi — Don't Even Try at First

The Intel WiFi Link 5100 card (iwn driver) requires firmware. NetBSD doesn't bundle it in the installer. Your first WiFi attempt ends with iwn0: could not load firmware. Don't waste time on this during installation.

Solution: plug in an Ethernet cable. Install via wired connection. Only after a full install do you fetch the firmware:

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

Manual fiddling with /etc/ifconfig.iwn0, /etc/wpa_supplicant.conf, /etc/rc.conf. No NetworkManager here — you do everything yourself.

Kernel — Pain That Pays Off

The generic NetBSD kernel (GENERIC) works. But if you want everything to work well, you compile your own. This means:

  • Download sources (src.tgz)
  • Configure the kernel via config(1)
  • Cut everything unnecessary — RAID controllers, FireWire, Bluetooth, CardBus, dozens of network drivers you'll never use
  • Add only what's in the T400 — wd(4) for SATA, wm(4) for Gigabit Ethernet, iwn(4) for WiFi, acpi(4) for power management, wsdisplay(4) for console
  • Build: ./build.sh -j2 kernel=MYKERNEL

On the Core 2 Duo P8600, kernel compilation takes ~15-20 minutes. Not bad. But you do it several times before nailing the perfect config. Afterwards, the kernel weighs a few MB instead of dozens and boots in a second.

Configuration — Everything by Hand

.bashrc, Paths, Aliases

NetBSD gives you /bin/sh by default, not bash. If you want bash — install it (pkgin install bash), change the shell in /etc/passwd. Then manually configure ~/.bashrc, ~/.profile, add paths to /usr/pkg/bin, /usr/pkg/sbin — because NetBSD keeps packages in /usr/pkg, not /usr like Linux.

X11 — Works Out of the Box

The intel(4) driver for GM45 works with default config. Just launch your window manager via ~/.xinitrc. dwm and bandw-wm start without touching xorg.conf.

# ~/.xinitrc
exec dwm
# or in rotation:
# exec bandw-wm

Packages — No Miracles

pkgin is simple and works. But the pkgsrc repository on NetBSD is smaller than on Linux. Some things simply don't exist. So — you compile from source. And if there's no source — you write it yourself. Yes, I'm a masochist. Compiling everything from code is my natural state.

Daily Usage

AspectReality
BrowserFirefox ESR from pkgsrc, works. Slow, but works. Non-JS sites load instantly.
Audioaudio(4) + snd_hda. Works out of the box. On T400 with mono speakers — zero problems.
Suspend/Resumesysctl hw.acpi.sleep.state=3. Works. Sometimes backlight doesn't come back after resume — wsconsctl -d saves the day.
Batteryenvsys(4) reports status. Original 2008 battery lasts one hour. Replaced with a new one — 3-4h.
TrackPointWorks out of the box via pms(4). No configuration needed.
PrinterSamsung SCX-4300 via CUPS + splix. Works on OpenBSD, probably on NetBSD too.

Conclusion

NetBSD on T400 is not a system for lazy people. You do everything by hand — kernel config, X11, shell paths. No wizards, no GUI settings, no "next → next → finish".

But once configured — it works. Predictably, stably, exactly as you told it. No background updates, no telemetry, no surprises. An old ThinkPad with NetBSD is a machine you understand 100%. And that is rare these days.

If you have time, patience, and aren't afraid to tinker — it's worth it. If you expect everything to work immediately — don't even bother.

Further Reading

❯ cd ../articles/