http://decomo.info/wiki/" /> クソゲ〜製作所 - システムの再構築

クソゲ~製作所

新システムに移行中:http://decomo.info/wiki/

« FreeBSD de Folding@Home | メイン | 聖蹟桜ヶ丘を訪ねて »
スポンサーリンク

2006年03月30日

 

システムの再構築

 

カーネルを再構築する必要があったので、ついでにシステムも再構築(というか最新版に)してみた。その備忘録。

本作業をするにあたって、AirKnights(by みゅ。さん)の記事を、かなり参考にさせて頂きました(他にもFreeBSD関連の役立つ記事を沢山公開されてます。興味のある方は、ゴーゴゴー!!)。

  • ソースを最新のものにする

    cvsupを用いて行う。

    /usr/share/examples/cvsup/stable-supfile をコピーし、自分の環境に合せて書き換えて、cvsupをする。

    $ cp /usr/share/examples/cvsup/stable-supfile /etc/release-supfile
    $ cd /etc
    $ su
    # chmod 644 release-supfile
    # emacs release-supfile
    *default host=CHANGE_THIS.FreeBSD.org → cvsup2.jp
    *default release=cvs tag=RELENG_6RELENG_6_0
    
    # cvsup -g /etc/release-supfile
    

    上記の強調箇所を、赤文字のようにした。意味は、前者がソースの更新に使うサーバ、後者が更新するシステムのバージョンを表す。今回は6.0-RELEASEを更新するので「RELENG_6_0」となる。「RELENG_6」のままだと、6.x-RELEASEの更新となってしまうので要注意。最初、この設定で更新したら、6.1-PRERELEASEにアップデートされてしまい、orzとなった。

  • カーネルの設定

    独自設定のカーネルにしたい場合は、コンフィグファイルの雛形 /usr/src/sys/i386/conf/GENERIC をコピーし、自分の環境に合せて書き換える。カスタマイズしたコンフィグファイル名は、マシン名を大文字にしたものにするのが慣例っぽい。俺は 慣例+年月日 にした。無論、デフォルトのカーネル(GENERIC)でよければ、この作業は必要ない。

    # cd /usr/src/sys/i386/conf
    # cp GENERIC YGGDRASIL20060330
    # emacs
    最低限 ident GENERICident コンフィグファイル名 に書き換える。
    

    オプションの依存関係(コンフィグファイルのコメントに「require hoge」と書いてある)には注意しよう。さもないと、コンパイルで失敗する。

    尚、VIA C3(Samule 2)の場合「cpu I686_CPU」にしないと、CPU class not configured というカーネルパニックが発生するので要注意!!(ただ、C3はサポートしていない命令があるとかで、厳密にはi586クラスらしい。portsなどをi686指定でコンパイルすると、未定義命令が入って落ちることがあるとか。カーネルのコンパイルについては、ログを見るとI686_CPUと設定しても -march=pentium となってるので問題にはならないのかな。詳しい事はわかりません)。

  • システムのコンパイル

    いくつかスレッドを立ててやると、早く終わるらしい(4スレッドが一番効率的だとか)。

    # cd /usr/src
    # make -j4 buildworld
    

    コンパイル時間はマシン性能に左右される。参考までに VIA C3(800MHz) + 256MB では6時間程かかった。

  • カーネルのコンパイル

    カスタマイズしたカーネルを作る場合、KERNCONFでコンフィグファイル名を設定する。特に設定がなければ、GENERICのカーネルが作られる。

    # make KERNCONF=YGGDRASIL20060330 buildkernel

    コンパイル時間はマシン性能に左右される。参考までに VIA C3(800MHz) + 256MB では1時間程かかった。

  • カーネルのインストール

    コンパイルが無事に終わったら、新しいカーネルをインストールする。カスタマイズしたカーネルの場合は、上で指定したKERNCONFを再度指定しなければならない。

    初めてカーネルを再インストールする際に、GENERICのカーネルのバックアップを取っておくと良い。

    # cp -Rp /boot/kernel /boot/kernel.GENERIC (最初の1度だけ)
    make KERNCONF=YGGDRASIL20060330 installkernel
    
  • システムのインストール

    シングルユーザーモードで起動し、作業を行う。

    まず、起動項目選択画面(1.Boot FreeBSD with ACPI とか、そんなメニューがある画面)で、プロンプトへ抜けるメニュー(6.0-RELEASEでは6番)を選択する。そして、以下のコマンドでシングルユーザーモードでOSを起動する。

    OK boot -s

    カーネルがうまく出来ていないと、この段階でこける。その時は上のコマンドに代わって、以下のコマンドでGENERICなカーネルを起動し、対策を図る。

    OK boot kernel.GENERIC

    次に、シェルのパスが聞かれるので入力。その後、パーティションをマウントし、システムをインストールする。

    Enter full pathname of shell or RETURN for [/bin/sh] : /bin/sh
    # sbin/mount -a
    # su
    # cd /usr/src
    # make installworld
    
Decomo | 20:10

トラックバック

 

■このエントリーのトラックバックアドレス:
http://www.decomo.info/cgi-php/mt/mt-KusoGA-gattsuIshimatsu.cgi/178


■このエントリーのアドレス:
http://decomo.info/mt/archives/2006/200603302010.shtml

 

コメント

 
 

コメントをどうぞ...

 






保存しますか?