armhf でハックキット(2)インストール

Debian LS410D

せっかくの ARMV7 だし、 D.3. Unix/Linux システムからの Debian GNU/Linux のインストール を参考に、armhf でハックキットを作ってみる。

アーカイブができたので、次はインストール

インストーラの修正

[root@LS410D06E ~]# cd /mnt/disk1/share/hackkit/
[root@LS410D06E hackkit]# ls
debootstrap_110103.sh*              hackkit_wheezy_130825.sh*
hackkit_config*                     hackkit_wheezy_131021.sh*
hackkit_wheezy_130628.sh*           hackkit_wheezy_armhf_131031.tar.gz
hackkit_wheezy_130628.tar.gz*       mkimage*
[root@LS410D06E hackkit]# cp hackkit_wheezy_131021.sh hackkit_wheezy_131103.sh
[root@LS410D06E hackkit]# vi !$
	:
	:
[root@LS410D06E hackkit]# diff -u hackkit_wheezy_13{1021,1103}.sh
--- hackkit_wheezy_131021.sh
+++ hackkit_wheezy_131103.sh
@@ -13,8 +13,9 @@
 HOSTNAME=hackkit

 WORK=/mnt/disk1/share/hackkit
-HACKKIT=$WORK/hackkit_wheezy_130628.tar.gz
 MOUNTPOINT=/mnt/disk1/debinst
+VERSION=wheezy
+ARCH=armel

 cd $WORK

@@ -120,7 +121,7 @@
        echo extracting hackkit archive ...

        cd $MOUNTPOINT
-       tar zxvf $HACKKIT
+       tar zxvf $WORK/hackkit_"$VERSION"_"$ARCH"_??????.tar.gz

        if [ $RAID = yes ]
        then
@@ -890,6 +891,7 @@
        MACHINE=LS410D
        INITRD=cpio
        ETH=eth1
+       ARCH=armhf
        ;;

 0x00003002)
[root@LS410D06E hackkit]#

準備

いつもどおり、 準備(LS-XHL, LS-VL の場合) に準じてすすめる。

標準ファームに root でログインできるようにする

標準ファームで起動

ログイン

時計を合わせる

[root@LS410D06E ~]# date
Sun Nov  3 18:02:17 JST 2013
[root@LS410D06E ~]#
あってる

ハックキットのファイルを置く

インストールする HDD の準備

armel 版をインストールしたHDDを使うので、

インストール

時計を合わせる

カスタマイズ

hackkit_config がおいてある
[root@LS410D06E ~]# cd /mnt/disk1/share/hackkit/
[root@LS410D06E hackkit]# cat hackkit_config
ADDRESS=192.168.2.57
HOSTNAME=ls410d
GATEWAY=192.168.2.96
NAMESERVER=192.168.1.5
[root@LS410D06E hackkit]#

インストーラの実行

