どうも、MBRかinstallbootで導入するローダの部分で失敗しているらしい。カーネルまで処理が渡らない。
ddでlinuxのイメージをwd0dに書けばlinuxが起動するので、ハード的には問題なし。
時間がないので、256Mのパーテーションをつくり、そこに kernel-2.6.16-shなdebianを導入、kexecでnetbsdをロードできるようにし、MicroDrive残りをNetBSDに割り当て。この方法だとkernelのテスト中に沈没してもlinux and/or netbsd-RAMDISK で救済できるので案外正解かもしれない。ただ、netbsdからlinuxの区画は読み書きできるが、linuxからはnetbsdの区画は読めないので注意。
_ セルフビルド中
cd /usr/src && make build 実行中
スワップがないと64Mでは沈没間違いなしなので、1GB用意した(外付けUSB-HDD)。
1GBが過剰なのは承知しているが、ビルドが終わった時点でどの程度スワップに手をつけたかで、MicroDrive に用意するスワップの容量を算定する。tools/gmake のビルド時点で 14MB 使われている。gcc 自身のビルドあたりがきついのではないだろうか?
ディスクレスシステムやLinux-VServer用の環境を作るときに非常に便利なdebootstrapですが、Debian以外のディストリビューションではパッケージが用意されていることは少ない上に、debootstrapのソースもDebian上でビルドすることが前提になっているようで、なかなか導入が面倒です。
というわけで、Debianのdebパッケージを拝借して、お手軽にdebootstrapをインストールする方法を書いておきます。
debian 以外ということで gentoo で試してみるも。//wget がない//wget をebuild//dpkg がない ・・ゲベ!
と言うことで、debian に近くないとさすがに無理、ただ FreeBSD に ports/emulators/linux_base-debian を入れれば使えそう(というか素でdebootstrapが動くだろ!)。
netbsd が、linux 上でバイナリなしにクロスビルドできてしまうのとは対照的。
gentooとnetbsdは思想/精神は、とても近いと思うが、portage は python で書かれていると言うのが少し残念。あと「インストールされていることを前提にできるベースシステム」があるというのも *BSD の特徴(利点といってもいいと思う)。
gcc-4.2.0 ; binutils-2.7 ; newlib-1.15 のクロス開発環境。
make TGTARCH=shle TGTABI=netbsdelf でテスト中。
途中で、 machine/ansi.h がないといってストライキ。__FreeBSD__ は定義されない?
セルフでビルドできる状態には持ってきたが、、遅い!(←当然)
クロスでも良いが、バイナリインストールだとデバグが面倒なので、distcc してみる。
ホストで ./build.sh -m landisk -T /usr/cross tools してクロスの tool-chain をこしらえる。ホストは FreeBSD-6.2/i386(prescott-2.8GHz)。
_ HP Jornada 6x0 on NetBSD/hpcsh - using pkgsrc
NetBSD/landiskは最近統合されたportであるが、CPUも高速、メモリも64MB、しかもpci接続のATA-133 IDEディスクを使えるとjornadaに比べると夢のような高速さが期待できる。が、しかし、最近のパソコンとは比べるべくもないのも事実なので、どのみちかなりの覚悟が必要なのは間違いがない。
こいつをビルドファームにするのか!