Dec 08, 2007
KURO-BOX NetBSD install [computer]
玄箱にNetBSDをインストールする方法はこちらのURLを参照 http://www5.atwiki.jp/kuro-bsd
まずNetBSD3.0ベースのインストールを試みる。 実使用ではpfのバージョンが上がってaltqが使えるようになっている等 4.0系の方がよさそうだがまず動くものを一度作ってみる。
パーティションの変更
320Gのハードディスクを接続し、普通に玄箱の付属のCDROMから通常の セットアップ行った。シリアルコンソールからrootでloginし、 EM modeに入る
#echo -n 'NGNG' > /dev/
この後電源スイッチを長押しして電源を落として再起動する。 EM mode ではFlash ROM内蔵のLinuxが起動する。 この状態でfdiskを使ってディスクのパーティションの変更ができる。
/dev/hda3を2つに分割して/dev/hda4を作る。これを解放してnetbsd 用のパーティションにする。
/dev/hda1 1 261 2096451 83 Linux /dev/hda2 262 293 257040 82 Linux swap /dev/hda3 294 10000 77971477+ 83 Linux /dev/hda4 10001 38913 232243672+ 83 Linux
ホスト機からブートローダ、ブートセレクタ、カーネルをコピーする
ftpを使う方法があるがKURO-BOX側に入ればscpでコピーできるので scpを使う方が楽
# mkdir /usr/local/netbsd # scp yoshiaki@host:/usr/local/src/kuro-netbsd/util/* . # scp yoshiaki@host:/usr/local/src/kuro-netbsd/netbsd.GENERIC3_1.20061029.bin.bz2 . nbloader_v3.20061014.tar.bz2 kuro-bootsel2.20070207.tar.bz2 netbsd.GENERIC3_1.20061029.bin.bz2
nbloaderはLinuxのカーネルモジュールとして動作する。Linuxのカーネルモードで netbsdのカーネルをロード、メモリマップの初期化を行いnetbsdのカーネルに制御を 渡す。
linux用のユーティリティをKURO-BOXにコピーする
# mkdir /usr/local/linux-bin # cd /usr/local/linux-bin # scp yoshiaki@host:/usr/local/src/kuro-cd/binary/* .
bzip2, makeを展開しておく
# cd / # tar xvzpf /usr/local/linux-bin/bzip2-1.0.2.tar.gz # tar xvzpf /usr/local/linux-bin/make-3.79.1.tar.gz ついで^^; # tar xvzpf /usr/local/linux-bin/binutils-2.10.91.0.2.tar.gz # tar xvzpf /usr/local/linux-bin/gcc-2.95.3.tar.gz # tar xvzpf /usr/local/linux-bin/gdb-5.1.tar.gz # tar xvzpf /usr/local/linux-bin/glibc-2.2.3.tar.gz # tar xvzf /usr/local/linux-bin/libstdc++2.10-2.95.3.tar.gz # tar xvzpf /usr/local/linux-bin/ntp-4.0.99g.tar.gztarのjオプションでbzip2で圧縮したアーカイブを展開できるようになる
# cd /usr/local/netbsd # tar xvjf nbloader_v3.20061014.tar.bz2 # tar xvjf kuro-bootsel2.20070207.tar.bz2
カーネルをブートローダーから見える場所に置く
(デフォルトのLinuxでマウントされるファイルシステム上)# mkdir /boot # bzcat netbsd.GENERIC3_1.20061029.bin.bz2 >/boot/netbsd.bin # ls -l /boot/ total 2860 -rw-r--r-- 1 root root 2922920 Dec 1 19:20 netbsd.binカーネルの確認
# uname -r 2.4.17_mvl21 (玄箱/HGの場合)
ブートローダーをLinuxのローダブルモジュールの位置にコピー
# cp nbloader_v31/binary/2.4.17_mvl21/nbloader_v3.o /lib/modules/2.4.17_mvl21/kernel/
ブートセレクタのインストール
# cd /usr/local/netbsd/kuro-bootsel2 # make install
ブートセレクタの設定ファイルにUSBブートの設定を入れる
# vi /etc/kuro_boot.conf # Menu entry No.4 # menu4="NetBSD(USB:sd0a)" loader4=/lib/modules/`/bin/uname -r`/kernel/nbloader_v3.o kernel4=/boot/netbsd.bin option4='cmdline="bootdev=sd0a"' # reboot ************************************************ Select the OS in 3 secs: (default is 1) 1: Linux 2: NetBSD(HDD:wd0) 4: NetBSD(USB:sd0a)4を入力してNetBSDを起動 fdisk -u で確保しておいたパーティション4を一度削除し、NetBSDの パーティション用に確保しなおす
Partition table: 0: Linux native (sysid 131) start 63, size 4192902 (2047 MB, Cyls 0-261) 1: Linux swap or Prime or Solaris (sysid 130) start 4192965, size 514080 (251 MB, Cyls 261-293) 2: Linux native (sysid 131) start 4707045, size 155942955 (76144 MB, Cyls 293-10000) 3: NetBSD (sysid 169) start 160650000, size 464492448 (226803 MB, Cyls 10000-38913/81/1) 9 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 2097152 160650000 4.2BSD 2048 16384 21848 # (Cyl. 159375 - 161455*) b: 514064 4192981 swap # (Cyl. 4159*- 4669*) c: 464492448 160650000 unused 0 0 # (Cyl. 159375 - 620180) d: 625142448 0 unused 0 0 # (Cyl. 0 - 620180) e: 6291456 162747152 4.2BSD 0 0 0 # (Cyl. 161455*- 167697*) f: 456103840 169038608 4.2BSD 0 0 0 # (Cyl. 167697*- 620180) h: 4192902 63 Linux Ext2 0 0 # (Cyl. 0*- 4159*) i: 155942955 4707045 Linux Ext2 0 0 # (Cyl. 4669*- 159374)
fstabをパーティションの設定に合わせて修正する
NetBSDの入っているUSBメモリの内容をディスク上にコピーする
# mount /dev/wd0a /mnt # mount /dev/wd0e /mnt/var # mount /dev/wd0f /mnt/usr # cd /mnt # dump 0af - / | restore rf -以上
blosxom 2.0
and
modified by
blosxom starter kit