Dec 25, 2007

NetBSD box [computer]

sandpointのGENERICでは玄箱はブートしないようなのでかわうちさん の所にあるサンプルカーネル4.0RC3で一応動く箱を作って使ってみることに する(こちらが2号機)。

4.0のクロスビルド環境を作り、試すのは1号機の方で行うつもり。 つまりバージョンが入れ替わっただけで当初の予定通り。

玄箱でのNetBSD環境のインストールはすでにUSBメモリでブートできる 環境がある場合、

  1. ベースのLinux環境のファイルシステム上にNetBSDのカーネルを設置する
  2. Linux環境上のブートセレクタに起動用のNetBSDカーネルの記述を入れる
  3. NetBSDをUSBブートしてNetBSDをインストールするパーティションの設定をする(fdisk, disklabel, newfs
  4. 作成したファイルシステムをインストールする構成に合わせて/mnt等にマウントする
  5. 配布されているOSのアーカイブ(base.tgz,etc.tgz,misc.tgz,man.tgz...)をtarで展開する
  6. /mnt/etc/fstab , /mnt/etc/rc.conf を手動で実際のシステムに合わせて修正する
という手順を踏めばいい。

カーネルをロードする所までは別のOS上でブートストラップするためNetBSDそのもののインストールは「ほとんど単にtarで展開するだけ」で済んでしまう。 (パーティションの設定にえらく原始的な手段を使っているって? 慣れればそんなに悪いものでもないと思うよ) もちろんインストーラを使うのもありだとは思うけど。

Posted at 00:45 in computer

Dec 22, 2007

なんかきてるよー [music]

  • 畑 亜貴「隷属快美の娘達」(ランティス/Melow Head LHCA-9004 3200円)
  • すげータイトルだ(笑 エロゲのタイトルみたいだとか言わないこと。実際エロゲネタ多いし(爆

    またも2枚組のベストアルバム(メジャーのソロではベストアルバム以外出てないはず)

    毎回書いているけど私にとっては畑亜貴は「ハレ晴レユカイ」や「もってけ!セーラー服」の作詞者ではなくて、インディーズレーベルのシンガーソングライター。だからDisk Unionのレーベルから出ているソロアルバムに入っている「死霊の館」が収録されていることが一番意味が大きいかな。

    この「死霊の館」のアレンジがなかなか強烈!! かなり可愛く仕上がっている(w




    最後のフレーズで吹いた

Posted at 01:27 in music

Dec 21, 2007

NetBSD 4.0 [computer]

出ていたらしい。 RC4は動いていたんだけどsandpointに正式に玄箱のサポートが取り込ま れたようだしこちらに入れ直してみるか。
Posted at 01:24 in computer

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.gz
tarの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 -
以上
Posted at 23:17 in computer