Google グループは Usenet の新規の投稿と購読のサポートを終了しました。過去のコンテンツは引き続き閲覧できます。
表示しない

grubの選択情報を取得

閲覧: 0 回
最初の未読メッセージにスキップ

dolphin

未読、
2004/01/12 22:12:292004/01/12
To:
Yamashitaと申します。

RedHat Linux 9(FTP)を使用しております。

やりたいことが

1)grubのカーネル選択メニューリストを使用して、オペレータがどの
 アイテムを選択してOS起動したのかを知りたい。(コマンドで)

2)選択した、アイテムによってサービスを起動したり、しなかったり
 の条件分岐をしたい。(/etc/rc.~)

3)但し、すべてカーネルのバージョンは統一にしたい。(grub.conf
 のタイトルだけ変更して、kernelはすべて同じ)

を、しようと思っているのですがよい方法がおもいつきません。単純
に選んだタイトルの文字列、または、タイトルの通番が取れればよい
のですが、どなたかよい考えはないでしょうか?

すべて、カーネルバージョンを変更または同じカーネルでもカーネル
名を変更すれば何とかいけるような気がしますが、一つのカーネルイ
メージだとつらいでしょうか?

EX.
-------------------------------------------------------------
[GRUBの画面]

Red Hat Linux (2.4.20-8 MODE-1)
Red Hat Linux (2.4.20-8 MODE-2) <- オペレータが選択
Red Hat Linux (2.4.20-8 MODE-3)

なにか、コマンドで"Red Hat Linux (2.4.20-8 MODE-2)"が取得でき
るか、もしくは通番( "1" )を取得できるようなしくみ


[grub.confの記述]
default=0
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8 MODE-1)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img

title Red Hat Linux (2.4.20-8 MODE-2)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img

title Red Hat Linux (2.4.20-8 MODE-3)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img


Sutah Koura

未読、
2004/01/13 4:51:032004/01/13
To:
1)はカーネルの起動ログ /var/log/dmesg の
Kernel Commmand Line: の情報ではダメなんでしょうか
ログ ビューアなら
メインメニューボタン=> システムツール=>システムの ログ=>カーネルの起動ログ。
または、シェルプロンプト でredhat-logviewerとコマンドを入力。

"dolphin" <dol...@bml.co.jp> wrote in message
news:4003621D...@bml.co.jp...
> 1)grubのカーネル選択メニューリストを使用して、オペレータがどの
>  アイテムを選択してOS起動したのかを知りたい。(コマンドで)

名称不定

未読、
2004/01/13 6:28:122004/01/13
To:
確認していませんが、
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ selectedmode=1
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ selectedmode=2
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ selectedmode=3
のようにして好きなパラメータを渡してやれば
/proc/cmdline を参照して分岐できると思います。

OBATA Akio

未読、
2004/01/13 9:52:382004/01/13
To:
おばた ナノですが、

On Tue, 13 Jan 2004 12:12:29 +0900
dolphin <dol...@bml.co.jp> wrote:

> 1)grubのカーネル選択メニューリストを使用して、オペレータがどの
>  アイテムを選択してOS起動したのかを知りたい。(コマンドで)
>
> 2)選択した、アイテムによってサービスを起動したり、しなかったり
>  の条件分岐をしたい。(/etc/rc.~)
>
> 3)但し、すべてカーネルのバージョンは統一にしたい。(grub.conf
>  のタイトルだけ変更して、kernelはすべて同じ)

このために、runlevelというものがあるのではないでしょうか?
たくさん場合分けしたいなら、難しいですが、
3つぐらいならば、2,3,4 を使えば良いのではないですか?

--
お役に立てない(^^;
OBATA Akio / ob...@zit.to
せかいは ひろがる ちきゅーは まわる。

dolphin

未読、
2004/01/13 19:21:452004/01/13
To:
Yamashitaです。

OBATA Akio wrote:
> おばた ナノですが、


> このために、runlevelというものがあるのではないでしょうか?
> たくさん場合分けしたいなら、難しいですが、
> 3つぐらいならば、2,3,4 を使えば良いのではないですか?
>

すみません、薄学でよく判らないのですが..
ローダを使用(grub.confで指定)してrunlevelを制御可能なのでしょうか?
/etc/inittabで、runlevel4はunusedなのでこれがローダから呼べれば何とか
なると思います。

#init 4

と入力して起動するのは避けたいのですが...

dolphin

未読、
2004/01/14 4:21:312004/01/14
To:

この方法で、無事実装できました。
ありがとうございます。

OBATA Akio

未読、
2004/01/14 9:29:522004/01/14
To:
おばた ナノですが、

On Wed, 14 Jan 2004 09:21:45 +0900
dolphin <dol...@bml.co.jp> wrote:

> ローダを使用(grub.confで指定)してrunlevelを制御可能なのでしょうか?
> /etc/inittabで、runlevel4はunusedなのでこれがローダから呼べれば何とか
> なると思います。

# Linuxもgrubも常用してないんで良くわからないんですが...

grub.conf で
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ 4
とか kernel 行の最後に runlevel を付けたらいかないですか?

新着メール 0 件