hackkit_wheezy_131103.sh を実行する。
[root@LS410D06E hackkit]# sh -x hackkit_wheezy_131103.sh
+ ADDRESS=192.168.2.47
+ NETWORK=192.168.2.0
+ NETMASK=255.255.255.0
+ BROADCAST=192.168.2.255
+ GATEWAY=192.168.2.1
+ NAMESERVER=192.168.1.2
+ HOSTNAME=hackkit
+ WORK=/mnt/disk1/share/hackkit
+ MOUNTPOINT=/mnt/disk1/debinst
+ VERSION=wheezy
+ ARCH=armel
+ cd /mnt/disk1/share/hackkit
+ '[' -f /mnt/disk1/share/hackkit/hackkit_config ']'
+ . /mnt/disk1/share/hackkit/hackkit_config
++ ADDRESS=192.168.2.57
++ HOSTNAME=ls410d
++ GATEWAY=192.168.2.96
++ NAMESERVER=192.168.1.5
+ BOOTPARTITION=/dev/sdb1
+ BOOTPARTITIONTYPE=ext3
+ ROOTPARTITION=/dev/sdb2
+ ROOTPARTITIONTYPE=xfs
+ SWAPPARTITION=/dev/sdb3
+ DATAPARTITION=/dev/sdb4
+ ETH=eth0
+ RAID=no
+ LOCALDISK=no
+ INITRD=loop
+ '[' '!' -r ']'
+ '[' '!' -r /mnt/disk1/share/hackkit/mkimage ']'
+ '[' '!' -f /proc/buffalo/firmware ']'
++ sed -n -e 's/^PRODUCTID=\(.*\)$/\1/p' /proc/buffalo/firmware
+ PRODUCTID=0x0000001A
+ echo PRODUCTID = 0x0000001A
PRODUCTID = 0x0000001A
+ case "$PRODUCTID" in
+ MACHINE=LS410D
+ INITRD=cpio
+ ETH=eth1
+ ARCH=armhf
+ echo MACHINE LS410D
MACHINE LS410D
+ format_disk
+ '[' no = yes ']'
+ '[' no = yes ']'
+ echo formating hard drive ...
formating hard drive ...
+ '[' ext3 = ext3 ']'
+ mke2fs -j -I 128 /dev/sdb1
mke2fs 1.42.4 (12-June-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
62720 inodes, 249995 blocks
12499 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7840 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

+ mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=4, agsize=312448 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=1249792, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
+ mkswap /dev/sdb3
Setting up swapspace version 1, size = 1000444 KiB
no label, UUID=e308c941-1e8d-403e-a91e-a77498286ba3
+ '[' /dev/sdb4 '!=' '' ']'
+ mkfs.xfs -f /dev/sdb4
meta-data=/dev/sdb4              isize=256    agcount=4, agsize=14824896 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=59299584, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=28954, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
+ mount_root
+ '[' no = yes ']'
+ '[' no = yes ']'
+ echo mounting root file system ...
mounting root file system ...
+ '[' '!' -d /mnt/disk1/debinst ']'
+ mount -t xfs /dev/sdb2 /mnt/disk1/debinst
+ '[' no = yes ']'
+ extract_hackkit
+ echo extracting hackkit archive ...
extracting hackkit archive ...
+ cd /mnt/disk1/debinst
+ tar zxvf /mnt/disk1/share/hackkit/hackkit_wheezy_armhf_131031.tar.gz
./
./var/
./var/lib/
./var/lib/apt/
./var/lib/apt/lists/
	:
	:
+ echo checking /dev/sdb1
checking /dev/sdb1
+ fsck -f -y /dev/sdb1
fsck (busybox 1.19.4, 2013-07-04 21:49:51 JST)
fsck: fsck.auto: No such file or directory
+ echo mounting /boot ...
mounting /boot ...
+ cd /
+ '[' '!' -d /mnt/disk1/debinst/boot ']'
+ mount -t ext3 /dev/sdb1 /mnt/disk1/debinst/boot
+ copy_boot
+ '[' no = yes ']'
+ echo copying /boot ...
copying /boot ...
+ cd /mnt/disk1/debinst/boot
+ tar xvf -
+ cd /boot
+ tar cf - initrd.buffalo uImage.buffalo
initrd.buffalo
uImage.buffalo
+ edit_initrd
+ '[' cpio = loop ']'
+ edit_initrd_cpio
+ echo editing initrd ...
editing initrd ...
+ dd if=/mnt/disk1/debinst/boot/initrd.buffalo of=/mnt/disk1/debinst/boot/initrd.gz bs=64 skip=1
185731+1 records in
185731+1 records out
+ echo gunziping /mnt/disk1/debinst/boot/initrd.gz ...
gunziping /mnt/disk1/debinst/boot/initrd.gz ...
+ gunzip /mnt/disk1/debinst/boot/initrd.gz
+ '[' '!' -d /tmp/root ']'
+ cd /tmp/root
+ /mnt/disk1/debinst/bin/cpio -idv
../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
+ cat //mnt/disk1/debinst/boot/initrd
hackkit_wheezy_131103.sh: line 755: 11109 Broken pipe             cat /$MOUNTPOINT/boot/initrd
     11110 Aborted                 | $MOUNTPOINT/bin/cpio -idv
+ cat
+ chmod 755 /tmp/root/init
+ /mnt/disk1/debinst/bin/cpio -o -H newc
+ find .
../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
hackkit_wheezy_131103.sh: line 755: 11113 Done                    find .
     11114 Aborted                 | $MOUNTPOINT/bin/cpio -o -H newc > /$MOUNTPOINT/boot/initrd
+ echo gziping /mnt/disk1/debinst/boot/initrd ... wait 5 minutes
gziping /mnt/disk1/debinst/boot/initrd ... wait 5 minutes
+ gzip /mnt/disk1/debinst/boot/initrd
+ chmod 755 /mnt/disk1/share/hackkit/mkimage
+ chown root.root /mnt/disk1/share/hackkit/mkimage
+ /mnt/disk1/share/hackkit/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /mnt/disk1/debinst/boot/initrd.gz /mnt/disk1/debinst/boot/initrd.buffalo
Image Name:   initramfs
Created:      Sun Nov  3 18:13:14 2013
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    20 Bytes = 0.02 kB = 0.00 MB
Load Address: 0x00000000
Entry Point:  0x00000000
+ rm -f /mnt/disk1/debinst/boot/initrd.gz
+ umount_boot
+ '[' no = yes ']'
+ echo unmount /boot ...
unmount /boot ...
+ sync
+ umount /mnt/disk1/debinst/boot
+ umount_root
+ '[' no = yes ']'
+ cd /
+ umount /mnt/disk1/debinst
[root@LS410D06E hackkit]#
fsck でエラーが出ている
+ echo checking /dev/sdb1
checking /dev/sdb1
+ fsck -f -y /dev/sdb1
fsck (busybox 1.19.4, 2013-07-04 21:49:51 JST)
fsck: fsck.auto: No such file or directory
のと、 cpio でエラーが出ている。
+ /mnt/disk1/debinst/bin/cpio -idv
../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
+ cat //mnt/disk1/debinst/boot/initrd
hackkit_wheezy_131103.sh: line 755: 11109 Broken pipe             cat /$MOUNTPOINT/boot/initrd
     11110 Aborted                 | $MOUNTPOINT/bin/cpio -idv
+ cat
+ chmod 755 /tmp/root/init
+ /mnt/disk1/debinst/bin/cpio -o -H newc
+ find .
../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
hackkit_wheezy_131103.sh: line 755: 11113 Done                    find .
     11114 Aborted                 | $MOUNTPOINT/bin/cpio -o -H newc > /$MOUNTPOINT/boot/initrd
標準ファームで Debian armhf のバイナリは動かない??

エラー対策

エラーが出ているところを修正する。

fsck

[root@LS410D06E hackkit]# fsck /dev/sdb1
fsck (busybox 1.19.4, 2013-07-04 21:49:51 JST)
fsck: fsck.auto: No such file or directory
[root@LS410D06E hackkit]#
確かにエラーになる。

sdb1 は ext3 なので、それを指定する

[root@LS410D06E hackkit]# fsck -t ext3 /dev/sdb1
fsck (busybox 1.19.4, 2013-07-04 21:49:51 JST)
e2fsck 1.42.4 (12-June-2012)
/dev/sdb1: clean, 13/62720 files, 7107/249995 blocks
[root@LS410D06E hackkit]#
これなら、エラーは出ない。

cpio

これは厄介。

展開する側は、標準ファームの cpio で良い。
作る側は chroot するか。。。

[root@LS410D06E hackkit]# diff -u hackkit_wheezy_131021.sh hackkit_wheezy_131104.sh
--- hackkit_wheezy_131021.sh
+++ hackkit_wheezy_131104.sh
@@ -13,8 +13,9 @@
 HOSTNAME=hackkit

 WORK=/mnt/disk1/share/hackkit
-HACKKIT=$WORK/hackkit_wheezy_130628.tar.gz
 MOUNTPOINT=/mnt/disk1/debinst
+VERSION=wheezy
+ARCH=armel

 cd $WORK

@@ -120,7 +121,7 @@
        echo extracting hackkit archive ...

        cd $MOUNTPOINT
-       tar zxvf $HACKKIT
+       tar zxvf $WORK/hackkit_"$VERSION"_"$ARCH"_??????.tar.gz

        if [ $RAID = yes ]
        then
@@ -649,7 +650,7 @@

        echo checking $BOOTPARTITION

-       fsck -f -y $BOOTPARTITION
+       fsck -f -y -t ext3 $BOOTPARTITION

        echo mounting /boot ...

@@ -757,15 +758,12 @@
        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
-       fi
+       mkdir $MOUNTPOINT/tmp/root

-       cd /tmp/root
-       cat /$MOUNTPOINT/boot/initrd | $MOUNTPOINT/bin/cpio -idv
+       cd $MOUNTPOINT/tmp/root
+       cat $MOUNTPOINT/boot/initrd | cpio -idv

-       cat > /tmp/root/init <<EOF
+       cat > init <<EOF
 #!/bin/sh

 export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
@@ -779,8 +777,8 @@
 exec /sbin/switch_root /rootfs /sbin/init
 exit 0
 EOF
-       chmod 755 /tmp/root/init
-       find . | $MOUNTPOINT/bin/cpio -o -H newc > /$MOUNTPOINT/boot/initrd
+       chmod 755 init
+       find . | chroot $MOUNTPOINT sh -c "cd /tmp/root; /bin/cpio -o -H newc" > /$MOUNTPOINT/boot/initrd

        echo gziping $MOUNTPOINT/boot/initrd ... wait 5 minutes
        gzip $MOUNTPOINT/boot/initrd || exit
@@ -890,6 +888,7 @@
        MACHINE=LS410D
        INITRD=cpio
        ETH=eth1
+       ARCH=armhf
        ;;

 0x00003002)
