大失敗??

LS410D

initrd を変更しても、全然効いていないような。
ちょっと確認する

ハードリンク

root@qube:~# ls -l /srv/tftp/
total 14440
	:
	:
-rwxr-xr-x 2 yasunari yamasita 11886884 Jul  4 22:18 initrd.buffalo
	:
	:
-rwxr-xr-x 2 yasunari yamasita  2894416 Jul  4 22:18 uImage.buffalo
root@qube:~#
ん? Jul 4?

これらは、 実体を ls400-111 においてハードリンクしてあるので リックカウントが2

実体は

root@qube:~# ls -l /srv/tftp/ls400-111/
total 26076
-rw-r--r-- 1 yasunari yamasita 11908945 Sep 22 18:24 initrd.buffalo
-rwxr-xr-x 2 yasunari yamasita 11886884 Jul  4 22:18 initrd.buffalo.orig
-rw-r--r-- 1 yasunari yamasita      646 Sep 22 18:22 remakeinitrd.sh
-rwxr-xr-x 2 yasunari yamasita  2894416 Jul  4 22:18 uImage.buffalo
root@qube:~#
がー。

リンクカウントが2なのは initrd.buffalo.orig 。

これでは効かんわ!

というわけで、tftp Boot を初めて以来、 ずっと標準ファームのオリジナルの initrd.buffalo で 起動していたことになる。
「initrd.buffalo を変えてもブートしないことは無い」という 結論も根拠なし(藁

スクリプトの修正

気を取り直して、スクリプトを修正してやってみる。

とりあえず、何も変えずに initrd.buffalo を作り変えてみるだけ

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#
initrd.buffalo を作った後に、 /srv/tftp (..) の initrd.buffalo を消して ハードリンクを貼り直すようにした。

スクリプトの実行

root@qube:/srv/tftp/ls400-111# 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, 7.44569 s, 1.6 MB/s
+ gunzip /tmp/initrd.gz
+ mkdir root
+ cd root
+ cat /tmp/initrd
+ cpio -id
52829 blocks
+ cat
+ cp init /tmp
+ find . -depth -print
+ cpio -ov
./usr/lib/libreadline.so.6.2
./usr/lib/libstdc++.so.6.0.16-gdb.py
	:
	:
./www/cgi-bin/resume.cgi
./www/cgi-bin/query.cgi
./www/cgi-bin
./www
.
52612 blocks
+ 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
Image Name:   initramfs
Created:      Sun Sep 22 21:16:40 2013
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    11913485 Bytes = 11634.26 kB = 11.36 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#
前半の initrd.buffalo の展開は、毎回はやらなくて良いな

確認

root@qube:/srv/tftp/ls400-111# ls -l
total 26084
-rw-r--r-- 2 yasunari yamasita 11913549 Sep 22 21:16 initrd.buffalo
-rwxr-xr-x 1 yasunari yamasita 11886884 Jul  4 22:18 initrd.buffalo.orig
-rw-r--r-- 1 yasunari yamasita      421 Sep 22 21:14 remakeinitrd.sh
-rw-r--r-- 1 root     yamasita      536 Sep 22 21:13 remakeinitrd.sh.save
-rwxr-xr-x 2 yasunari yamasita  2894416 Jul  4 22:18 uImage.buffalo
root@qube:/srv/tftp/ls400-111# ls -l ../initrd.buffalo
-rw-r--r-- 2 yasunari yamasita 11913549 Sep 22 21:16 ../initrd.buffalo
root@qube:/srv/tftp/ls400-111#
いけてそう

tftp Boot する

標準ファームの HDD をセットして tftp Boot する

E07 で起動してこない。。。。

やっぱり initrd.buffalo をいじると起動しないのか??



LS410D

楽天市場
Amazon


どこまで動いている??
ハックの記録
LinkStation/玄箱 をハックしよう

仕切り直し

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

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