FreeBSD编译内核详解( 四 )


#device awi # BayStack 660 and others
#device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
# Pseudo devices - the number indicates how many units to allocate.
device random # Entropy device
device loop # Network loopback
device ether # Ethernet support
device sl # Kernel SLIP
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
#device md # Memory "disks"
#device gif # IPv6 and IPv4 tunneling
#device faith # IPv6-to-IPv4 relaying (translation)
# The `bpf" device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
#device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device urio # Diamond Rio 500 MP3 player
#device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB ethernet
device axe # ASIX Electronics USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet
# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
#device fwe # Ethernet over FireWire (non-standard!)
#
##############################################################################################
配置完成后,按ESC键,然后提示按"a"后再按"a"就能够把配置文件保存 。
三、编译内核:
内核文件配置好以后就能够进行内核的编译了,一般有两种编译的方式,我们采取传统的编译方式 。
我们进入 /usr/src/sys/i386/conf 目录:

# cd /usr/src/sys/i386/conf
运行config命令来产生内核源代码 。
# /usr/sbin/config GENERIC
切换到建立内核的目录 。
# cd ../compile/GENERIC
编译内核
# make depend
# make
安装新内核 。
# make install
OK,到这里,如果中间没有出现任何错误的话,那么我们的内核心就已经安装成功了,reboot后就能够使用我们的新编译的内核了 。如果出现了
错误,那么请检查你的步骤是否跟上面的步骤一致,同时要检查你的内核配置文件配置的是否正确,一般编译不成功都是内核文件配置的问题
,请仔细检查 。
四、新内核无法启动:
如果你编译的内核无法启动,那么可以使用以前的内核来启动 。一般编译一次内核后,都会把把旧内核备份,一般/boot/kernel.old就是旧内
核的备份,出现问题就能够使用久内核来启动 。
具体实现方法是:
你可以在系统启动进行10计数的时候按Enter以外的任何键,接着键入unload命令,再键入boot kernel.old,或者任何能正常启动的内核名字
,然后就能够正常启动系统,进入系统后再重新进行内核的配置工作 。
注意: 你不能仅依靠kernel.old,因为当你安装一个新内核时,kernel.old会被上一次安装的内核所覆盖,所以你要么自己手动备份一个能
正常启动的内核,或者注意你的kernel.old是否能正常启动的内核 。
结束
好,到这里,我们的编译内核的工作就完成了,来然我们来看看我们的内核是否已经减小了:
# ls -l /boot/kernel/kernel
-r-xr-xr-x 1 root wheel 3090929 Sep 1 21:30 /boot/kernel/kernel
呵呵,明显把原来的5940286变成了现在的3090929,虽然没有变小一倍,但是也变小好多啦,以后系统又更快啦!
注意: 本文是在FreeBSD5.2.1的环境下进行的,不一定适合其他版本,特别是FreeBSD4.X版本,如果出现问题,请参考手册 。

推荐阅读