http://hi.baidu.com/itlu8/blog/item/e27959d1a6318dd7562c841f.html
-、补充知识:磁盘分区表示方法(下面解说并不严密,仅仅是个例子而已)
(1) 磁盘表示方法(IDE接口,SCSI 和 SATA 不明):第一个 IDE 接口磁盘表示方法为
ad0(主盘) 、ad1(从盘);第二个 IDE 结构表示方法为 ad2(主盘)、ad3(从盘)。
(2)关于主分区和逻辑分区(slice):主分区表示方法 s1-s4,逻辑分区从 5 开始,而且一定是从
5 开始。主分区不够 4 个就留空,有一个就占用 s1,留空s2,s3,s4。有两个就占用 s1 和
s2,留空s3,s4。然后从 s5 开始。不过对于 BSD 来说,一般是从 s1 开始分的,除非人为的
设定。没有对应于 windows 系列下面的扩展分区(在 FreeBSD下面也算是主分区)。
注:此步可以对比于 windows 下面的分区 C、D、E、F 等等。
(3)分区表示(disklabel):从 a 到 h,但是要留空 b,c,d。也就是说每个分区(slice)只能有a,e,
f,g,h 一共五个 label。如果硬盘足够大,五个表示方法不够用,可以再新建分区的(slice) sn
(n=2 to n)。
注:此步可以对比于windows 盘符下面的文件夹:windows(winnt)、document、program 等等。
*******************************************************************************************************************
一个完整的磁盘表示方法:ad0s1a 第一个IDE接口主盘第一个分区且为主分区的第一个label,
一般默认挂载的是 "/";
说明:以上是我自己的理解,暂且就这么多。详细解说资料看看手册!以下是我在硬盘安装
FreeBSD 和 Linux 的时候对磁盘分区做的一个对比(ad2 表示第二个IDE口主盘,第一个
IDE 口接的光驱):
FreeBSD | Winxp | Linux | Grub
ad2s1 C:(8G) hda1 (hd0,0)
ad2s2 扩展分区(35G)hda2 (hd0,1)
ad2s5 D:(12G) hda5 (hd0,4)
ad2s6 E:(12G) hda6 (hd0,5)
ad2s7 F:(11G) hda7 (hd0,6)
ad2s3 --(15G) hda3 (hd0,2)
********************************************************************************************************
二、最小系统安装:
a、无论是光驱安装和硬盘安装,启动过程都是一样的。出现
CD loader...不用管,自检。
b、/stand/sysinstall Main Menu 选择 Standard,从标准安装开始。
c、Fdisk Partition Editor Fdisk 分区。
a:使用这个硬盘。如同windows 下面的一个 C 盘(新手推荐)。
c:创建slice。相当于创建盘符,不过没有扩展分区的概念。表示方法 ad0sn(n=1 to n)
d:删除slice
q:退出。
s:设定启动分区。如同 windows 下面的 active。
u:撤销全部操作。
d、FreeBSD Disklabel Editor。
a:自动默认(新手推荐) c:创建 d:删除
q:退出(未保存) u:撤销上一步 w:写入(保存)
e、Install Boot Manager for drive ad0? 多重引导程序安装
BootMgr:FreeBSD 的引导程序
Standard:标准引导(单系统使用)
None:不使用系统自带的,使用其他系统的引导程序,见于多系统安装。
三:系统配置和软件安装:
($ 表示普通用户,# 表示超级用户 root,// 表示注释,==>前表示修改前,后表示修改后)
#cp /etc/ppp/ppp.conf /etc/ppp/ppp.conf.bak // 修改前先备份,出现错误以后恢复使用
#vi /etc/ppp/ppp.conf // 陕西西安电信 adsl 上网,其他地方不明
set device /dev/cuaa1 ==> set device PPPoE:lnc0 //lnc0为网卡名称,可以用 ifconfig 获得
set dial "ABORT BUSY ……" ==>set dial # "ABORT BUSY ……" // 再注释下面一行
set timeout 180 ==> 注释掉
set authname USERNAME ==> USERNAME 改为 拨号用户名
set authkey PASSWORD ==> PASSWORD 改为 拨号密码
set ifddr 10.0.0.0/0 10.0.0.2/0 255.255.255.0 0.0.0 ==>注视掉
:wq 保存退出
#vi /etc/rc.conf
添加:ppp_enable="YES"
ppp_mode="ddail"
ppp_profile="papchap" // 对应于 /etc/ppp/ppp.conf 文件中的 papchap,一改全改。
ppp_nat="YES" // 如果需要 ADSL 共享上网,再添加下面两句
gateway_enable="YES" // ADSL 共享上网
#ppp -ddial papchap //可以上网了。断线的时候找到 ppp 进程,kill 掉就可以了
// 如果无法上网,使用 ifconfig 查看 tun0 是否有输出。
#vi /etc/profile
添加:export ENABLE_STARTUP_LOCALE=zh_CN.GBK
export LC_CTYPE=en_US.ISO8859-1
export LANG=zh_CN.GBK
export PACKAGESITE=\
// 前三行设定 locale,可以使用 locale -a | grep 'zh_CN' 查看系统支持的 locale。
// 第四行用来指定 pkg_add 远程安装 package 的地址。
#vi /boot/loader.conf
添加:autoboot_delay="2"
snd_es137x_load="YES"
// 第一行启动时候时间延迟改为 2 秒
// 装载声卡驱动,可以使用 kldload snd_driver 装载所有的声卡,然后使用
// cat /dev/sndstat 查看适合本机的声卡,再使
// 用 cat /boot/default/loader.conf | grep 'snd'
// 查看系统是否自带本机声卡。
#pkg_add -r cvsup-without-gui //用来更新 ports 和 standard
#pkg_add -r bash //替换普通用户的 sh
#pkg_add -r axel // 下载工具,用来替代 ports 下面的 wget
#pkg_add -r perl // 不用说了吧,好多东西用的到
#pkg_add -r samba // 网络邻居,如果就一台电脑就不用了,我的是虚拟机,
// 需要互传一些文件的,就装上了。
#rehash
$chsh -s bash // 修改普通用户的 shell 为bash,输入密码,exit 然后login
//就可以使用了。比 sh 方便的多。
四、内核编译:
a、更新源码
#cd /usr/share/examples/cvsup
#cp standard-supfile ports-supfile ~ //把源码树和ports树复制到当前用户目录下
#chmod +w standard-supfile ports-supfile // 默认情况下两个文件都是不可写的
#vi ports-supfile
*default host=CHANGE_THIS.FreeBSD.org ==> *default host=cvsup3.cn.FreeBSD.org
#vi standard-supfile
*default host=CHANGE_THIS.FreeBSD.org ==> *default host=cvsup3.cn.FreeBSD.org
#cvsup -g -L 2 prots-supfile
#cvsup -g -L 2 standard-supfile
b、配置内核
#uname -a > /home/username/pre-version //编译前的 uname
#cd /sys/i383/conf
#cp GENERIC FW // 我是想给系统内核添加一个防火墙,备份以后直接修改 FW 就可以了。
#vi FW
添加:options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
修改:ident GENERIC==> ident FW
// 以上修改可以参考手册,更详细设定可以查看内核设定、编译章节
c、编译内核
#cd /usr/src
#make buildworld //我在虚拟机上用了差不多三个小时 cer1.7G,192 MEM
#make buildkernel KERNCONF=FW
#make installkernel KERNCONF=FW
#reboot // 重启之后选择 4,即单用户模式,还需要继续编译
#cd /usr/src // 重启之后还需要到 /usr/src 目录下面才能执行下面的命令
#make installworld
#mergemaster -p
#reboot // 一直到这里才算完成
(完)