玄箱でGentooLinuxを動かす
はじめに
2004/9/1自力構築できました。OpenBlockSでGentooLinuxを動かすより難しいです。理由は以下のとおり。
- コンソールがない(引き出せば可能だが)のでデバッグしにくい。インストールに失敗すると一からやりなおしに近い(恐ろしや)
- カーネル再構築のリスクが高い。失敗すればタダの箱。(ちなみにOBSは失敗しても復旧可能)
とりあえず手を抜いてカーネル構築せずに玄箱標準カーネルを使いまわしてます。devfsを使用できないのでdevptsで動かしてます。
標準スペック
- Motorola MPC8241 200MHz
- mcpu=603e obs266より速いかも(推測)
- 64MB mem
- Gentooで動作させるならばswap必須。
- kernel 2.4.17_kuro-box
- devfsが標準で無効。
注意点
以下はファームウェア1.02で確認。- kernel 2.4.17:devfsなし(devpts)。
- ftpとtelnetが可能。
- links2がない。他PCでダウンロードしてftpで転送。
- bzip2がない。事前に解凍してからftpで転送。
- fdiskがない。mfdiskがあるのでそれで代用。
# mfdisk -c /dev/hda
- nanoがない。viで代用。
- chroot, date, swaponがない。busyboxで対応可能。busybox万歳!
# cd /bin # ln -s busybox chroot # ln -s busybox date # ln -s busybox swapon
/usr/sbin/ppc_uartdをフラッシュメモリからもってくる。
Gentoo用の/etc/init.d/ppc_uartdは以下のとおり。
#!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ depend() { use logger } start() { ebegin "Starting ppc_uartd" start-stop-daemon --start --quiet --exec /usr/sbin/ppc_uartd eend $? "Failed to start ppc_uartd" } stop() { ebegin "Stopping ppc_uartd" start-stop-daemon --stop --quiet --exec /usr/sbin/ppc_uartd eend $? "Failed to stop ppc_uartd" }
devfsは使えないのでdevptsを使用。fstabの記述に注意。
/dev/hda1 / ext3 noatime 0 1 /dev/hda2 none swap sw 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=20 0 0
baselayoutが壊れてる?depscan.shを実行しておくべきか
# /sbin/depscan.sh
チューニング
- /etc/make.conf
CFLAGS="-O2 -mcpu=603e -pipe" CXXFLAGS="${CFLAGS}"
まだ試してないが下記CFLAGSも試してみるつもり
CFLAGS="-O3 -Winline -Wall -fPIC -mcpu=603e -mtune=603e -mstrict-align -mno-longcall" CXXFLAGS="${CFLAGS}"
TODO
- マニュアル整備
- SELinux カーネル再構築しないと難しい
- OpenAFS 同上
- Coda 同上
- distcc
- libmoto 603e準拠だからいらんかな
関連リンク
2005年12月17日(土) 21:51:52 Modified by t_matsuu
