まず最初は LS-WSGL
BUFFALO INC. LinkStation series LS-WSGL-EM678 login: root login[1187]: root login on `ttyS0' BusyBox v1.1.1 (2008年11月04日-08:25+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. #
# ls /mnt array1 authtest disk2 msdfs_root usbdisk1 array2 disk1 etc ram # mount /dev/sda6 /mnt/disk1/ XFS mounting filesystem sda6 # cd /mnt/disk1/share/hackkit/ # ls LS-WSGL_hackkit_step1_0.02.sh hackkit_081122.tar.gz hackkit_001.sh mkimage #
# sh hackkit_001.sh hackkit_003.sh: hackkit_001.sh: 79: Syntax error: "}" unexpected (expecting "then") #がー。
まあ、最初はそんなもの。
[yasunari@giga unified]$ diff -u hackkit_001.sh hackkit_010.sh
--- hackkit_001.sh 2008年12月03日 21:30:01.000000000 +0900
+++ hackkit_010.sh 2008年12月05日 22:32:34.000000000 +0900
@@ -51,6 +51,11 @@
# / のマウント
mount_root() {
+ if [ $MACHINE = LSWSGL ]
+ then
+ echo building md...
+ /etc/init.d/startSysMd.sh
+ fi
echo mounting root file system ...
if [ ! -d $MOUNTPOINT ]
@@ -61,6 +66,7 @@
if [ $MACHINE = LSWSGL ]
then
+
mkdir $MOUNTPOINT/.buffalo
mv $MOUNTPOINT/lib/modules $MOUNTPOINT/.buffalo
rm -fr $MOUNTPOINT/*
@@ -68,8 +74,6 @@
mv $MOUNTPOINT/.buffalo/modules $MOUNTPOINT/lib
rmdir $MOUNTPOINT/.buffalo
- mkdir $MOUNTPOINT/mnt/disk1
- mkdir $MOUNTPOINT/mnt/disk2
fi
}
#---------------------------------------------------------
@@ -80,6 +84,19 @@
cd $MOUNTPOINT
tar zxvf $HACKKIT
+
+ # must be in an archive
+ mknod $MOUNTPOINT/dev/rtc c 10 135
+
+ if [ $MACHINE = LSWSGL ]
+ then
+ mkdir $MOUNTPOINT/mnt/disk1
+ mkdir $MOUNTPOINT/mnt/disk2
+
+ mknod $MOUNTPOINT/dev/md0 b 9 0
+ mknod $MOUNTPOINT/dev/md1 b 9 1
+ mknod $MOUNTPOINT/dev/md10 b 9 10
+ fi
}
#---------------------------------------------------------
@@ -524,9 +541,9 @@
edit_initrd() {
echo editing initrd ...
- dd if=/boot/initrd.buffalo of=/boot/initrd.gz bs=64 skip=1
- echo gunziping /boot/initrd.gz ...
- gunzip /boot/initrd.gz
+ dd if=$MOUNTPOINT/boot/initrd.buffalo of=$MOUNTPOINT/boot/initrd.gz bs=64 skip=1
+ echo gunziping $MOUNTPOINT/boot/initrd.gz ...
+ gunzip $MOUNTPOINT/boot/initrd.gz
if [ ! -d /tmp/root ]
then
mkdir /tmp/root || exit
@@ -540,7 +557,7 @@
fi
done
- mount -o loop /boot/initrd /tmp/root || exit
+ mount -o loop $MOUNTPOINT/boot/initrd /tmp/root || exit
mv /tmp/root/linuxrc /tmp/root/linuxrc.orig
if [ $MACHINE = LSWSGL ]
then
@@ -551,16 +568,6 @@
echo "---- in hackkit linuxrc ---"
-exit 0
-EOF
- else
- cat > linuxrc <<EOF
-#!/bin/sh
-
-export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
-
-echo "---- in hackkit linuxrc ---"
-
mount proc /proc -t proc
mount sysfs /sys -t sysfs
@@ -575,18 +582,29 @@
umount -a
exit 0
EOF
+ else
+ cat > /tmp/root/linuxrc <<EOF
+#!/bin/sh
+
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
+
+echo "---- in hackkit linuxrc ---"
+
+exit 0
+EOF
+ fi
chmod 700 /tmp/root/linuxrc
umount /tmp/root
- echo gziping /boot/initrd ... wait 5 minutes
- gzip /boot/initrd || exit
+ echo gziping $MOUNTPOINT/boot/initrd ... wait 5 minutes
+ gzip $MOUNTPOINT/boot/initrd || exit
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
+ $WORK/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d $MOUNTPOINT/boot/initrd.gz $MOUNTPOINT/boot/initrd.buffalo
- rm -f /boot/initrd.gz
+ rm -f $MOUNTPOINT/boot/initrd.gz
}
#---------------------------------------------------------
@@ -624,7 +642,7 @@
case "$PRODUCTID" in
0x00000009)
MACHINE=LSGL
- # 各パーティションのフォーマット
+ # 各パーティションのフォーマット(LS-WSGL 以外)
format_disk
# / のマウント
mount_root
@@ -656,7 +674,7 @@
# /boot のマウント
mount_boot
- # /boot のコピー
+ # /boot のコピー(LS-WSGL 以外)
copy_boot
# initrd の編集
edit_initrd
@@ -666,7 +684,7 @@
0x0000000A)
MACHINE=HSDHGL
- # 各パーティションのフォーマット
+ # 各パーティションのフォーマット(LS-WSGL 以外)
format_disk
# / のマウント
mount_root
@@ -698,7 +716,7 @@
# /boot のマウント
mount_boot
- # /boot のコピー
+ # /boot のコピー(LS-WSGL 以外)
copy_boot
# initrd の編集
edit_initrd
@@ -713,7 +731,7 @@
0x0000000E)
MACHINE=LSHGL
- # 各パーティションのフォーマット
+ # 各パーティションのフォーマット(LS-WSGL 以外)
format_disk
# / のマウント
mount_root
@@ -745,7 +763,7 @@
# /boot のマウント
mount_boot
- # /boot のコピー
+ # /boot のコピー(LS-WSGL 以外)
copy_boot
# initrd の編集
edit_initrd
@@ -755,7 +773,7 @@
0x0000000F)
MACHINE=LSCL
- # 各パーティションのフォーマット
+ # 各パーティションのフォーマット(LS-WSGL 以外)
format_disk
# / のマウント
mount_root
@@ -787,7 +805,7 @@
# /boot のマウント
mount_boot
- # /boot のコピー
+ # /boot のコピー(LS-WSGL 以外)
copy_boot
# initrd の編集
edit_initrd
@@ -803,8 +821,8 @@
SWAPPARTITION=/dev/md10
DATAPARTITION=""
- # 各パーティションのフォーマット
- format_disk
+ # 各パーティションのフォーマット(LS-WSGL 以外)
+ # format_disk
# / のマウント
mount_root
# アーカイブの展開
@@ -835,8 +853,8 @@
# /boot のマウント
mount_boot
- # /boot のコピー
- copy_boot
+ # /boot のコピー(LS-WSGL 以外)
+ # copy_boot
# initrd の編集
edit_initrd
# /boot のアンマウント
[yasunari@giga unified]$
ファイル名が、何度作り直したかをあらわしている。。。ただ、ひとつだけ対応方法のわからないエラーが残ってしまった。
INIT: version 2.86 booting Setting the system clock. Activating swap...Adding 1003896k swap on /dev/md10. Priority:-1 extents:1 across:1003896k done. Setting the system clock. Cleaning up ifupdown.... Loading kernel modules...done. Checking file systems...fsck 1.41.3 (12-Oct-2008) done. Setting kernel variables (/etc/sysctl.conf)...Unknown HZ value! (107) Assume 100. done.Unknown HZ value! (107) Assume 100 って誰が何で出してるん?
さあ、次はどれを確認しよ。。。