HP-UX General
1820643 メンバー
2067 オンライン
109626 解決策
新規ポスト

OSブート時に警報を鳴らせる?

 
KN
貴重なコントリビューター

OSブート時に警報を鳴らせる?

いつもお世話になっております。

TeraTermからtelnetでHP-UXマシンのLANコンソールに接続している際に、EFI Boot Managerのメニュー(11.11とかであればPDCのメニュー)で人手介入したいがために、マシンをリブートさせますが、タイミングを見逃してそのままログイン画面まで立ち上がることが多々あります。

AutobootをOFFにする以外での対応策などご存知の方はいませんでしょうか?

例えば、ブート時にあるところの処理まで来ると警告音を出させるとか・・

大した質問ではありませんが、どなたかアドバイスお願い致します。
10件の返信10
oops
貴重なコントリビューター

OSブート時に警報を鳴らせる?

警告音は難しいと思います(そもそもサーバーって、あんまりオーディオが入っていないのでは?)。

思いつくのは AutoBoot の時間を長くすること(default 10秒)くらいですが、これだと介入しない時の起動時間が延びてしまうという欠点はあります。

ただ、10秒が短いのは同意なので、20秒とか30秒にしてみるというのはどうでしょうか?
KN
貴重なコントリビューター

OSブート時に警報を鳴らせる?

ご回答どうもありがとうございます。

AutoBootの時間を長くするのも良い案ですね。

リブートしたまま、別のウィンドウで作業をしていて気づかないことが多いので、こちらも検討してみたいと考えます。
weeper
新しいメンバー

OSブート時に警報を鳴らせる?

警告になるかどうかは疑問ですが、/dev/consoleへ制御コードのBELL(07)を送って、”プ”と鳴らしたことがあります。長い時間鳴らしたい場合は、printf("\07\07\07");などとBELLコードを沢山書いてください。

KN
貴重なコントリビューター

OSブート時に警報を鳴らせる?

ご回答どうもありがとうございます。

申し訳ありませんが、もうちょっと具体的に教えていただけると助かります。

ためしに以下のように実行してみましたが、

プロンプトが返ってきただけでした。(Windows上のTeraTermからtelnetでログインしています。)

ここでの"プ"という音は、サーバ本体から聞こえるということでしょうか?

# echo "\07\07\07\07\07" > /dev/console

#

よろしくお願い致します。
weeper
新しいメンバー

OSブート時に警報を鳴らせる?

音が出る場所はスピーカーからです(当たり前か)。

コンソールの場合、キーボードの下にスピーカーがあるケースもあります。マシンをshutdownする時にププとか音がしませんか?、もしするなら、そこから音が出ます。

音の出し方ですが、echoではうまくいかなかったので、C言語で

#include

main(){printf("\07\07\07\07\07\07\07\07\07");}

するだけのコードを書いて、標準出力を/dev/consoleにリダイレクトして実行してました。

リダイレクトしなければ、teratermの端末でププと音がするのを確認出来ます。

weeper
新しいメンバー

OSブート時に警報を鳴らせる?

<余談ですが>

/dev/consoleへメッセージを表示するとき、

banner コマンドを使うとインパクトが出ます。試しに、

% banner ERROR

などと入力してみて下さい(第1引数は半角文字のみ)。

oops
貴重なコントリビューター

OSブート時に警報を鳴らせる?

元々の質問って、マニュアルブートしたい時に自動起動されるのを見逃したくないため、カーネルロード前に警告音を鳴らしたいというお話ではなかったでしょうか?

ベルコードをコンソールデバイスに送るためには、ブートしてないとだめですので、意味がないのでは???

なので、自動起動をやめさせたい場合は、FW レベルでAutoBoot を OFF にするしかないです。見逃さないようにするという意味では、AutoBoot 時間を長くするとか、ターミナルエミュレータ側(例えば Teraterm とか Reflection 等)の機能で、この文字があったら音を鳴らすとか色を変えるとか文字を大きくするとか、そういう方法しかないんじゃないでしょうか?
weeper
新しいメンバー

OSブート時に警報を鳴らせる?

なるほど、kernelブート前ということであれば、その通りですね。失礼しました。

でも、kernelブート前でLANがまだ生きていない時だと、TeraTerm(LAN)は使えないという事になりませんでしょうか?(それともLANコンソールとは仮想コンソールの意味か?でもそうだとTeraTermは載ってないし...)。

質問に「ブート時にあるところの処理まで来ると」とありますので、rc.d以下の「あるところ」の前or後に、{長いSleep+BELL繰り返し}処理を組み込むのも一方法ではないかな?と考えてました。

KN
貴重なコントリビューター

OSブート時に警報を鳴らせる?

ご回答どうもありがとうございます。

音は、TeraTermを立ち上げているPCからは聞こえませんでした。やはり本体からでしょうか?

rc.dのどこかに?アドバイスいただいたC言語の文を書いてみようと思います。
ボーボボ
時折のアドバイザー

OSブート時に警報を鳴らせる?

rs.d配下にBEEP音を鳴らすスクリプトを入れても、EFI Menuを過ぎているのでKNさんが行いたいことはできないと思いますが。。。

やはり、oopsのおっしゃっているようなことをしないと無理かと。。。