OpenBlocks 600 のDebian lennyをsqueezeにアップグレードしました。カーネルはlinux-2.6.35.4を使用、デバイスは前回同様CFをbtrfsのみの1 partitionにして、これをroot fsとしています。
なお、squeezeでは、kernel作成時に以下の項目を無効にする必要があるようです。
General setup > enable deprecated sysfs features to support old userspace tools
- 使用したssdlinux: 0.5-20100520
- CF: A-DATA 533倍速 コンパクトフラッシュ 16GB
kernelのコンパイル
まずは素のssdlinuxが入っているOpenBlocks 600上でkernelを作成します。
(debian上で構築できるようにしたいところです)
2.6.35用パッチが必要となるので、ssdlinuxのsrcを最新のものにします。
ssdlinux# cd /usr
ssdlinux# mv src src.old
ssdlinux# cvs -d:pserver:anoncvs@cvs.plathome.co.jp:/cvs/ssdlinux login
CVS password: anoncvs
ssdlinux# cvs -d:pserver:anoncvs@cvs.plathome.co.jp:/cvs/ssdlinux co src
2.6.35.4をbuildするために2.6.35の環境を利用します。
ssdlinux# cd /usr/src/mkdist/kernel
ssdlinux# ln -s 2.6.35 2.6.35.4
以前のconfigは/usr/src/my-dotconfig
/etc/mk.conf は以下のように設定しておきます。
OPENBLOCKS?=obs600
HOSTTYPE=powerpc
KERNEL_PATCHLEVEL=35.4
KERNEL_CONFIG=/usr/src/my-dotconfig
USE_PCMCIA=no
USE_SOFTFP=no
USE_HA=no
USE_LIGHTTPD=no
USE_PHP=no
USE_VPN=no
以下のようにしてkernelをダウンロードします。
ssdlinux# cd /usr/src/mkdist/kernel
ssdlinux# bmake
configを編集します。
ssdlinux# cd /usr/src
ssdlinux# bmake menuconfig
(config編集します)
- FSでbtrfsを有効にします。
- General setup > enable deprecated sysfs features to support old userspace tools を無効にします。
ssdlinux# cp linux/.config /usr/src/my-dotconfig
buildします。
ssdlinux# bmake build_kernel
ssdlinux# bmake install_kernel
(cleanしないで再buildしたいときは、bmake build_kernel UPDATE=1 などとすればよいようです)
kernel image をつくりflashにコピーします。
ssdlinux# cd /usr/src/distrib/utils
ssdlinux# bmake
ssdlinux# cd /usr/src/distrib/powerpc-obs600/cfboot
ssdlinux# bmake
ssdlinux# flashcfg -f treeboot/uImage.initrd-cfboot
rebootして起動できることを確認します。
ssdlinux# reboot
debian へ必要なファイルをコピー
前回作成したdebianがはいったbtrfsなfsにカーネルモジュールをコピーします。
ssdlinux# cd /lib
ssdlinux# tar cf - firmware | ( cd /mnt2/lib; tar xvBpf -)
ssdlinux# cd /lib/modules
ssdlinux# tar cf - 2.6.35.4 | ( cd /mnt2/lib/modules; tar xvBpf -)
ssdlinux# find /mnt2/lib/modules -type f -name "*.ko.gz" | xargs gzip -d
debian起動
rebootしてu-bootで止めてrootdeviceを変更します。
> setenv rootdev /dev/sda1
> saveenv
ちなみに、もとにもどすには
> setenv rootdev LABEL=/
とするようです。
各種設定等
/etc/apt/sources.list を以下のように設定します。
deb http://ftp2.jp.debian.org/debian squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
なお、前回登録した、/etc/apt/apt.conf.d/99target は削除します。
debian# aptitude update
debian# aptitude dist-upgrade
あとはrebootしてsqueezeとして起動できることを確認して終了です。