2014年11月10日月曜日

玄箱のkernel-2.6.28以降の電源ボタンを有効にする

電源ボタンなどを押した時の挙動は、"/etc/kuroevtd"以下のスクリプトの修正だけでは解決されないようなので、ボタンの挙動を監視している"/usr/sbin/kuroevtd"を修正する。
ソースを入手する。
コンパイルするのに必要なパッケージをインストールする。
# su
# aptitude install build-essential
ソースを展開、ファイルを修正する。
# mkdir kuroevtd
# tar xvzf kuroevtd1.1.3-pug1.0.tgz -C ./kuroevtd
# cd kuroevtd
# vi kuroevtd.c
赤字の部分を加筆修正する。
#include <time.h> 
#include <strings.h> 
#include <stdlib.h> 

#ifndef NOLOG
#include <syslog.h> 
#endif /* NOLOG */

#define BAUDRATE         B9600
#define DEVICE          "/dev/ttyS0"
#define EVT_POWER_DOWN  "/etc/kuroevtd/powerdown"
念のため同梱されている実行バイナリを削除しコンパイル。
# rm kuroevtd
# make
gcc -o kuroevtd kuroevtd.c
稼働中の"kuroevtd"を止めて新しいものに差し替え、再び稼働させて完了。
# /etc/init.d/kuroevtd stop
Stopping KURO-BOX event daemon: kuroevtd.
# cp kuroevtd /usr/sbin
# /etc/init.d/kuroevtd start
Starting KURO-BOX event daemon: kuroevtd.
試しに電源ボタンを長押ししてみて、シャットダウンされるか確認してみる。

0 件のコメント:

コメントを投稿