Personal tools
You are here: Home KtJ's Blog シリアルコンソールでGRUBを

シリアルコンソールでGRUBを

by ktj posted at 2010-04-10 14:00 last modified 2010-04-10 14:00

うちのサーバは、通常用のFreeBSDと、トラブル時にバックアップからrestoreで復旧する時に起動するための別のFreeBSDとのデュアルブートになっている。 また、通常はモニタもキーボードも接続せず、make world等の為にシングルユーザモードに落ちる時は、シリアルコンソールエミュレータのkermit をインストールしたDOSマシンから操作するようになっている。

で、トラブル時に復旧用のFreeBSDマシンから起動させる必要が有るわけだが、FreeBSD標準のブートセレクタは、シリアルコンソールに対応して内っぽいので、現状では、復旧時はモニタとキーボードをサーバにつなぐ必要があった。これは不便、ということで、シリアルコンソールに対応したブートセレクタに入れ替えようと思った次第。

と、いうわけで、GRUBをインストールして、Linnux JFのRemote Serial Console HOWTOに書かれているとおりに /boot/grub/menu.lst をつくってみた。

が、うまくいかない。確かにシリアルコンソールには何がしかのメッセージが表示されているのだが、文字化けしてよくわからない。GRUBが想定しているコンソールがVT100で、kermitがVT320互換なせいだろうか。 grub-terminfo とかいうコマンドで、grubが想定するコンソールの種類を設定できそうなのだが、 /usr/local/sbin/grub-terminfo VT320 などと実行してもエラーが出る。ぐぐって見たところ、どうやらFreeBSDはncursesをインストールする必要があるようだ。

ということで、 devel/ncurses をインストールして、 /usr/local/sbin/grub-terminfo VT320 を実行。さらにgrub-install。

これで、動くようになった、かな?

(追記) /usr/local/sbin/grub-terminfo VT320 だとダメ。 /usr/local/sbin/grub-terminfo kermit ならOKだった。

(追記2) メニューから復旧用のFreeBSDを起動することができない(通常用のFreeBSDが起動する)。grubプロンプトから直接、

grub> root (hd0,0,a)
grub> kernel /boot/loader
grub> boot

とすれば起動してくれるのだが。

Category(s)
BSD and Linux
The URL to Trackback this entry is:
http://www.ktjdragon.com/ktj/ktjs-blog/30b730ea30a230eb30b330f330bd30fc30ebgrub3092/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
(Required)


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: