FreeBSD-Stableへのバージョンアップ

FreeBSD 5-Stableへアップグレードしたときのメモです。

/usr/srcを最新のstableに更新する

/usr/share/example/cvsup/stable-supfileをコピーしてstable-supfileを作成する

# cd /root/etc
# cp /usr/share/example/cvsup/stable-supfile .
# vi stable-supfile

/root/etc/stable-supfile

以下の行を修正する

*default host=cvsup5.jp.FreeBSD.org

*default release=cvs tag=RELENG_5

ソースツリーの取得

# cvsup -L 3 -g stable-supfile

ソースが取得されるまでひたすら待ちます。

ユーザーランドの構築(buildworld)

ソースが取得できたらビルドワールド。バックグラウンドでコンパイルして、ログをlog.bwに取得し、ログを画面に表示する。(ログを取得しながら、ログを見る方法には他にもいろいろな方法がある。たとえば、scriptやscreenなど)

# cd /usr/src
# make buildworld > log.bw 2>&1 &
# tail -f log.bw

カーネルコンパイル

自分用のカーネルオプションでカーネルコンパイルする。

# cd /usr/src
# make buildkernel KERNCONF=MYCONF > log.bk 2>&1 &
# tail -f log.bk

カーネルのインストール

# cd /usr/src
# make installkernel KERNCONF=MYCONF

ユーザーランドのインストール

シングルユーザになってインストールして、リブートする。

# shotdown now
# mount -a /
# cd /usr/src
# make installworld > log.iw 2>&1 &
# tail -f log.iw

/etc/の更新

mergemasterを使って/etc/の更新をする。

# cd /usr/src
# mergemaster

フィニッシュにリブートする

/etc/を更新したら、リブートしてFreeBSDをリフレッシュ。これでFreeBSDが起動できたら、dmesgや/var/log/messageなどを見て、以上がないかチェックして終了。

# reboot
....
# dmeag | jless
# jless /var/log/message