OpenBlockS200 で etch 作業メモ
ながらく放置してあった OpenBlockS200 (OpenBclokSS) を仕立て直し。4GB のコンパクトフラッシュを調達。
Debian をいれるんだけど、カーネルを 2.6 にするのはちょっと手間がかかりそうだったので、etch で。
カーネル
母艦となる Windows マシンに VM Player で Debian 環境を作成。powerpc のクロスコンパイル環境を準備。くわしいことはここ*1を参照。とりあえず、binutils と gcc-2.9.53 だけ用意。
荒木さんのサイトの linux-2.4.32-obss.patchを kernel.org からとってきた linux-2.4.37 にあてて、Makefile を書き換え。
@@ -5,7 +5,7 @@ KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) -ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/) +ARCH := ppc KERNELPATH=kernel-$(shell echo $(KERNELRELEASE) | sed -e "s/-//g") CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ @@ -19,7 +19,7 @@ HOSTCC = gcc HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -CROSS_COMPILE = +CROSS_COMPILE = powerpc-linux- # # Include the make variables (CC, etc...)
ぷらっとホームのサイトから SSD/Linux のソース(ftp://ftp.plathome.co.jp/pub/ssdlinux/0.3-STABLE-20080611/source/src.tgz)をもってきて展開。
$ cp ~/tmp/usr/mkdist/kernel/2.4.28/dot.config.powerpc-obs200 .config $ make oldconfig $ make dep zImage
make oldconfig は OpenBlockSS を選んで、あとはデフォルトを選択。arch/ppc/boot/image/zImage.treeboot を OBS200 に転送して書き込み。
# flashcfg f zImage.treeboot check
ディスクイメージ
母艦に debootstrap をインストール。コンパクトフラッシュに ext2 のファイルシステムをつくってマウント(以下、/mnt)。
アーキテクチャがちがうので途中まで。
# debootstrap --foreign --arch powerpc etch /mnt http://ftp.jp.debian.org/debian
OBS266の手順(ftp://ftp.plathome.co.jp/pub/OpenBlockS266/misc/plathome/etch-powerpc-obs266-YYYYMMDD-SS.txt)を参考に、使用環境にあわせて etc 以下の編集。
- etc/hosts
- etc/apt/sources.list
- etc/fstab
- etc/inittab
- etc/securetty
- etc/resolv.conf
- etc/network/interfaces
flashcfg, pshd, runled をコンパクトフラッシュのイメージからコピーして、etc/init.d/{pshd,runled} などを etc/init.d/skeleton なんかをつかって準備。あと、dev/pushsw と dev/segled もコピーしておく。
この段階で、dev/hda?, dev/ttyS?, dev/console もコピーするかつくっておく。
etc/passwd などのつくりかたがよくわからないので(おいおい)、このままコンパクトフラッシュを OBS200 にもどして、シリアル端末からブート時に init=/bin/sh を指定して、ごにょごにょ(このあたり記録がのこってない)。
debootstrap の後半。この記事を参照。
# /debootstrap/debootstrap --second-stage --no-resolve-deps
/dev 以下が不十分なので適宜 MAKEDEV generic とかしておく。
ふつうにブートしてネットワークがつながるようになったら、あとは普通の Debian の管理手順で。
*1:ややや。mamoru-k のサイトじゃないですか。お世話になってます(笑)