将FreeBSD 4.11升级到6.2
1. 首先4.11升级到5.4
2. 然后5.4升级到6.2
3. 如果是4.11以前版本建议先升级到4.11, 而有时候升级到4.11 make kernel出错, 可以先make installworld再make kernel
4. 如果5.4 make world 到 6.2 有出错信息,建议从一台安装了5.4的机器中提取 /usr/lib /usr/include /usr/libexec 复制到升级机器上
5. 整个升级过程建议在一个非常稳定的ssh连接下进行, 不应该有超时断开或者网络中断
6. 本文参照: http://blog.gslin.org/
4.11->5.4
# csup cvsuplist
# cd /usr/src
# rm /etc/make.conf
# make buildworld
# make buildkernel
# cp /sys/i386/conf/GENERIC.hints /boot/device.hints
# cd /usr/src/sys/boot
# make STRIP="" install
找一台FBSD5.x以上的 dd if=/dev/random of=blah count=1 bs=4k
将这个 blah (4096bytes)复制并重命名到4.11的 /entropy
# cd /usr/src
# make installkernel
# rmdir /etc/pam.d
# mergemaster -p
# rm -rf /usr/include/g++
# mergemaster -i
修改 /etc/rc 内容如下
if [ -r /not.ok ]; then
/sbin/mount -u /
/sbin/mount -a
/bin/rm -f /not.ok
cd /usr/src
/usr/bin/make installworld DESTDIR=/
cd /
/sbin/umount -a
/sbin/reboot
fi
# touch /not.ok
# reboot
重启后会自动在单人模式make installworld,然后再重启
# rm /etc/pam.conf