.config


コンパイルの設定を再考してみる。
Buffaloのソース公開ページから取得したファイルを見てみると、ls-vl用2.6.31には.configが付いていた。
ls-glソース入っているものはバージョンが古いので、2.6.31用.configで2.6.39を再コンパイルする。
設定変更はOrion→LS-HGLのみ。あえてmake oldconfigはせずに実行してみた。
最後あたりまで動いたが、
/proc/buffalo/kernevntがないというエラーがずっと続く。
・・・
===== exec:micon_setup.sh =====
cat: /proc/buffalo/kernevnt: No such file or directory
cat: /proc/buffalo/kernevnt: No such file or directory
cat: /proc/buffalo/kernevnt: No such file or directory
cat: /proc/buffalo/kernevnt: No such file or directory
・・・

micon_setup.sh内のエラーなのでソースをみてみる。
root@LS-GL216:~# cat /etc/init.d/micon_setup.sh
#!/bin/sh
#
# for micon setup(micon time,display items,host name,network ip,raid mode
# ups setting)

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

. /etc/init.d/logtag

MCONVER=`miconapl -a mcon_get_version`
logger -t ${LOGTAG} -p ${LOGFACILITY} "$MCONVER"

#/usr/local/bin/time_set.sh
#/usr/local/bin/change_notify.sh network
#/usr/local/bin/change_notify.sh raidmode
#/usr/local/bin/change_notify.sh ups
#/usr/local/bin/change_notify.sh dispitem

int=""

counter=0

while [ "$int" = "" -a "$counter" -lt "5" ]
do
int=`miconapl -a int_get_switch_status |grep "linefail"| sed -e "s/int=//"`
counter=`expr "$counter" + 1 `
done

if [ "$int" = "ups_linefail" ] ; then
echo "boot-up line fail detected" > /tmp/linefail_detect
fi

root@LS-GL216:~# cat /etc/init.d/logtag
LOGTAG=linkstation
LOGFACILITY=local0.info

logtagは無関係。
他に/usr/local/sbin/miconaplを呼んでいる。

root@LS-GL216:~# which miconapl
/usr/local/sbin/miconapl
root@LS-GL216:~# file /usr/local/sbin/miconapl
/usr/local/sbin/miconapl: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.4.17, dynamically linked (uses shared libs), stripped

残念ながらバイナリ。

起動ログに戻って処理を順番に見るとそもそもHDDのマウントに失敗している。
カーネル2.6.39でMontaVista2.6.16のルートを起動しようとしているのだからそもそも無理がある。
第2パーティションにあるルートファイルをカーネルバージョンに近づければうまくいくかもしれない。