そこはかとなく

モバイル環境初心者が衝動買いしたモバイル機器と格闘した様と日々の備忘録など

NetBSD 5.99.22 へのアップデート

2009-12-08 01:04:25 | NetBSD
ノート PC の NetBSD が 4.99.73 (2008年10月頃?) と少し古いのでアップデートすることにします。

/usr/src/UPDATING を読むと、

* 新しいカーネル module の枠組み
* time_t/dev_t の 64bits への変更

など激しい変更があった様でいつも通りにアップデートすると嵌りそうです。
いつもは、

1. tool chain/カーネルのコンパイル
2. カーネルのインストール
3. リブート
4. ユーザランドのコンパイル
5. ユーザランドのインストール
6. リブート

この様な手順だったのですが、新しいカーネル module の仕組みを使う場合には、ブート時にカーネル module を読み込める boot loader を入れ、カーネル module も先にインストールしないといけない様です。そのため、カーネルだけでなく、カーネル module もコンパイル/インストールして、さらに、boot loader を入れ替えてからリブートしないと起動できない様です。

少し悩みましたが、やはり、いきなり boot loader を入れ替えて、boot しなくなるのも困ります。そこで、まずは、カーネルの config を GENERIC から変更して、カーネル module が不要なカーネルを作ることにします。

ffs など重要なものをカーネル module ではなく、カーネルそのものに組み込む様に設定します。no option ... の部分をコメントアウトし、ffs といった部分のコメントアウトを消します。そして、kernel を compile します。

% cd /usr/src
% cp sys/arch/i386/conf/{GENERIC,hogehoge}
% vi sys/arch/i386/conf/hogehoge
(no option ... の部分のコメントアウトを外す)
% ./build.sh tools kernel=hogehoge
% cd /usr/src/sys/arch/i386/compile/obj/hogehoge/
% sudo make install

そして、リブートすると、、、と起動できました。ぱちぱち。

次に、ユーザランドを入れ換えます。

% cd /usr/src
% ./build.sh -U distribution
% sudo ./build.sh -U install=/

そして、boot loader を入れ替えてみます。入れ替えるといっても、/boot だけを入れ替えれば良いようです。cp して終わりです。

% sudo cp /usr/mdec/boot /boot

そして、kernel から先に外した no option を復活させて、コンパイル、インストール、再起動すると、、、起動しました。load ffs と出て、ffs の kernel モジュールを正しく load してから boot できている様です。一安心です。

ふぅ、どきどきでした。
WAPBL とか試してみたいですが、それはまた今度。
ジャンル:
ウェブログ
キーワード
コメントアウト 64bit
コメント (0) |  トラックバック (0) |  この記事についてブログを書く
Messenger この記事をはてなブックマークに追加 mixiチェック シェア
« Flash Player plu... | トップ | ThinkPad X61 の... »

コメント

コメントはありません。

コメントを投稿

 ※ 
コメント利用規約に同意の上コメント投稿を行ってください。
※文字化け等の原因になりますので、顔文字の利用はお控えください。
下記数字4桁を入力し、投稿ボタンを押してください。この数字を読み取っていただくことで自動化されたプログラムによる投稿でないことを確認させていただいております。
数字4桁

トラックバック

この記事のトラックバック  Ping-URL

あわせて読む