升级至FreeBSD.5.2.1

因为可以再装一台FreeBSD,所以尝试把原来那台FreeBSD升级成5.2.1,使用make world。 首先是更新源码,主要就是设置cvsup,然后更新源码。

修改样本文件

/usr/share/examples/cvsup/stable-supfile

如下两行

*default host=cvsup.cn.FreeBSD.org
*default release=cvs tag=RELENG_5_2_1_RELEASE

然后执行

cvsup -g L 2 stable-supfile

更新完毕源码后

修改/etc/make.conf(样本文件在/usr/share/examples/etc/make.conf),添加

CFLAGS= -O -pipe
CXXFLAGS+= -fmemoize-lookups -fsave-memoized

然后进入/usr/src准备开始make world

因为我在5.2.0上升级到5.2.1,基本的user和group都不会有变动,所以就免去检查用户和组那一步。

查看的资料分两步和四步的,虽然两个步骤比较方便,但是出错的话,检查比较麻烦,所以先按四步来,毕竟是第一次。

cd /usr/src
script ~/buildworld.out
make -j10 buildworld
exit

完成buildworld,日志文件记录在~/buildworld.out里面

保存当前运行kernel

cp -R /boot/kernel /boot/kernel.allblue.520

编译GENERIC内核(同样多CPU可以用-j10之类来指定多线程)

make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC

保存GENERIC内核,继续编译自定义内核

cp -R /boot/kernel /boot/kernel.GERENIC
make buildkernel KERNCONF=ALLBLUE_KERNEL
make installkernel KERNCONF=ALLBLUE_KERNEL

重新启动到单用户模式

mount -a
make installworld

合并/etc

mergemaster -cv

按提示选择安装新版本配置文件,合并,还是删除新版本配置文件等等

最后重启,一切搞定!