landisk-tools
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*landisk-toolsの概要 [#hb9e0a00]
(2005/11/10版リリース)~
LANDISKとUSL-5P専用のコマンドを一纏めにしたパッケージです...
~
-''サポート環境''~
--LANDISKとUSL-5P専用 (LAN Tankでも多分OK)
--linux-2.6.12-sh-landisk.0.6 以上
--debian26
~
~
-''パッケージ内容''~
--ledctrl~
LED/Buzzer制御用コマンド~
~
--gio2~
I/OのRead/Writeを行うコマンド~
~
--%%&color(red){kernelsw.pl}; … SH-Linux Kernel Switcher%%~
%%カーネルのブート(動的変更)を行うコマンド%%~
%%(linux-2.6.12-sh-landisk.0.8以前のカーネルでは kernelsw...
%%(&color(red){重要:linux-2.6.13では本機能は削除されまし...
~
--%%landiskpoff%%~
%%電源ボタンの押下をトリガに、シャットダウン行うコマンド...
%%(btnctrlコマンドへ機能統合。廃止の予定)%%
--&color(red){btnctrl … linux-2.6.12-sh-landisk.0.6 以上};~
電源ボタンの押下をトリガに、シャットダウン行うコマンド。~
USL-5Pの各種ボタン制御機能も有す。~
--liloサポート
---/sbin/lilo … スタティックリンク版(ライブラ非依存)~
---/boot/boot.b-selk … LANDISKとUSL-5P統合専用ブートセレ...
---/etc/lilo.conf
~
--上記コマンドのソース~
~
-''インストール&セットアップ''~
--パッケージ~
http://eggplant.ddo.jp/www/download/debian26/base/ から、~
landisk-tools-xxxxxxxx.tgzを取得します。~
~
--インストール~
debian26のルート下へ展開します。~
#pre{{
landisk:~# tar vxfzp landisk-tools-xxxxxxxx.tgz -C /
./boot/
./boot/boot.b-selk
./etc/
./etc/lilo.conf
./etc/init.d/
./etc/init.d/btnctrl
./sbin/
./sbin/lilo
./usr/
./usr/local/
./usr/local/lib/
./usr/local/lib/landisk-tools/
./usr/local/lib/landisk-tools/btn_action.conf
./usr/local/src/
./usr/local/src/landisk-tools/
./usr/local/src/landisk-tools/btnctrl.back
./usr/local/src/landisk-tools/gio2.c
./usr/local/src/landisk-tools/sh-lilo-selk.tgz
./usr/local/src/landisk-tools/btnctrl.c
./usr/local/src/landisk-tools/ledctrl.c
./usr/local/sbin/
./usr/local/sbin/gio2
./usr/local/sbin/gio2_unload
./usr/local/sbin/ledctrl
./usr/local/sbin/landisk-tools.setup
./usr/local/sbin/gio2_load
landisk:~#
}}
--設定~
killallコマンドが必要となるため、psmiscパッケージをインス...
#pre{{
landisk:~# apt-get install psmisc
}}
その後、landisk-toolsのセットアップを行います。~
#pre{{
landisk:~# /usr/local/sbin/landisk-tools.setup
update-rc.d: /etc/init.d/landiskpoff exists during rc.d p...
Removing any system startup links for /etc/init.d/landis...
update-rc.d: /etc/init.d/btnctrl exists during rc.d purge...
Removing any system startup links for /etc/init.d/btnctr...
Adding system startup for /etc/init.d/btnctrl ...
/etc/rc0.d/K00btnctrl -> ../init.d/btnctrl
/etc/rc1.d/K00btnctrl -> ../init.d/btnctrl
/etc/rc6.d/K00btnctrl -> ../init.d/btnctrl
/etc/rc2.d/S99btnctrl -> ../init.d/btnctrl
/etc/rc3.d/S99btnctrl -> ../init.d/btnctrl
/etc/rc4.d/S99btnctrl -> ../init.d/btnctrl
/etc/rc5.d/S99btnctrl -> ../init.d/btnctrl
Starting btnctrl/dev/btnctrl open error...
.
landisk:~#
}}
~
-
以上でインストールと設定はおしまいです。~
*仕様メモ [#b0b8ffcb]
**LED/Buzzer 制御 [#afe81705]
-/dev/ledctrl デバイス(99,21)~
本デバイスを介して、カーネル内のLED/Buzzer制御ルーチンへ...
~
-制御コマンド … ledctrl~
LED/Buzzerの制御を行う。~
#pre{{
landisk:~# ledctrl --help
LED/Buzzer controller for LANDISK and USL-5P
Usage:
ledctrl [Options ... ]
ledctrl -p ledparam
ledctrl -b buzzerparam
ledctrl --help
Options:
pwron pwroff pwrblink pwrfastblink pwrhw
erron erroff errblink errfastblink errhw
accon accoff accblink accfastblink acchw
allon alloff allblink allfastblink
u1on u1off u1blink u1fastblink
u2on u2off u2blink u2fastblink
u3on u3off u3blink u3fastblink
u4on u4off u4blink u4fastblink
u5on u5off u5blink u5fastblink
shutdown
Example:
ledctrl pwrblink errblink
ledctrl -p 0x0000a05
ledctrl -b 0x0005555
- 2005/07/14 - http://eggplant.ddo.jp/www/
}}
-ledparamの仕様~
~
|CENTER:80|CENTER:110|CENTER:110|CENTER:110|CENTER:110|c
|bit|31 - 24|23 - 16|15 - 8|7 - 0|h
|機能|hw(hardware)|fastblink|blink|on|h
|LANDISK|000000**|000000**|000000**|000000**|
|USL-5P |000000!!|0*******|0*******|0*******|
--32bit、16進数で指定する。~
--'*'の部分は'0'か'1'が書き込める。
--'!'の部分に書き込むと、accoffまたは、pwronと同じ動作を...
--LANDISKの場合、bit7-0は、順番に0、0、0、0、0、0、ACC、P...
--USL-5Pの場合、bit7-0は、順番に0、USB5、USB4、USB3、USB2...
--bit31-24、bit23-16、bit15-8もbit7-0と同様。ただしLEDの...
-buzzerparam~
--32bit、16進数で指定する。~
--最下位ビットの値が1の場合ブザーが鳴る。~
--約0.5秒毎に、1ビット右シフトされ、変化した最下位ビット...
--右シフトされた際の最上位ビットは変化しない。(signed in...
(最上位ビットを立てた場合、ブザーが永遠に鳴り続けること...
-引数の優先順位~
同じLEDに対して矛盾した引数が指定された場合、例えば、pwro...
後ろで指定された引数が優先される(上書きされる)。~
~
-使用例~
/etc/init.d//btnctrl や /usr/local/lib/landisk-tools/btn_...
**GIO -- General I/O [#z0fdda0d]
-/dev/giodrv デバイス(99,40)~
本デバイスを介して、カーネル内のGIO制御ルーチンへアクセス...
~
-制御コマンド … gio2~
LANDISKに付属するgioコマンドとほぼ同じ仕様。~
#pre{{
usl5p:~# gio2 -help
GIO Controller for LANDISK and USL-5P
Usage(read) : gio2 [address] [size]
Usage(write) : gio2 [address] [size] [data] [re-read]
[address]
00000000-ffffffff
[size]
1 or 2 or 4
[data]
00-ff or 0000-ffff or 00000000-ffffffff
[re-read]
r
Example(read) : gio2 a0000000 2
Example(write): gio2 a0000000 2 00ff
Example(write): gio2 a0000000 2 00ff r
- 2005/07/14 - http://eggplant.ddo.jp/www/
}}
-gio2_load、gio2_unload~
/dev/giodrvの生成、削除を行うコマンド。~
**Button 制御 (電源ボタンでshutdown) [#y2d60c0b]
&color(red){本コマンドを使用するには、linux-2.6.12-sh-lan...
-/dev/btnctrl デバイス(99,22)~
本デバイスを介して、カーネル内のボタン割り込み制御を行う。
-コマンド … btnctrl~
ボタン押下時に実行させたいコマンドを列挙したファイル、btn...
#pre{{
landisk:~# btnctrl /usr/local/lib/landisk-tools/btn_actio...
}}
が、通常は、デーモンとして起動させることになるでしょう。~
#pre{{
landisk:~# /etc/init.d/btnctrl start
}}
-btn_action.confファイルの仕様~
#pre{{
PWO:/sbin/shutdown -h now
PWB:/usr/local/sbin/ledctrl shutdown -b 00000001
SEL:/usr/local/sbin/ledctrl -b 00000005
DEL:/usr/local/sbin/ledctrl -b 00000015
CPY:/usr/local/sbin/ledctrl -b 00000055
}}
各ボタン押下イベントに対応するラベル、PWO:、PWD:、SEL:、D...
コマンドを指定する。~
--PWO: 電源ボタン押下時にexecするコマンドを指定。~
--PWB: 電源ボタン押下時に実行するコマンドを指定。~
PWOで指定したコマンドの前に実行される。~
--SEL: 選択ボタン押下時に実行するコマンドを指定。~
--DEL: 取外しボタン押下時に実するコマンドを指定。~
--CPY: コピーボタン押下時に実行するコマンドを指定。~
~
-
例では、電源ボタン押下時、LEDを点滅させ、ブザーを1回鳴ら...
選択、取外し、コピーボタン押下時、ブザーが、2回、3回、...
~
-補足~
言うまでもないですが、LANDISKでは、PWOとPWBのみ有効です。...
**liloサポート … ブートセレクタ対応 [#c91bcac4]
-/boot/boot.b-selk~
mizore wikiさんのページで公開されているsh-lilo-selをベー...
ボタンでブートラベルの選択を行えるように改造したboot.b。~
boot.b-selkを使用するとシリアルコンソールが無い環境でもブ...
LANDISKとUSL-5P両対応。~
~
-LANDISKで使う場合~
--電源ボタンでブート選択~
次のような手順で2種類のブートラベルから起動可能~
---電源ボタンをONにして5秒経過すると、1番目のラベルから...
---電源ボタンをON→OFF、そしてHDDの回転が安定したころ再度O...
パチ(ON)パチ(OFF)、10秒程度待ってパチ(ON)てな感じで。~
~
-USL-5P用で使う場合~
--USL-5P専用ブートセレクタの仕様~
---電源ボタン … ブートラベル1から起動~
---電源ボタン+コピー … ブートラベル2から起動~
---電源ボタン+取消し … ブートラベル3から起動~
---電源ボタン+選択 … ブートラベル4から起動~
--
ボタンを離すタイミングは、まず、ブザーが鳴ったら電源をボ...
2〜3秒後、ブートラベル番号に対応したUSBポートのLEDが光...
光っているLEDを見れば、選択したブートラベルが分かるような...
~
-
**%% SH-Linux Kernel Swither 2.6カーネル対応版%% [#yfea55...
-はじめに~
まず、さらっと次のページに読んで、本ツールの概要を理解し...
--[[SH-Linux Kernel Switcher]] … 2.4カーネル用
~
~
-/dev/kernelsw デバイス(99,30)~
本デバイスを介して、SH-Linux Kernel Switcherの制御を行い...
~
-設定~
特に設定すべきことはありません。~
(2.6カーネル版では、haltやrebootコマンドのラッピング(置...
~
-使用例~
--confファイルの用意~
#pre{{
linear
boot=/dev/hda
disk=/dev/hda
bios=0x80
timeout=50
default=linux
image=/boot/vmlinuz-2.6.12-sh
label=linux
root=/dev/hda3
read-only
append="mem=64M console=ttySC1,9600 root=/dev/hda3 fastbo...
}}
--kernelの起動準備~
confファイルを引数にkernelsw.plを実行すると、カーネルのイ...
#pre{{
landisk:~# kernelsw.pl /boot/kernelsw.conf
Loading .... done.
==============================================
SH-Linux Kernel Switcher V3.2
----------------------------------------------
image = /boot/vmlinuz-2.6.12-sh (size:1302528,page:319)
root = /dev/hda3 (read-only)
append = "mem=64M console=ttySC1,9600 root=/dev/hda3 fas...
offset_address = 0x00210000
----------------------------------------------
kernel boot parameter details
0 : 0x1 # read-only root file system
1 : 0x0 # RAMDISK Flags
2 : 0x303 # Root device (/dev/hda3)
3 : 0x1 # Loader type (LILO = 1)
4 : 0x0 # Initrd start
5 : 0x0 # Initrd size
6 : 0x0 # Not defined yet
7 : 0x0 # Not defined yet
==============================================
landisk:~# shutdown -h now
}}
--カーネルの起動~
シャットダウンコマンド(-hオプション付で)を実行するとカー...
#pre{{
landisk:~# shutdown -h now
}}
--補足~
shutdown -hコマンド実行後、最終的にはOS内のあるルーチンへ...
その部分をフックしてカーネルのスイッチ制御を行っています。~
**%%電源ボタンでshutdown … 旧仕様%%[#i0a4e2c5]
-電源ボタンの状態取得方法~
LANDISKのカーネルには、元々電源ボタンの割り込み制御ルーチ...
次の2つの方法で取得可能。~
--方法1~
デバイス(99,1)を読むことで割り込みの状態を取得可能。~
電源ボタンがONの場合はEOF(End of File)が、OFFになると、'1...
~
--方法2~
cat /proc/interrupts で 電源ボタンの割り込み発生回数が取...
#pre{{
11: &color(red){0}; Julian IRQ SHUTDOWNSW...
}}
~
-電源ボタン監視デーモン、landiskpoff~
前者の手段を用いて電源ボタンの割り込み検出を行う。~
「デーモンプロセスとして常駐し、デバイス(99,1)を5秒後毎に...
その結果がEOFかそうでないかで、電源ボタンの割り込み判定を...
割り込みが検出された場合、引数で指定されたコマンドを実行...
(起動時に自動的に実行されるようinit.dスクリプトも用意)~
#pre{{
landisk:~# /usr/local/sbin/landiskpoff /sbin/shutdown -h ...
}}
終了行:
*landisk-toolsの概要 [#hb9e0a00]
(2005/11/10版リリース)~
LANDISKとUSL-5P専用のコマンドを一纏めにしたパッケージです...
~
-''サポート環境''~
--LANDISKとUSL-5P専用 (LAN Tankでも多分OK)
--linux-2.6.12-sh-landisk.0.6 以上
--debian26
~
~
-''パッケージ内容''~
--ledctrl~
LED/Buzzer制御用コマンド~
~
--gio2~
I/OのRead/Writeを行うコマンド~
~
--%%&color(red){kernelsw.pl}; … SH-Linux Kernel Switcher%%~
%%カーネルのブート(動的変更)を行うコマンド%%~
%%(linux-2.6.12-sh-landisk.0.8以前のカーネルでは kernelsw...
%%(&color(red){重要:linux-2.6.13では本機能は削除されまし...
~
--%%landiskpoff%%~
%%電源ボタンの押下をトリガに、シャットダウン行うコマンド...
%%(btnctrlコマンドへ機能統合。廃止の予定)%%
--&color(red){btnctrl … linux-2.6.12-sh-landisk.0.6 以上};~
電源ボタンの押下をトリガに、シャットダウン行うコマンド。~
USL-5Pの各種ボタン制御機能も有す。~
--liloサポート
---/sbin/lilo … スタティックリンク版(ライブラ非依存)~
---/boot/boot.b-selk … LANDISKとUSL-5P統合専用ブートセレ...
---/etc/lilo.conf
~
--上記コマンドのソース~
~
-''インストール&セットアップ''~
--パッケージ~
http://eggplant.ddo.jp/www/download/debian26/base/ から、~
landisk-tools-xxxxxxxx.tgzを取得します。~
~
--インストール~
debian26のルート下へ展開します。~
#pre{{
landisk:~# tar vxfzp landisk-tools-xxxxxxxx.tgz -C /
./boot/
./boot/boot.b-selk
./etc/
./etc/lilo.conf
./etc/init.d/
./etc/init.d/btnctrl
./sbin/
./sbin/lilo
./usr/
./usr/local/
./usr/local/lib/
./usr/local/lib/landisk-tools/
./usr/local/lib/landisk-tools/btn_action.conf
./usr/local/src/
./usr/local/src/landisk-tools/
./usr/local/src/landisk-tools/btnctrl.back
./usr/local/src/landisk-tools/gio2.c
./usr/local/src/landisk-tools/sh-lilo-selk.tgz
./usr/local/src/landisk-tools/btnctrl.c
./usr/local/src/landisk-tools/ledctrl.c
./usr/local/sbin/
./usr/local/sbin/gio2
./usr/local/sbin/gio2_unload
./usr/local/sbin/ledctrl
./usr/local/sbin/landisk-tools.setup
./usr/local/sbin/gio2_load
landisk:~#
}}
--設定~
killallコマンドが必要となるため、psmiscパッケージをインス...
#pre{{
landisk:~# apt-get install psmisc
}}
その後、landisk-toolsのセットアップを行います。~
#pre{{
landisk:~# /usr/local/sbin/landisk-tools.setup
update-rc.d: /etc/init.d/landiskpoff exists during rc.d p...
Removing any system startup links for /etc/init.d/landis...
update-rc.d: /etc/init.d/btnctrl exists during rc.d purge...
Removing any system startup links for /etc/init.d/btnctr...
Adding system startup for /etc/init.d/btnctrl ...
/etc/rc0.d/K00btnctrl -> ../init.d/btnctrl
/etc/rc1.d/K00btnctrl -> ../init.d/btnctrl
/etc/rc6.d/K00btnctrl -> ../init.d/btnctrl
/etc/rc2.d/S99btnctrl -> ../init.d/btnctrl
/etc/rc3.d/S99btnctrl -> ../init.d/btnctrl
/etc/rc4.d/S99btnctrl -> ../init.d/btnctrl
/etc/rc5.d/S99btnctrl -> ../init.d/btnctrl
Starting btnctrl/dev/btnctrl open error...
.
landisk:~#
}}
~
-
以上でインストールと設定はおしまいです。~
*仕様メモ [#b0b8ffcb]
**LED/Buzzer 制御 [#afe81705]
-/dev/ledctrl デバイス(99,21)~
本デバイスを介して、カーネル内のLED/Buzzer制御ルーチンへ...
~
-制御コマンド … ledctrl~
LED/Buzzerの制御を行う。~
#pre{{
landisk:~# ledctrl --help
LED/Buzzer controller for LANDISK and USL-5P
Usage:
ledctrl [Options ... ]
ledctrl -p ledparam
ledctrl -b buzzerparam
ledctrl --help
Options:
pwron pwroff pwrblink pwrfastblink pwrhw
erron erroff errblink errfastblink errhw
accon accoff accblink accfastblink acchw
allon alloff allblink allfastblink
u1on u1off u1blink u1fastblink
u2on u2off u2blink u2fastblink
u3on u3off u3blink u3fastblink
u4on u4off u4blink u4fastblink
u5on u5off u5blink u5fastblink
shutdown
Example:
ledctrl pwrblink errblink
ledctrl -p 0x0000a05
ledctrl -b 0x0005555
- 2005/07/14 - http://eggplant.ddo.jp/www/
}}
-ledparamの仕様~
~
|CENTER:80|CENTER:110|CENTER:110|CENTER:110|CENTER:110|c
|bit|31 - 24|23 - 16|15 - 8|7 - 0|h
|機能|hw(hardware)|fastblink|blink|on|h
|LANDISK|000000**|000000**|000000**|000000**|
|USL-5P |000000!!|0*******|0*******|0*******|
--32bit、16進数で指定する。~
--'*'の部分は'0'か'1'が書き込める。
--'!'の部分に書き込むと、accoffまたは、pwronと同じ動作を...
--LANDISKの場合、bit7-0は、順番に0、0、0、0、0、0、ACC、P...
--USL-5Pの場合、bit7-0は、順番に0、USB5、USB4、USB3、USB2...
--bit31-24、bit23-16、bit15-8もbit7-0と同様。ただしLEDの...
-buzzerparam~
--32bit、16進数で指定する。~
--最下位ビットの値が1の場合ブザーが鳴る。~
--約0.5秒毎に、1ビット右シフトされ、変化した最下位ビット...
--右シフトされた際の最上位ビットは変化しない。(signed in...
(最上位ビットを立てた場合、ブザーが永遠に鳴り続けること...
-引数の優先順位~
同じLEDに対して矛盾した引数が指定された場合、例えば、pwro...
後ろで指定された引数が優先される(上書きされる)。~
~
-使用例~
/etc/init.d//btnctrl や /usr/local/lib/landisk-tools/btn_...
**GIO -- General I/O [#z0fdda0d]
-/dev/giodrv デバイス(99,40)~
本デバイスを介して、カーネル内のGIO制御ルーチンへアクセス...
~
-制御コマンド … gio2~
LANDISKに付属するgioコマンドとほぼ同じ仕様。~
#pre{{
usl5p:~# gio2 -help
GIO Controller for LANDISK and USL-5P
Usage(read) : gio2 [address] [size]
Usage(write) : gio2 [address] [size] [data] [re-read]
[address]
00000000-ffffffff
[size]
1 or 2 or 4
[data]
00-ff or 0000-ffff or 00000000-ffffffff
[re-read]
r
Example(read) : gio2 a0000000 2
Example(write): gio2 a0000000 2 00ff
Example(write): gio2 a0000000 2 00ff r
- 2005/07/14 - http://eggplant.ddo.jp/www/
}}
-gio2_load、gio2_unload~
/dev/giodrvの生成、削除を行うコマンド。~
**Button 制御 (電源ボタンでshutdown) [#y2d60c0b]
&color(red){本コマンドを使用するには、linux-2.6.12-sh-lan...
-/dev/btnctrl デバイス(99,22)~
本デバイスを介して、カーネル内のボタン割り込み制御を行う。
-コマンド … btnctrl~
ボタン押下時に実行させたいコマンドを列挙したファイル、btn...
#pre{{
landisk:~# btnctrl /usr/local/lib/landisk-tools/btn_actio...
}}
が、通常は、デーモンとして起動させることになるでしょう。~
#pre{{
landisk:~# /etc/init.d/btnctrl start
}}
-btn_action.confファイルの仕様~
#pre{{
PWO:/sbin/shutdown -h now
PWB:/usr/local/sbin/ledctrl shutdown -b 00000001
SEL:/usr/local/sbin/ledctrl -b 00000005
DEL:/usr/local/sbin/ledctrl -b 00000015
CPY:/usr/local/sbin/ledctrl -b 00000055
}}
各ボタン押下イベントに対応するラベル、PWO:、PWD:、SEL:、D...
コマンドを指定する。~
--PWO: 電源ボタン押下時にexecするコマンドを指定。~
--PWB: 電源ボタン押下時に実行するコマンドを指定。~
PWOで指定したコマンドの前に実行される。~
--SEL: 選択ボタン押下時に実行するコマンドを指定。~
--DEL: 取外しボタン押下時に実するコマンドを指定。~
--CPY: コピーボタン押下時に実行するコマンドを指定。~
~
-
例では、電源ボタン押下時、LEDを点滅させ、ブザーを1回鳴ら...
選択、取外し、コピーボタン押下時、ブザーが、2回、3回、...
~
-補足~
言うまでもないですが、LANDISKでは、PWOとPWBのみ有効です。...
**liloサポート … ブートセレクタ対応 [#c91bcac4]
-/boot/boot.b-selk~
mizore wikiさんのページで公開されているsh-lilo-selをベー...
ボタンでブートラベルの選択を行えるように改造したboot.b。~
boot.b-selkを使用するとシリアルコンソールが無い環境でもブ...
LANDISKとUSL-5P両対応。~
~
-LANDISKで使う場合~
--電源ボタンでブート選択~
次のような手順で2種類のブートラベルから起動可能~
---電源ボタンをONにして5秒経過すると、1番目のラベルから...
---電源ボタンをON→OFF、そしてHDDの回転が安定したころ再度O...
パチ(ON)パチ(OFF)、10秒程度待ってパチ(ON)てな感じで。~
~
-USL-5P用で使う場合~
--USL-5P専用ブートセレクタの仕様~
---電源ボタン … ブートラベル1から起動~
---電源ボタン+コピー … ブートラベル2から起動~
---電源ボタン+取消し … ブートラベル3から起動~
---電源ボタン+選択 … ブートラベル4から起動~
--
ボタンを離すタイミングは、まず、ブザーが鳴ったら電源をボ...
2〜3秒後、ブートラベル番号に対応したUSBポートのLEDが光...
光っているLEDを見れば、選択したブートラベルが分かるような...
~
-
**%% SH-Linux Kernel Swither 2.6カーネル対応版%% [#yfea55...
-はじめに~
まず、さらっと次のページに読んで、本ツールの概要を理解し...
--[[SH-Linux Kernel Switcher]] … 2.4カーネル用
~
~
-/dev/kernelsw デバイス(99,30)~
本デバイスを介して、SH-Linux Kernel Switcherの制御を行い...
~
-設定~
特に設定すべきことはありません。~
(2.6カーネル版では、haltやrebootコマンドのラッピング(置...
~
-使用例~
--confファイルの用意~
#pre{{
linear
boot=/dev/hda
disk=/dev/hda
bios=0x80
timeout=50
default=linux
image=/boot/vmlinuz-2.6.12-sh
label=linux
root=/dev/hda3
read-only
append="mem=64M console=ttySC1,9600 root=/dev/hda3 fastbo...
}}
--kernelの起動準備~
confファイルを引数にkernelsw.plを実行すると、カーネルのイ...
#pre{{
landisk:~# kernelsw.pl /boot/kernelsw.conf
Loading .... done.
==============================================
SH-Linux Kernel Switcher V3.2
----------------------------------------------
image = /boot/vmlinuz-2.6.12-sh (size:1302528,page:319)
root = /dev/hda3 (read-only)
append = "mem=64M console=ttySC1,9600 root=/dev/hda3 fas...
offset_address = 0x00210000
----------------------------------------------
kernel boot parameter details
0 : 0x1 # read-only root file system
1 : 0x0 # RAMDISK Flags
2 : 0x303 # Root device (/dev/hda3)
3 : 0x1 # Loader type (LILO = 1)
4 : 0x0 # Initrd start
5 : 0x0 # Initrd size
6 : 0x0 # Not defined yet
7 : 0x0 # Not defined yet
==============================================
landisk:~# shutdown -h now
}}
--カーネルの起動~
シャットダウンコマンド(-hオプション付で)を実行するとカー...
#pre{{
landisk:~# shutdown -h now
}}
--補足~
shutdown -hコマンド実行後、最終的にはOS内のあるルーチンへ...
その部分をフックしてカーネルのスイッチ制御を行っています。~
**%%電源ボタンでshutdown … 旧仕様%%[#i0a4e2c5]
-電源ボタンの状態取得方法~
LANDISKのカーネルには、元々電源ボタンの割り込み制御ルーチ...
次の2つの方法で取得可能。~
--方法1~
デバイス(99,1)を読むことで割り込みの状態を取得可能。~
電源ボタンがONの場合はEOF(End of File)が、OFFになると、'1...
~
--方法2~
cat /proc/interrupts で 電源ボタンの割り込み発生回数が取...
#pre{{
11: &color(red){0}; Julian IRQ SHUTDOWNSW...
}}
~
-電源ボタン監視デーモン、landiskpoff~
前者の手段を用いて電源ボタンの割り込み検出を行う。~
「デーモンプロセスとして常駐し、デバイス(99,1)を5秒後毎に...
その結果がEOFかそうでないかで、電源ボタンの割り込み判定を...
割り込みが検出された場合、引数で指定されたコマンドを実行...
(起動時に自動的に実行されるようinit.dスクリプトも用意)~
#pre{{
landisk:~# /usr/local/sbin/landiskpoff /sbin/shutdown -h ...
}}
ページ名: