ハックキット(2)

LS-CL

なんか、LS-HGL ハックキットが簡単に持ってこられそう。
と、やってみたが、起動しなかった。

標準ファームで起動

/boot の確認

USB で ST3250 を接続し、自動的にマウントされた /mnt/usbdisk1 を見る。
root@LS-CL701:~# ls /mnt/usbdisk1/
uImage.buffalo
root@LS-CL701:~#
そらあかんわ。

Illegal instruction

initrd.buffalo を作っているところで、
Illegal instruction
と表示されていた。

スクリプトとおんなじことをやってみる。

root@LS-CL701:~# mount /dev/sdb2 /mnt/debinst
XFS mounting filesystem sdb2
root@LS-CL701:~# mount /dev/sdb1 /mnt/debinst/boot/
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sdb1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
root@LS-CL701:~# 
ここのあと /mnt/debinst に chroot して mkimage しているのだが、 まずは、ls
root@LS-CL701:~# chroot /mnt/debinst ls
Illegal instruction
root@LS-CL701:~# chroot
BusyBox v1.7.0 (2007-10-15 19:49:46 IST) multi-call binary

Usage: chroot NEWROOT [COMMAND...]

Run COMMAND with root directory set to NEWROOT

root@LS-CL701:~# chroot /mnt/debinst
Illegal instruction
root@LS-CL701:~#
あかんやん。chroot が動かへん。

なんかいやな予感。

EABI の mkimage

この間 LS-WSGL 用に作った mkimage を ファイル共有を用いて /mnt/disk1/share/debian に置いた。
root@LS-CL701:/mnt/disk1/share/debian# ls -l mkimage
-rwxrw-rw-    1 nobody   nogroup     15920 Oct 26  2008 mkimage
root@LS-CL701:/mnt/disk1/share/debian# chmod 755 /mnt/disk1/share/debian/mkimage
root@LS-CL701:/mnt/disk1/share/debian# chown root.root /mnt/disk1/share/debian/mkimage
root@LS-CL701:/mnt/disk1/share/debian# /mnt/disk1/share/debian/mkimage
Usage: /mnt/disk1/share/debian/mkimage -l image
          -l ==> list image header information
       /mnt/disk1/share/debian/mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
root@LS-CL701:/mnt/disk1/share/debian#
これを使うようにインストーラを修正
root@LS-CL701:/mnt/disk1/share/debian# diff -u LS-CL_hackkit_0.00.sh LS-CL_hackkit_0.01.sh
--- LS-CL_hackkit_0.00.sh       Thu Nov  1 01:20:32 2007
+++ LS-CL_hackkit_0.01.sh       Thu Nov  1 00:24:14 2007
@@ -77,10 +77,12 @@
        umount /tmp/root
        echo gziping /boot/initrd ...
        gzip /boot/initrd
-       mv /boot/initrd.gz $MOUNTPOINT/tmp
-       chroot $MOUNTPOINT /usr/local/sbin/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d /tmp/initrd.gz /boot/initrd.buffalo
-       rm $MOUNTPOINT/tmp/initrd.gz
-
+
+       chmod 755 $WORK/mkimage
+       chown root.root $WORK/mkimage
+
+       $WORK/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d /boot/initrd.gz $MOUNTPOINT/boot/initrd.buffalo
+
        sync
        umount $MOUNTPOINT/boot
 }
root@LS-CL701:/mnt/disk1/share/debian#

再実行

	:
	:
Image Name:   initrd
Created:      Sun Nov 16 00:31:42 2008
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    7035303 Bytes = 6870.41 kB = 6.71 MB
Load Address: 0x00000000
Entry Point:  0x00000000
	:
	:
こんどはうまくいった。

念のため、確認

oot@LS-CL701:/mnt/disk1/share/debian# mkdir /tmp/boot
root@LS-CL701:/mnt/disk1/share/debian# mount /dev/sdb1 /tmp/boot
kjournald starting.  Commit interval 5 seconds
EXT3-fs warning: checktime reached, running e2fsck is recommended
EXT3 FS on sdb1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
root@LS-CL701:/mnt/disk1/share/debian# ls /tmp/boot
initrd.buffalo  lost+found      uImage.buffalo
root@LS-CL701:/mnt/disk1/share/debian#
いけそ。

再起動

HDD を入れ替え、再起動
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
---- in modified linuxrc ---
umount: cannot open /proc/mounts
XFS mounting filesystem sda2
VFS: Mounted root (xfs filesystem).
Trying to move old root to /initrd ... okay
Freeing init memory: 120K
ここでうんともすんとも。

こまった



LS-C500L
楽天市場
amazon


HDD の玉突き交換(1)LS-LGL の HDD 交換のついでにファームアップ
ハックの記録
LinkStation/玄箱 をハックしよう

ファームウェア 2.01 へのアップデート

Copyright (C) 2003-2008 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市