仕切り直し

LS410D

大失敗した後は、焦って再スタートせずに ゆっくりと見直しと作戦の練り直しをする。

どこまで確認できた

まず、initrd.buffalo に対して何をやって何が確認できていて、 何が確認できていないかをまとめる。

凡例:
○:ブートすることが確認済み
?:ブートするかどうか未確認
×:ブートしないことが確認済み
とすると、、、

○ initrd.buffalo のタイムスタンプを変える
○ initrd.buffalo のサイズを変える
○ initrd.buffalo の image を作り直す
○ initrd.buffalo の image 内の initrd を gzip し直し
ここまではセルフで boot できているので、 大失敗の原因 tftp boot とは関係ない。
以下、tftp boot で確認

? initrd.buffalo の image 内の initrd を gzip し直し・・ 確認したつもりが確認になっていなかった
× initrd.buffalo の image 内の initrd を ar で作り直し

あれ??
tftp Boot して確認したところからが怪しい。

initrd.buffalo の image 内の initrd を gzip し直して tftp Boot

ここから再スタート
って、全然作戦の練り直し、してないやん

スクリプトの修正

root@qube:~# cd /srv/tftp/ls400-111/
root@qube:/srv/tftp/ls400-111# vi remakeinitrd.sh
	:
	:
root@qube:/srv/tftp/ls400-111# cat !$
cat remakeinitrd.sh
set -x

cp initrd.buffalo{.orig,}
dd if=initrd.buffalo of=/tmp/initrd.gz bs=64 skip=1
gunzip /tmp/initrd.gz
# mkdir root
# cd root
# cat /tmp/initrd | cpio -id
#
# find . -depth -print | cpio -ov > /tmp/initrd
# cd ..
# rm -fr root
gzip /tmp/initrd
mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo

rm -f /tmp/initrd.gz

rm -f ../initrd.buffalo
ln initrd.buffalo ..
root@qube:/srv/tftp/ls400-111#
いつでも戻せるように、コメントアウトしておいた

スクリプトの実行

root@qube:/srv/tftp/ls400-111# bash !$
bash remakeinitrd.sh
+ cp initrd.buffalo.orig initrd.buffalo
+ dd if=initrd.buffalo of=/tmp/initrd.gz bs=64 skip=1
185731+1 records in
185731+1 records out
11886820 bytes (12 MB) copied, 6.83032 s, 1.7 MB/s
+ gunzip /tmp/initrd.gz
+ gzip /tmp/initrd
+ mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo
Image Name:   initramfs
Created:      Wed Sep 25 00:31:00 2013
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    11929799 Bytes = 11650.19 kB = 11.38 MB
Load Address: 0x00000000
Entry Point:  0x00000000
+ rm -f /tmp/initrd.gz
+ rm -f ../initrd.buffalo
+ ln initrd.buffalo ..
root@qube:/srv/tftp/ls400-111#

tftp Boot

root@qube:/srv/tftp/ls400-111# tail -f /var/log/daemon.log
	:
	:
Sep 25 01:01:46 qube in.tftpd[1295]: connect from 192.168.11.150 (192.168.11.150)
Sep 25 01:01:46 qube tftpd[1297]: tftpd: trying to get file: uImage.buffalo
Sep 25 01:01:46 qube tftpd[1297]: tftpd: serving file from /srv/tftp
Sep 25 01:01:48 qube in.tftpd[1298]: connect from 192.168.11.150 (192.168.11.150)
Sep 25 01:01:48 qube tftpd[1299]: tftpd: trying to get file: initrd.buffalo
Sep 25 01:01:48 qube tftpd[1299]: tftpd: serving file from /srv/tftp

取りに来ている

しばらくして 白点灯
ssh してみる

root@qube:/srv/tftp/ls400-111# ssh root@ls410d
[root@LS410D06E ~]#
行けている。

ということは、ダメなのは
× initrd.buffalo の image 内の initrd を ar で作り直し
ここから。

ar で作り直しの方法が悪いのか、
作りなおしたことをチェックしてブートしないようにしているのか??



LS410D

楽天市場
Amazon


大失敗??
ハックの記録
LinkStation/玄箱 をハックしよう

やっぱりトラップ?

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

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