OpenBlockS200 で etch 作業メモ

ながらく放置してあった OpenBlockS200 (OpenBclokSS) を仕立て直し。4GB のコンパクトフラッシュを調達。

Debian をいれるんだけど、カーネルを 2.6 にするのはちょっと手間がかかりそうだったので、etch で。

カーネル

母艦となる Windows マシンに VM Player で Debian 環境を作成。powerpc のクロスコンパイル環境を準備。くわしいことはここ*1を参照。とりあえず、binutilsgcc-2.9.53 だけ用意。

荒木さんのサイトlinux-2.4.32-obss.patchkernel.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 のサイトじゃないですか。お世話になってます(笑)