学电脑,学计算机 | 手机访问 | 加入收藏 | 设为首页 | RSS
当前位置:首页 > 操作系统 > FreeBSD专题 > 正文

FreeBSD基础点滴

发布时间:2009-06-24 01:08:20  来源:本站整理
【摘要】: FreeBSD基础点滴
在此需要注意的是3.1及以上版本的系统需两张磁盘,而此前的版本只需一张。 

引导盘的作用
引导盘包含一个最小版本的FreeBSD,用它足以完成查看磁盘、网络、复制安装完全系统所需的文件等等工作。 

引导盘的产生
你即可以从光盘也可以从互联网制出引导盘来。不管用哪种方法,你都可以在发布版中找到一个floppIEs目录和一个tools目录,两个目录里存放着所需的文件,不过并不需要里面的全部文件。如果用的是光盘的话,这两个目录在第一张盘里。如果从互联网安装,在FreeBSD的镜像网站中找一个合适的FTP站点。 

操作说明
floppies目录下的README.TXT文件说明了制作引导盘的详细过程。
例如:ftp://ftp.FreeBSD.ORG/pub/FreeBSD/releases/i386/3.4-RELEASE/floppies/README.TXT
此文件就是针对3.4-RELEASE版本而言的。 
注意,要复制的文件并非Dos结构,勿用DOS下通常的复制方法来作。一定要用tools目录下的fdimage.exe或rawrite.exe。 

具体步骤
例如,假定安装的是3.1-RELEASE。在/floppies目录下找到README.TXT。先仔细阅读一下,因为它是详细说明嘛。准备好两张格式化好的软盘,然后找这三个文件:/tools/fdimage.exe /floppies/kern.flp /floppies/mfsroot.flp

在DOS环境下执行这两个命令: 

fdimage kern.flp a:
<插第一张盘> 

fdimage mfsroot.flp a:
<再换另一张盘> 

完成后没有错误提示的话就OK啦;在FreeBSD环境下的话就换这两个命令,成功的话应该象这样: 

<插第一张盘>
# dd if=kern.flp of=/dev/fd0c
2880+0 records in
2880+0 records out
1474560 bytes transferred in 193.898431 secs (7605 bytes/sec) 

<再换另一张盘>
# dd if=mfsroot.flp of=/dev/fd0c
2880+0 records in
2880+0 records out
1474560 bytes transferred in 193.197363 secs (7632 bytes/sec) 

还是那句话,要没有读写之类的错误,否则请换好一点的盘…… 


--------------------------------------------------------------------------------
保存和使用内核更改信息

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 


--------------------------------------------------------------------------------
在FreeBSD 4.0下安装USB鼠标支持

Benn Bollay
www.freebsddiary.org 
要想让你的USB鼠标在FreeBSD 4.0 Release下工作,请按以下这些简单的步骤操作:
先在内核配置文件中加入下列适当的接口设备选项: 

device uhci
device ohci
device usb
device ums 

再在/etc/rc.conf中加入以下这些行: 

moused_enable="NO"
moused_flags="/dev/ums0"
usbd_enable="YES"
usbd_flags="" 

最后确保你的/etc/usbd.conf有以下这些行: 

device "Mouse"
devname "ums[0-9]+"
attach "/usr/sbin/moused -p /dev/${DEVNAME} -l /var/run/moused.${DEVNAME}.pid" 

然后制出设备接口: 

cd /dev
./MAKEDEV ums0 

重新编译内核后重启系统。在此我还是推荐你在尝试新内核前把原有内核/kernel复制一份到/kernel.stable,这样就算有什么问题还可以用手边的原内核启动。 

参考文档和手册页
推荐你多看看下面这些手册页:
usb(4)
usbd(8)
usbd.conf(5)
usbdevs(8)
ums(4)
如果你在X11下也用鼠标的话,这种即用式设备真的工作得非常好,它支持热插拔,而且无需手工发送HUP信号。