Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

5.3R→6.0Stableメモ

upgrade手順

  • CVSupで最新のソース取得
  • ユーザーランドの構築
  • カーネルの構築
  • カーネルのインストール
  • ユーザーランドのインストール
  • etcのマージ

CVSup

CVSupをインストールしてsupfileの該当部分を以下のように書き換え

*default host=cvsup2.jp.FreeBSD.org
*default release=cvs tag=RELENG_6

ちなみに、一度CVSupを行った後は、/etc/make.confを適当に書いて

# cd /usr/src
# make update

でソースツリーの更新が出来る。

buildworld

# cd /usr/src
# make buildworld

make -j4 buildworldとやると複数のプロセスでコンパイルできる→短時間で終わる、とのことなので、-j4つけてbuildworldをやったが、なんだかエラーで終了してしまった。で、ゴミが残ったので

# cd /usr/obj
# chflags -R noschg *
# rm -rf *

して、make buildworldでやったらすんなり行く。約1時間。

buildkernel

# cd /usr/src
# make buildkernel

特定のコンフィギュアを行うのなら、/usr/src/sys/i386/conf/GENERICを参考にkernelconfを書いて

# make buildkernel KERNCONF=hoge

とりあえず今回はGENERICのままカーネル再構築。

installkernel

# cd /usr/src
# make installkernel

する。ほんとはシングルユーザーモードでやった方がいいらしいが、めんどくさかったのでそのままinstall。。。つか面倒だったのでPutty上からリモートでinstallkernelやった。恐ろしい。でもネットワークも切れずに何事もなく無事終了・・・。うーん不思議だ。でも楽でいいや

ちなみにカーネル再構築時にkernelconfを指定した場合、インストール時も同様に指定する。

ちゃんと新カーネルが入ったか確認。

# uname -rs
FreeBSD 6.0-STABLE

と出ればOK。ここでいちど shutdown -r now する。

installworld

# cd /usr/src
# make installworld

これもほんとはシングルユーザーモードでやった方がいいらしいが、めんど(中略)何事もなく無事終了・・・。不思議だ。

mergemaster

# cp -Rp /etc /etc_5.3

こんなかんじで一応設定ファイルのバックアップを取っておく

# /usr/sbin/mergemaster -svia
# /usr/sbin/mergemaster -svir

して設定ファイルのマージ。よくわからんかったので全部d→y連打。いいのだろうか。。。

とりあえず無事に動いてるっぽいです。