2009-07-28/15:33
Dan Langille
www.freebsddiary.org
如果你安装好了FreeBSD的话,那么应该认识了全屏幕配置界面。在这个界面里你可以排除硬件资源冲突,并且可以设置不同的系统部件,完成后可以保存这些信息然后继续引导处理。简而言之,这一步操作允许你对现有的内核作一些改变。这些改变会被保存到磁盘上。不过,在版本3.1,这些内容不会被保存到正确的位置,在这里我教你怎样改正它。
改变系统引导信息
先参考一下3.1版的errata.txt。以下是使用这些推荐信息的步骤。引导系统后登录,执行:
# mv /kernel.config /boot/kernel.conf
把以下命令加入/boot/loader.r:
load /kernel
load -t userconfig_script /boot/kernel.conf
autoboot 5
然后重新引导,这时可以看到一些新的引导信息。系统实际上进入了配置过程,并且执行了各种配置命令,我认为这确实是一个功能很强的工具。
以下是这次引导的dmesg信息,可以看出引导信息已经被修改了。
$ dmesg
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.1-RELEASE #0: Mon Feb 15 11:08:08 GMT 1999
jkh@usw3.freebsd.org:/usr/src/sys/compile/GENERIC
Timecounter "i8254" frequency 1193182 Hz
CPU: i486DX (486-class CPU)
real memory = 8650752 (8448K bytes)
config> di zp0
config> di ze0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di ex0
config> di ep0
config> di cs0
config> di wt0
config> di wdc1
config> di scd0
config> di mcd0
config> di matcdc0
config> di bt0
config> di aha0
config> di adv0
config> en ed0
config> po ed0 0x300
config> ir ed0 5
config> iom ed0 0xd8000
config> f ed0 0
config> q
avail memory = 5476352 (5348K bytes)
Preloaded elf kernel "kernel" at 0xf0340000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xf034009c.
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color <16 virtual consoles, flags="0x0">
ed0 at 0x300-0x31f irq 5 on isa
ed0: address 00:80:29:b1:f2:61, type NE2000 (16 bit)
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 not found
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1 not found at 0x2f8
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0):
wd0: 407MB (833664 sectors), 1002 cyls, 16 heads, 52 S/T, 512 B/S
ppc0 at 0x3bc irq 7 on isa
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
nlpt0: on ppbus 0
nlpt0: Interrupt-driven port
ppi0: on ppbus 0
plip0: on ppbus 0
vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
changing root device to wd0s1a