中の様子を探る(6)なぜ HDD Boot にならないのか

LS-LGL

EM モードの LS-LGL にログインできるようになったので、 なぜ HDD Boot モードにならないのか、 まずは /linuxrc を調べる。
シリアルコンソールがあれば、こんなのすぐなのに、、、

HddRoot()

HddRoot() のほぼ最初に起動している telnetd が動いているので、 この関数を通っていることは間違いない。
HddRoot() の子関数を順に見ていく。

HasUpdatedFile()

/boot に
uImage.buffalo.updated
u-boot.buffalo.updated
initrd.buffalo.updated
hddrootfs.buffalo.updated
のいずれかがあると HDD Boot モードにはならない。
ところが、これらのファイルは存在しない。
/ # ls /boot/*.updated
ls: /boot/*.updated: No such file or directory
/ #
なので、HasUpdatedFile() でのチェックが原因とは考えられない。

TestRootfs()

/dev/sda2 を /mnt にマウントして、いろいろなチェックをしている。
/ # mount /dev/sda2 /mnt
/ # ls /mnt
bin         dev         home        lib         mnt         root        sbin        tmp         var
boot        etc         initrd      lost+found  proc        rootfs      sys         usr
/ #
CheckHddRootMode() で /mnt/etc/hddrootmode が無ければ EM モード。
/ # ls /mnt/etc/hddrootmode
/mnt/etc/hddrootmode
/ #
ある。

CheckRootfsBootingMarker() で /mnt/etc/rootfs_ok が無ければ EM モード。

/ # ls /mnt/etc/rootfs_ok
/mnt/etc/rootfs_ok
/ #
ある。

CheckCompareSystemDate() で、新旧のチェックをしている。
チェックしているのは、
/proc/buffalo/firmware と /mnt/etc/linkstation_release、
/etc/linkstation_emergence と /mnt/etc/linkstation_release。
比べてみる。

/ # /usr/local/bin/vercomp /proc/buffalo/firmware /mnt/etc/linkstation_release
KERNEL:2007/12/16 17:36:21
HDD:2007/11/13 11:16:18
/ # 
/ # /usr/local/bin/vercomp /etc/linkstation_emergence /mnt/etc/linkstation_release
KERNEL:2007/11/13 11:16:14
HDD:2007/11/13 11:16:18
/ #
これだ。

カーネルをコンパイルしたのは、2007/12/16 17:36:21。
HDD のファームウェアは、2007/11/13 11:16:18。
HDD のファームウェアの方が古いので、
*** hddSys is old. use initrd mode. ***
と。

さて、、、



LS-L250GL
楽天市場
Amazon
Yahoo! ショッピング
Sofmap
TSUKUMO ネットショップ
ValuMore!
ムラウチドットコム
uWorks
パソQ


中の様子を探る(5)EM モードに telnet
ハックの記録
LinkStation/玄箱 をハックしよう

中の様子を探る(7)HDD Boot にする

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