電源ボタン(2)

debian 玄箱/Pro

debian が動作している状態では、 まだ電源ボタンによる電源 OFF ができないでいる。
HDD boot モードだと電源ボタンの状態が読めないのかと、 HDD boot モードの標準ファームを起動して電源ボタンを押してみたが、 きちんと切れた。
HDD boot モードが悪いのではなく、何か設定が足りないことがはっきりした。

mtd2 のコピー

mtd2 をつぶしても困るので(もうつぶれているという話もあるが、、) /dev/mtd2 の中身を /usr/local/buffalo にコピーする
hackkit:~# mkdir /tmp/root
hackkit:~# mount /dev/mtd2 /tmp/root
hackkit:~# cd /tmp/root
hackkit:/tmp/root# ls
bin   dev  home    lib  proc  rootfs  sys  usr  www
boot  etc  initrd  mnt  root  sbin    tmp  var
hackkit:/tmp/root# tar cf - . |(cd /usr/local/buffalo/; tar xvf -)
	:
	:
hackkit:/tmp/root# cd
hackkit:~# umount /tmp/root

再実行

もう一度やってみる

jail の中へ

hackkit:~# chroot /usr/local/buffalo
hackkit:/#

proc のマウント

hackkit:/# mount /proc
hackkit:/#

/etc/init.d/checkroot.sh の実行

/var にディレクトリを作成するために、/etc/init.d/checkroot.sh を 実行する
hackkit:/# /etc/init.d/checkroot.sh start
rm: /var/lock/perfmon: is a directory
rm: /var/lock/printing: is a directory
rm: /var/lock/subsys: is a directory
hackkit:/#
エラーになっているのは、
                 :
        mkdir -m 755 -p /var/lock/subsys
        mkdir -m 755 -p /var/lock/perfmon
        mkdir -m 755 -p /var/lock/printing
                 :
        rm -f /var/lock/*
なにしたいの?

/etc/init.d/Kevent.sh の実行

hackkit:~# /etc/init.d/Kevent.sh start
hackkit:~# ps
  PID  Uid     VmSize Stat Command
    1 root        500 S   init [2]
       :
  540 root        648 S   /bin/sh /usr/local/sbin/Keventd
  584 root        696 S   /bin/sh /usr/local/sbin/Keventd
  585 root        652 R   ps
hackkit:~#
動いたが、、、やっぱり電源ボタンは効かない。

追跡

/usr/local/sbin/Keventd から順に追い掛けていった。

Keventd

まずはカーネルイベントを受けているかを見た。
hackkit:~# /etc/init.d/Kevent.sh stop
hackkit:~# cd /usr/local/sbin
hackkit:/usr/local/sbin# mv Keventd Keventd.orig
hackkit:/usr/local/sbin# cp Keventd.orig Keventd
hackkit:/usr/local/sbin# ls -l Keventd*
-rwxr-xr-x    1 root     root          203 Mar  6 07:00 Keventd
-rwxr-xr-x    1 root     root          203 Jan 18 15:02 Keventd.orig
hackkit:/usr/local/sbin# vi Keventd
	:
hackkit:/usr/local/sbin# diff Keventd.orig Keventd
--- Keventd.orig        Thu Jan 18 15:02:46 2007
+++ Keventd     Tue Mar  6 07:01:16 2007
@@ -12,6 +12,7 @@
        while :
        do
                LINE=`cat ${KERNEL_EVENT_TAIL}`
+               echo /usr/local/bin/KeventHandller.sh ${LINE}
                /usr/local/bin/KeventHandller.sh ${LINE}
        done
 done
hackkit:/usr/local/sbin# /etc/init.d/Kevent.sh start
hackkit:/usr/local/sbin# /usr/local/bin/KeventHandller.sh micon_interrupts

hackkit:/usr/local/sbin#
MIntAct
/usr/local/bin/KeventHandller.sh micon_interrupts

MIntAct
/usr/local/bin/KeventHandller.sh micon_interrupts

MIntAct
/usr/local/bin/KeventHandller.sh micon_interrupts

MIntAct
/usr/local/bin/KeventHandller.sh micon_interrupts

MIntAct
/usr/local/bin/KeventHandller.sh micon_interrupts

MIntAct
/usr/local/bin/KeventHandller.sh micon_interrupts

定期的に /usr/local/bin/KeventHandller.sh micon_interrupts が 表示されるだけで、電源ボタンには反応しない。

電源ボタンを押してもカーネルイベントが出ていない。

こまった。




KURO-BOX/PRO
玄人志向
楽天市場
TSUKUMO ネットショップ
Yahoo!ショッピング
Sofmap
クレバリー
TwoTop

SCON-KIT/PRO
玄人志向
TSUKUMO ネットショップ
Yahoo! ショッピング
パソQ
ValuMore
uWorks

玄箱PROをハックしよう
ASCII
楽天ブックス
Amazon
cbook24
e-hon
JBook
BK1
livedoorブックス
紀伊國屋書店BookWeb


HDD boot 専用 HDD /The Hard Drive for the HDD boot mode
ハックの記録
LinkStation/玄箱 をハックしよう

ファンコントロール

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