[root@LS410D06E hackkit]#

再実行
[root@LS410D06E hackkit]# sh -x hackkit_wheezy_131104.sh
+ ADDRESS=192.168.2.47
+ NETWORK=192.168.2.0
+ NETMASK=255.255.255.0
+ BROADCAST=192.168.2.255
+ GATEWAY=192.168.2.1
+ NAMESERVER=192.168.1.2
+ HOSTNAME=hackkit
+ WORK=/mnt/disk1/share/hackkit
+ MOUNTPOINT=/mnt/disk1/debinst
+ VERSION=wheezy
+ ARCH=armel
+ cd /mnt/disk1/share/hackkit
+ '[' -f /mnt/disk1/share/hackkit/hackkit_config ']'
+ . /mnt/disk1/share/hackkit/hackkit_config
++ ADDRESS=192.168.2.57
++ HOSTNAME=ls410d
++ GATEWAY=192.168.2.96
++ NAMESERVER=192.168.1.5
+ BOOTPARTITION=/dev/sdb1
+ BOOTPARTITIONTYPE=ext3
+ ROOTPARTITION=/dev/sdb2
+ ROOTPARTITIONTYPE=xfs
+ SWAPPARTITION=/dev/sdb3
+ DATAPARTITION=/dev/sdb4
+ ETH=eth0
+ RAID=no
+ LOCALDISK=no
+ INITRD=loop
+ '[' '!' -r ']'
+ '[' '!' -r /mnt/disk1/share/hackkit/mkimage ']'
+ '[' '!' -f /proc/buffalo/firmware ']'
++ sed -n -e 's/^PRODUCTID=\(.*\)$/\1/p' /proc/buffalo/firmware
+ PRODUCTID=0x0000001A
+ echo PRODUCTID = 0x0000001A
PRODUCTID = 0x0000001A
+ case "$PRODUCTID" in
+ MACHINE=LS410D
+ INITRD=cpio
+ ETH=eth1
+ ARCH=armhf
+ echo MACHINE LS410D
MACHINE LS410D
+ format_disk
+ '[' no = yes ']'
+ '[' no = yes ']'
+ echo formating hard drive ...
formating hard drive ...
+ '[' ext3 = ext3 ']'
+ mke2fs -j -I 128 /dev/sdb1
mke2fs 1.42.4 (12-June-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
62720 inodes, 249995 blocks
12499 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7840 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

+ mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2              isize=256    agcount=4, agsize=312448 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=1249792, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
+ mkswap /dev/sdb3
Setting up swapspace version 1, size = 1000444 KiB
no label, UUID=ede6880b-e0e3-47c5-a639-c7e6994a8455
+ '[' /dev/sdb4 '!=' '' ']'
+ mkfs.xfs -f /dev/sdb4
meta-data=/dev/sdb4              isize=256    agcount=4, agsize=14824896 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=59299584, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=28954, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
+ mount_root
+ '[' no = yes ']'
+ '[' no = yes ']'
+ echo mounting root file system ...
mounting root file system ...
+ '[' '!' -d /mnt/disk1/debinst ']'
+ mount -t xfs /dev/sdb2 /mnt/disk1/debinst
+ '[' no = yes ']'
+ extract_hackkit
+ echo extracting hackkit archive ...
extracting hackkit archive ...
+ cd /mnt/disk1/debinst
+ tar zxvf /mnt/disk1/share/hackkit/hackkit_wheezy_armhf_131031.tar.gz
./
./var/
./var/lib/
./var/lib/apt/
./var/lib/apt/lists/
./var/lib/apt/lists/partial/
	:
	:
./selinux/
./srv/
./opt/
./media/
./initrd/
+ '[' no = yes ']'
+ create_fstab
+ echo creating /etc/fstab ...
creating /etc/fstab ...
+ cat
+ '[' no = no ']'
+ cat
+ return
+ copy_miconapl
+ '[' LS410D '!=' LSGL -a LS410D '!=' HSDHGL ']'
+ return
+ create_miconapl
+ echo creating miconapl ...
creating miconapl ...
+ cd /mnt/disk1/debinst
+ '[' LS410D '!=' LSGL -a LS410D '!=' HSDHGL ']'
+ cat
+ chmod +x etc/init.d/miconapl
+ chroot /mnt/disk1/debinst update-rc.d miconapl defaults
update-rc.d: using dependency based boot sequencing
+ create_fancontrol
+ echo creating fancontrol ...
creating fancontrol ...
+ cd /mnt/disk1/debinst
+ cat
+ cat
+ echo '*/5 * * * * nice /bin/sh /usr/local/sbin/fancontrol 2>/dev/null 1>/dev/null'
+ chmod 600 var/spool/cron/crontabs/root
+ create_kernelmon
+ echo creating kernelmon ...
creating kernelmon ...
+ cd /mnt/disk1/debinst
+ cat
+ chmod +x /mnt/disk1/debinst/etc/init.d/kernelmon
+ chroot /mnt/disk1/debinst update-rc.d kernelmon defaults
update-rc.d: using dependency based boot sequencing
+ '[' LS410D = LSGL -o LS410D = HSDHGL ']'
+ cat
+ chmod +x /mnt/disk1/debinst/usr/local/sbin/kernelmon
+ copy_modules
+ '[' no = yes ']'
+ echo copying /lib/modules ...
copying /lib/modules ...
+ cd /
++ uname -r
+ tar cf - lib/modules/3.3.4
+ cd /mnt/disk1/debinst
+ tar xvf -
lib/modules/3.3.4/
lib/modules/3.3.4/modules.ccwmap
lib/modules/3.3.4/modules.builtin
	:
	:
lib/modules/3.3.4/modules.symbols.bin
lib/modules/3.3.4/modules.symbols
+ create_usb
+ echo creating usb ...
creating usb ...
+ cd /mnt/disk1/debinst
+ cat
+ chmod +x etc/init.d/usb
+ chroot /mnt/disk1/debinst update-rc.d usb defaults
update-rc.d: using dependency based boot sequencing
+ network_interfaces
+ cat
+ echo '        address 192.168.2.57'
+ echo '        network 192.168.2.0'
+ echo '        netmask 255.255.255.0'
+ echo '        broadcast  192.168.2.255'
+ echo '        gateway 192.168.2.96'
+ resolv_conf
+ echo 'nameserver 192.168.1.5'
+ hosts
+ echo '192.168.2.57    ls410d'
+ hostname
+ echo ls410d
+ mount_boot
+ '[' no = yes ']'
+ echo checking /dev/sdb1
checking /dev/sdb1
+ fsck -f -y -t ext3 /dev/sdb1
fsck (busybox 1.19.4, 2013-07-04 21:49:51 JST)
e2fsck 1.42.4 (12-June-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 11/62720 files (0.0% non-contiguous), 6398/249995 blocks
+ echo mounting /boot ...
mounting /boot ...
+ cd /
+ '[' '!' -d /mnt/disk1/debinst/boot ']'
+ mount -t ext3 /dev/sdb1 /mnt/disk1/debinst/boot
+ copy_boot
+ '[' no = yes ']'
+ echo copying /boot ...
copying /boot ...
+ cd /mnt/disk1/debinst/boot
+ tar xvf -
+ cd /boot
+ tar cf - initrd.buffalo uImage.buffalo
initrd.buffalo
uImage.buffalo
+ edit_initrd
+ '[' cpio = loop ']'
+ edit_initrd_cpio
+ echo editing initrd ...
editing initrd ...
+ dd if=/mnt/disk1/debinst/boot/initrd.buffalo of=/mnt/disk1/debinst/boot/initrd.gz bs=64 skip=1
185731+1 records in
185731+1 records out
+ echo gunziping /mnt/disk1/debinst/boot/initrd.gz ...
gunziping /mnt/disk1/debinst/boot/initrd.gz ...
+ gunzip /mnt/disk1/debinst/boot/initrd.gz
+ mkdir /mnt/disk1/debinst/tmp/root
+ cd /mnt/disk1/debinst/tmp/root
+ cpio -idv
+ cat /mnt/disk1/debinst/boot/initrd
.
usr
usr/lib
usr/lib/libreadline.so.6.2
usr/lib/libstdc++.so.6.0.16-gdb.py
	:
	:
root/.params
root/.params/sysctl
root/.params/sysctl/0x0000300B
root/.params/sysctl/0x0000001A
root/.params/sysctl/0x0000300C
mnt
mnt/.gitkeep
sys
sys/.gitkeep
home
home/default
debugtool
debugtool/diskfill
debugtool/echopat
www
www/cgi-bin
www/cgi-bin/resume.cgi
www/cgi-bin/query.cgi
52829 blocks
+ cat
+ chmod 755 init
+ chroot /mnt/disk1/debinst sh -c 'cd /tmp/root; /bin/cpio -o -H newc'
+ find .
52803 blocks
+ echo gziping /mnt/disk1/debinst/boot/initrd ... wait 5 minutes
gziping /mnt/disk1/debinst/boot/initrd ... wait 5 minutes
+ gzip /mnt/disk1/debinst/boot/initrd
+ chmod 755 /mnt/disk1/share/hackkit/mkimage
+ chown root.root /mnt/disk1/share/hackkit/mkimage
+ /mnt/disk1/share/hackkit/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /mnt/disk1/debinst/boot/initrd.gz /mnt/disk1/debinst/boot/initrd.buffalo
Image Name:   initramfs
Created:      Mon Nov  4 15:48:22 2013
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    11827819 Bytes = 11550.60 kB = 11.28 MB
Load Address: 0x00000000
Entry Point:  0x00000000
+ rm -f /mnt/disk1/debinst/boot/initrd.gz
+ umount_boot
+ '[' no = yes ']'
+ echo unmount /boot ...
unmount /boot ...
+ sync
+ umount /mnt/disk1/debinst/boot
+ umount_root
+ '[' no = yes ']'
+ cd /
+ umount /mnt/disk1/debinst
[root@LS410D06E hackkit]#
できたか??

電源 OFF

ハックキットで起動

続いて、 ハックキットで起動

HDD の交換(LS-WSGL, LS-QL 以外)

起動

動作確認

無事起動したようなので、続いて 動作確認

// 実は起動するまでに3回ぐらいやり直していたり

LED の確認

POWER が白点灯

ログイン

TeraTerm でログイン
Linux 3.3.4 (shinjuw.yamasita.jp) (pts/0)

ls410d login: guest
Password:
Linux ls410d 3.3.4 #1 Thu Jul 4 22:16:52 JST 2013 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No directory, logging in with HOME=/
guest@ls410d:/$

root になる

guest@ls410d:/$ su - root
パスワード:
root@ls410d:~#

時計を合わせる

root@ls410d:~# date
2013年 11月  4日 月曜日 15:55:18 JST
root@ls410d:~#
あってる

USB メモリの認識

root@ls410d:~# tail -f /var/log/messages
	:
	:
Nov  4 15:56:13 ls410d kernel: usb 1-1: new full-speed USB device number 2 using ehci_marvell
Nov  4 15:56:13 ls410d kernel: usb-storage 1-1:1.0: Quirks match for vid 0ea0 pid 6828: 20
Nov  4 15:56:13 ls410d kernel: scsi2 : usb-storage 1-1:1.0
Nov  4 15:56:14 ls410d kernel: scsi 2:0:0:0: Direct-Access     BUFFALO  ClipDrive        1.88 PQ: 0 ANSI: 2
Nov  4 15:56:14 ls410d kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0
Nov  4 15:56:14 ls410d kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0
Nov  4 15:56:15 ls410d kernel: ready
Nov  4 15:56:15 ls410d kernel: sd 2:0:0:0: [sdb] 64000 512-byte logical blocks: (32.7 MB/31.2 MiB)
Nov  4 15:56:15 ls410d kernel: sd 2:0:0:0: [sdb] Write Protect is off
Nov  4 15:56:15 ls410d kernel: sdb: sdb1
Nov  4 15:56:15 ls410d kernel: sd 2:0:0:0: [sdb] Attached SCSI removable disk

Nov  4 15:56:35 ls410d kernel: usb 1-1: USB disconnect, device number 2

OK

プリンタの認識(LS-GL 以外)

Nov  4 15:57:33 ls410d kernel: usb 1-1: new high-speed USB device number 3 using ehci_marvell
Nov  4 15:57:33 ls410d kernel: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04B8 pid 0x0007

Nov  4 15:57:45 ls410d kernel: usb 1-1: USB disconnect, device number 3
Nov  4 15:57:45 ls410d kernel: usblp0: removed
OK

リブートの確認

root@ls410d:~# shutdown -r now
無事再起動してきた。

シャットダウンの確認

電源SWをOFFにして無事シャットダウン。

完璧!



LS410D

楽天市場
Amazon


armhf でハックキット(1)ディレクトリツリーの作成
ハックの記録
LinkStation/玄箱 をハックしよう

armel, armhf 両方のハックキットを一気に作る

ツイート Tweet to @yasunari_y @yasunari_yをフォロー

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