*** How to upgrade FreeBSD from 3.x to 4.x-STABLE ***
*** 關於更新的步驟亦可在新的 /usr/src/UPDATING 裡面找到.
*** 請檢查自己的gcc 版本是否為 2.95.2 以上, 若否, 則請先upgrade之.
1. 更新/usr/share/examples/cvsup 裡面的 supfile
(1) 可以找另外一台已經 update 好的直接用 ftp 抓過來
(2) 也可以到 freebsd.csie.nctu.edu.tw 去抓
2. 更新/usr/src/Makefile* (Makefile Makefile.inc1 Makefile.upgrade)
更新方法同上 (1)
3. (in /usr/src)
make update
3. 檢查自己的 /etc/make.conf 有沒有以下的設定, 如果有, 將他們註解起來.
MAKE_KERBEROS4
4. (in /usr/src)
make buildworld -DNOPERL
(重要: -DNOPERL 不可省略, 否則將導致make buildworld 失敗)
5. 編譯新的kernel:
(1) 到 /usr/src/sys/i386/conf 去生出一個 kernel config file
(本例取名為 CNMC)
(2) (in /usr/src)
make buildkernel KERNCONF=CNMC
make buildkernel KERNCONF=CNMC
make installkernel KERNCONF=CNMC
6. (in /usr/src/sbin/mknod)
make install
7. 建立新的disk device node
(1) cp /usr/src/etc/MAKEDEV /dev
(2) MAKEDEV ad0 (如果還有其他disks依此類推)
(3) MAKEDEV ad0s1a (如果還有其他slices和partition亦同)
8. reboot 進入單人模式之後:
fsck -p
mount -u /
mount -a
9. (in /usr/src/gnu/usr.bin/texinfo/install-info)
make install
10. (in /usr/src)
ldsonfig -R /usr/obj/usr/src/lib/libc
11. make installworld -DNOPERL
12. mergemaster
此步驟用來更新/etc底下的檔案, 通常我們都直接用i套用新的設定檔
不過請注意不要把master.passwd, fstab, group, rc.conf這幾個檔案蓋掉了
所以在做這個步驟的時候眼睛請睜大看清楚, 不要按得太快
如果能泡杯咖啡幫助頭腦清醒那是再好不過了
13. reboot 回到 multi-user mode
14. 再 make world 一次, 因為第一次沒有make到 perl.
(in /usr/src)
make buildworld
make installworld