在 IBM TP600E 上运行 FreeBSD 7.1

如果非要挑个非 Mac 的话,那就只能是 Thinkpad 了,手上这台 IBM Thinkpad 600E 差不多陪了本人十年,历尽沧桑,最惨的时候可能就是拿它来垫桌子吃火锅了:),笔记本的质量能做成这样,已经服了~。新 Mac 被 LP 抢走后,少了台看信息的机器。昨天把这台不抱希望的本本拿出来点亮,居然还可以显示,光驱、硬盘可以用,除了电池以外其他基本正常,上面还跑着我 n 年前装的 FreeBSD 4.7,密码忘了进不去,重装 FreeBSD 7.1 算了。我打算做个架子把这台机器挂在办公桌旁边的墙上,当作监控用。这样抬头就可以看到各种信息,服务器断了、异常了、过载了就发警报提示。发张照片纪念一下 VPSee 的第一个10年本本:

ibm tp600e

FreeBSD 的安装过程这里就不提了,现在操作系统的安装程序都做得很傻瓜,没有什么问题。不过遇到几个硬件驱动问题需要编译内核解决。

配置内核

拷贝一个内核配置文件出来,然后在上面修改,除去不必要的 USB、不用的网卡、各类不需要的驱动,优化内核配置,最后加上 PCMCIA 网卡(3Com 3C589D)和声卡驱动:

# cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/TP600E
# vi /usr/src/sys/i386/conf/TP600E

# Display card support
device          agp             # support several AGP chipsets
options VESA
options SC_PIXEL_MODE
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
device dpms # DPMS suspend & resume via VESA BIOS

# Sound card support
device          sound
device          snd_mss

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device          cbb             # cardbus (yenta) bridge
device          pccard          # PC Card (16-bit) bus
device          cardbus         # CardBus (32-bit) bus

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support

# ISA Ethernet NICs.  pccard NICs included.
device          ep              # Etherlink III based cards

编译、安装内核

编译和安装内核:

# cd /usr/src

# make buildkernel KERNCONF=TP600E
# make installkernel KERNCONF=TP600E

修改 /etc/rc.conf,加入下面几行后重启系统:

# vi /etc/rc.conf

allscreens_flags="-MODE_278"
pccard_enable="YES"
ifconfig_ep0="DHCP"
hald_enable="YES"
dbus_enable="YES"

# shutdown -r now

重启后,插入 PCMCIA 网卡报错,提示:

pccard0: Card has no functions

估计是不能正确映射内存的原因,加入下面一行就应该可以了:

# vi /boot/loader.conf:

hw.cbb.start_memory="0x20000000" 

# shutdown -r now

如果重启后 dhcp 没有得到 IP 地址,手动运行:

# dhclient

启动 X

startx 启动 X 失败,看日志发现没有找到 neomagic 模块,需要安装 neomagic 驱动(机器在防火墙后面,需要先设代理,然后换个支持 http 下载的 port location,FreeBSD 默认是 ftp 的 port,如果不想每次登录都设 proxy 就把它加到 .cshrc 里面去):

# setenv HTTP_PROXY http://squid.vpsee.com:3128/

# setenv PACKAGESITE http://ftp2.de.freebsd.org/pub/FreeBSD/ports/i386/
packages-7.1-release/

# cd /usr/ports/
# pkg_add -r -v x11-drivers/xf86-video-neomagic-1.2.2_1

安装一个小巧的 X 窗口管理器 Fluxbox:

# cd /usr/ports/
# pkg_add -r -v x11-wm/fluxbox-1.1.0.1_5

# vi ~/.xinitrc
exec xterm &
exec fluxbox

升级系统

下载和安装二进制 FreeBSD base:

# freebsd-update fetch
# freebsd-update install

下载和升级 FreeBSD ports:

# portsnap fetch
# portsnap extract

评论 (3 Comments)

  1. 还是以前的IBM的本子质量好啊,现在的话,不行了,外壳由合金变成塑料,哎~~~~~
    你很强啊,BSD也能编译内核安装~~

  2. 没办法,不编译网卡声卡都运行不了啊

  3. 呵呵,链接进入此文。IBM果然优秀。

发表评论