電源ボタン系でも /usr/local/bin/KeventHandller.sh で
: : micon_interrupts) INT_DETAIL=`$MICONAPL -a int_get_switch_status |grep "int=" |sed -e "s/int=//"` case ${INT_DETAIL} in power_sw) /usr/local/bin/shutdown.sh normal ;; : :と miconapl を使っている。
ヒョッとしてカーネルイベントは、
電源ボタンを押したときに上がるのではなくて、
定期的に上がってきて、電源ボタンかどうかは
miconapl -a int_get_switch_status した結果で判断するの?
/usr/local/bin/KeventHandller.sh を修正して試してみた。
いつもの通り再現性を確認するため電源 ON から。
hackkit login: root Password: Last login: Tue Mar 6 07:39:08 2007 on ttyS0 Linux hackkit 2.6.12.6-arm1 #2 Thu Feb 8 15:00:20 JST 2007 armv5tejl GNU/Linux The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. hackkit:~# chroot /usr/local/buffalo/ hackkit:/# mount -t proc proc /proc 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:/# miconapl -b -a boot_end hackkit:/# /etc/init.d/FanController.sh start hackkit:/# cd /usr/local/bin hackkit:/usr/local/bin# mv KeventHandller.sh KeventHandller.sh.orig hackkit:/usr/local/bin# cp KeventHandller.sh.orig KeventHandller.sh hackkit:/usr/local/bin# ls -l KeventHandller.sh* -rwxr-xr-x 1 root root 849 Mar 6 08:03 KeventHandller.sh -rwxr-xr-x 1 root root 849 Mar 5 07:43 KeventHandller.sh.orig hackkit:/usr/local/bin# vi KeventHandller.sh : : hackkit:/usr/local/bin# diff KeventHandller.sh.orig KeventHandller.sh --- KeventHandller.sh.orig Mon Mar 5 07:43:45 2007 +++ KeventHandller.sh Tue Mar 6 08:04:18 2007 @@ -37,6 +37,7 @@ ;; micon_interrupts) INT_DETAIL=`$MICONAPL -a int_get_switch_status |grep "int=" |sed -e "s/int=//"` + echo ${INT_DETAIL} case ${INT_DETAIL} in power_sw) /usr/local/bin/shutdown.sh normal hackkit:/usr/local/bin#/etc/init.d/Kevent.sh start を実行する
hackkit:/usr/local/bin# /etc/init.d/Kevent.sh start hackkit:/usr/local/bin# /usr/local/bin/KeventHandller.sh lanact 0 half /usr/local/bin/KeventHandller.sh lanact 1000 full /usr/local/bin/KeventHandller.sh micon_interrupts unknown unknown MIntAct /usr/local/bin/KeventHandller.sh micon_interrupts power_sw MIntAct /etc/init.d/Kevent.sh stop hackkit:/usr/local/bin#power_sw ってでてるやん。なんで、shutdown しない?
power_sw の時実行される /usr/local/bin/shutdown.sh normal を 実行してみた。
hackkit:/usr/local/bin# /usr/local/bin/shutdown.sh normal hackkit:/usr/local/bin#何もおこらない。
hackkit:/usr/local/bin# cat /usr/local/bin/shutdown.sh #!/bin/sh # if [ "$1" = "error" ] ; then echo "shutting down with error" fi /sbin/shutdown -h now exit 0 hackkit:/usr/local/bin#normal で起動される限り、何のチェックもなし。
hackkit:/usr/local/bin# /sbin/shutdown -h now hackkit:/usr/local/bin#またまた、何もおこらない。
hackkit:/usr/local/bin# ls -l /sbin/shutdown -rwxr-xr-x 1 root root 11 Oct 24 1983 /sbin/shutdown hackkit:/usr/local/bin# cat /sbin/shutdown /sbin/halt hackkit:/usr/local/bin# ls -l /sbin/halt lrwxrwxrwx 1 root root 14 Mar 5 07:20 /sbin/halt -> ../bin/busybox hackkit:/usr/local/bin#ふつう。
ヒョッとして、jail の中では shutdown できなかったのでは???
どーしよ。
|
玄人志向
楽天市場 TSUKUMO ネットショップ Yahoo!ショッピング Sofmap クレバリー TwoTop |
|
玄人志向
TSUKUMO ネットショップ Yahoo! ショッピング パソQ ValuMore uWorks |
玄箱PROをハックしよう |
ASCII
楽天ブックス Amazon cbook24 e-hon JBook BK1 livedoorブックス 紀伊國屋書店BookWeb |
← ファンコントロール |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ 電源ボタン(4) |