2009-07-28/15:33
1. 原本 FreeBSD (2.2.5 RELEASE) 对 PCMCIA 的支援并不是很完善,
在日本的 FreeBSD user 有发展出一套 PAO 的 package, 能够让
FreeBSD 认得多种的 pcmcia 装置, 所以首先你要去抓
PAO-970201.tar.gz 和 boot-pao.flp (for 2.2.5 Release).
这两个 file 之前网友 zenlin 和 edwardc 已经 mirror 回来了
你也可到下列位置抓
ftp://turtle.ee.ncku.edu.tw/pub/bsd/mobil/PAO-971201.tar.gz
ftp://turtle.ee.ncku.edu.tw/pub/bsd/mobil/boot-pao.flp
2. 将 boot-pao.flp 做成开机片,开机
我们不用它来装 bsd, 只是要看看 notebook 上的 PCMCIA bridge 是否有被
support, 如果没有那下面就没戏唱了
如果你的 PCMCIA bridge 有被测到, 那麽接着会开始 search 你的 PCMCIA
device, 比如说网路卡, 当初我在装的时候, 出现的是
"Ethernet(Adapter)" not supported
别担心, 把这个字串记下来备用.
3. cd /usr/src
tar -xvf PAO-971201.tar.gz
cd /usr/src/PAO-971201/2.2.5-RELEASE
make backup-sys
make patch
make install-include
make devices
cd etc
make install (这个步骤会把你原来的 rc.conf rename 成 rc.conf.orig)
cd ../usr/sbin
make; make install
cd ../sbin
make; make install
cd /sys/i386/conf
修改 PAO 这个 kernel config file 以符合自己的需要,然後 make kernel
以上步骤详见 /usr/src/PAO-971201/2.2.5-RELEASE/README
4. 接着需要修改的就是 /etc/pccard.conf 了. (请先 man 一下 pccard.conf)
这个 files 其实是一个 database, 记有各种 PCMCIA 的 "辨识字串" 和
硬体组态, 把它叫出来, 在 for unsupported card 区加入
# NE2000 compatible PCMCIA
card "Ethernet" "Adapter" <----这 2 段辨识字串就是是刚记下的那串
config default "ed0" any
insert echo NE2000 inserted
insert /etc/pccard_ether $device
remove echo NE2000 removed
remove /etc/pccard_ether_remove $device
5. 修改 /etc/rc.conf (已经 PAO 被换过的版本)
在最後几行有一个 ifconfig_common="inet 10.0.0.1 netmask 255.255.255.0"
把它改成你网路卡需要的 ip/mask
还有 defaultroute 要设成你的 default gateway
6. 重新开机, 然後你会看到 (应该啦..:)
Initializing PC-card drivers: ed ep fe sn sio wdc
Probing for devices on PCI bus 0:
chip0
rev 176
vga0 rev 0 int a irq ?? on pci0:12
chip1 rev 163
pci0:18:1: UMC, device=0x0101, class=storage (ide) [no driver assigned]
pcic0 rev 254 int a irq
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^你的 PCMCIA bridge
还有
crd: ctlr(0) Cirrus Logic PD-6729/6730 (5 mem & 2 I/O windows)
rnel: pcic: controller I/O address 0xfcfc
rnel: pcic: controller irq 9 (shared)
rnel: pcic: controller I/O address 0xfcfc
rnel: Card inserted, slot 0
pccardd[38]: Card "Ethernet"("Adapter") matched "Ethernet" ("Adapter")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^抓到了
ed0: address 00:e0:98:00:bb:bd, type NE2000 (16 bit)
pccardd[38]: pccardd started
7. 在我的 notebook 上, enable apm 会当机, 如果你有当机的情形发生,
试着关掉 apm0 看看.
ps:目前的 apm 并未 support HD (最耗电的部份...)
而且似乎 bios 的 apm 功能仍有效, 我想关掉 bsd apm 应该影响不大