NetBSD 5.1.2 が 2/11 にリリースされていたようだ。
$ cd /home/NetBSD/src $ cvs -PdAC -r netbsd-5-1-2-RELEASE $ rm -rf ../obj ../tools $ ./build.sh -O ../obj -T ../tools -j 5 tools $ ./build.sh -O ../obj -T ../tools -j 5 kernel=GENERIC $ ./build.sh -O ../obj -T ../tools -j 5 -U distribution ... $ sudo rm -f /onetbsd $ sudo ln /netbsd /onetbsd $ sudo cp /home/NetBSD/obj/sys/arch/i386/compile/GENERIC/netbsd /nnetbsd $ sudo mv /nnetbsd /netbsd $ sudo shutdown -r now ... $ cd /home/NetBSD/src $ sudo ./build.sh -O ../obj -T ../tools -U install=/ $ sudo /usr/sbin/etcupdate -s /home/NetBSD/src ... obsolete check: Remove obsolete file /usr/lib/libdns.so.1.2 Remove obsolete file /usr/lib/libisc.so.1.2 postinstall checks passed: bluetooth ddbonpanic defaults dhcpcd envsys fontconfig gid hosts iscsi makedev motd mtree named nosa pam periodic pf rc ssh wscons x11 xkb uid varrwho postinstall checks failed: obsolete To fix, run: /usr/sbin/postinstall -s '/home/NetBSD/src' -d / fix obsolete Note that this may overwrite local changes. *** All done $ sudo /usr/sbin/postinstall -s /home/NetBSD/src -d / fix obsolete Source directory: /home/NetBSD/src Target directory: / obsolete fix: Removed obsolete file /usr/lib/libdns.so.1.2 Removed obsolete file /usr/lib/libisc.so.1.2 postinstall fixes passed: obsolete postinstall fixes failed: $ sudo shutdown -r now
CPU: Intel Core i3 530 (2.933GHz)、Memory: 2GB での実行時間。
$ time build.sh -O ../obj -T ../tools -j 5 tools real 2m56.160s user 5m29.709s sys 0m43.047s $ time ./build.sh -O ../obj -T ../tools -j 5 kernel=GENERIC real 2m19.472s user 6m26.590s sys 0m34.056s $ time ./build.sh -O ../obj -T ../tools -j 5 -U distribution real 23m50.679s user 65m5.661s sys 9m4.000s
参考
- Updating a stable NetBSD release
- The NetBSD Guide – Chapter 33. Updating an existing system from sources
補足
最初、前回 build したときの obj ディレクトリを消去しないで build.sh を実行したところ、distribution の構築の最後の方でエラーになってしまった。 5.1 release の build 時に作成された ../obj/destdir.i386/stand/i386/5.1 が消されずに残っているためらしい(今回新たに作成されるのは ../obj/destdir.i386/stand/i386/5.1.2 というディレクトリ名になっている)。
$ ./build.sh -O ../obj -T ../tools -j 5 -U distribution (略) ======= 68 extra files in DESTDIR ========= Files in DESTDIR but missing from flist. File is obsolete or flist is out of date ? ------------------------------------------ ./stand/i386/5.1 ./stand/i386/5.1/modules ./stand/i386/5.1/modules/adosfs ./stand/i386/5.1/modules/adosfs/adosfs.kmod (略) ========= end of 68 extra files =========== *** [checkflist] Error code 1 1 error (略) ERROR: Failed to make distribution *** BUILD ABORTED ***
手で消去して、-u オプション付きで build.sh を実行すれば再コンパイルなしで続行できる。
$ rm -rf ../obj/destdir.i386/stand/i386/5.1 $ ./build.sh -O ../obj -T ../tools -j 5 -U -u distribution