本パッケージ (以下、 mkminiroot と呼ぶ) は、Gentoo Linux/TOWNS 用の miniroot (以下、 miniroot と呼ぶ) を uClibc, busybox 等のソースコードより構築するための Makefile 及びパッチ等を含むパッケージです。
mkminiroot に同梱された Makefile を用いて make を実行することにより、全自動で miniroot を作成することが出来ます。
ここで、 mkminiroot から miniroot を構築する手順について述べます。
まず、 mkminiroot の展開先のディレクトリから下記を実行して uClibc と、 uClibc toolchain の構築を行います。
$ make toolchain
そして、 root 権限で下記を実行して miniroot の構築を行います。
# make images
すると、 images ディレクトリ以下に下記のファイルが出来ています。
zimage-gentoo-towns.bin // カーネルイメージ rootfs-gentoo-towns.gz // ルートイメージ
上記の zimage-gentoo-towns.bin, rootfs-gentoo-towns.gz が、 miniroot のイメージとなります。
なお、以上の作業は、非常に計算機資源を消費するものですので、作業には出来るだけ大きなメモリ容量と高速な CPU を持った機械を用意することをお勧めします (^^;;)。
以下、 miniroot についての注意点その他について述べます。
miniroot は ext2, ext3, reiserfs のファイルシステムの mount 及び作成に対応しています。但し、 reiserfs に関しては、あらかじめ以下のようにしてモジュールをカーネルに組み込む必要があります。
// reiserfs.o を組み込む。 # modprobe reiserfs
なお、 minix は mount は出来ますが、作成は出来ません。
HDD の partition は TOWNS 用 partition のみに対応しています。
miniroot は udhcpc をクライアントとした DHCP による network の設定に対応しています。
miniroot は、 NFS mount に対応しています。 NFS を使用する時は、あらかじめ modprobe nfs を実行してカーネルにモジュールを組み込んでおいて下さい。
なお、 portmap には対応していませんので、 NFS の mount 時には以下のように -o nolock オプションを指定する必要があります。
// -o nolock を指定しないと固まる。 # mount -t nfs -o nolock 192.168.10.1:/nfs /mnt/nfs
miniroot は、 ssh によるログインに対応しています。 ssh を用いて共有鍵による認証でログインする場合は、以下のようにしてください。
まず、次のようにして sshd を起動します。
# sshd
接続先から ssh-keyscan を用いて、 miniroot 側のホスト共有鍵を取得します。ここで、 miniroot 側の IP アドレスを 192.168.0.2 とすると、以下のようにします。
# ssh-keyscan -t rsa 192.168.0.2 > miniroot.pubkey
ホスト共有鍵の取得後は、 sshd のプロセスを終了させて構いません。
この共有鍵を、接続先のユーザの ~/.ssh/authorized_keys に登録します。
# sed -e 's/^192.168.0.2 //g' -e 's/$/ root@miniroot/' miniroot.pubkey \ >> ~/.ssh/authorized_keys // 実際には1行
miniroot 側のホスト共有鍵と miniroot での root ユーザの共有鍵は同じものを使用しているので、この状態で ssh を用いて接続先にログインできます。ここで、接続先のホスト名を remote とし、 user なるユーザにログインする場合は以下のようにします。
# ssh user@remote
なお、 sshd は起動できますが、 ssh サーバとして miniroot 側へログインすることはできません。どうか御了承下さい。
miniroot は、基本的には Gentoo Linux 用ですが、 busybox には dpkg, rpm を組み込んでありますので、 Debian, RedHat 系の rescue disk としても使えるかも知れません (使ったことがないので自信はありませんが(^^;)。
上記の他、実際の miniroot の使用法については、"Gentoo Linux/TOWNS 導入メモ" を参照してください。
以下に、 miniroot に導入されているアプリケーションと、それらのソースコードの入手先の URL を以下に示します。
uClibc 0.9.26
http://www.uclibc.org/downloads/uClibc-0.9.26.tar.bz2
busybox 1.00
http://busybox.net/downloads/busybox-1.00.tar.gz
e2fsprogs 1.35
http://optusnet.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-1.35.tar.gz
reiserfsprogs 3.6.18
http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.18.tar.gz
dropbear SSH 0.44test4
http://matt.ucc.asn.au/dropbear/testing/dropbear-0.44test4.tar.gz
Linux kernel 2.4.22
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2
上記のソースコードは http://www.aist-nara.ac.jp/~nakatuka/gentoo-towns/distfiles/ にも置かれています。また、 mkminiroot の展開先のディレクトリから make fetch を実行することによっても、入手することができます。
上記アプリケーションの配付条件に関しては、各アプリケーションに同梱の配付条件に関する文書を参照してください。
ここでは mkminiroot の配付条件について述べます。
mkminiroot は Z80-OOLONG (NAKATSUKA, Yukitaka) が著作権を有します。
mkminiroot の配付条件は GPL に従うものとします。
ただし、 dropbear SSH 0.44test4 に対する差分ファイルである files/dropbear-0.44test4-miniroot.diff については、 GPL と MIT Licence の dual licence とします。