Palm84 某所の日記

有為のクマにかくれり~

SYSLINUXにグラフィカル・メニューを入れるの巻

f:id:palm84:20181222075125j:plain

ほぉほぉ、GRUBの様にメニュー選択できたのかぁー。というわけでやってみためも。SYSLINUX,ISOLINUX,PXELINUXで設定はほぼ同様みたい。(※画像はPXEネットワークブート時のもの)

INDEX

概要

【2013.2.21 追記】SYSLINUX バージョン 5.x では・・・

いろいろ変更されてます。このページは変更前のものなのでご注意。後日修正する予定です。orz

バージョン 4.x を使う方が楽かもしれません。

syslinux-3.52.zipでgraphical simple menu systemを試してみた。やるべきことは...

  1. vesamenu.c32をコピー
  2. syslinux.cfgをちょこっと編集
    • ISOLINUXではisolinux.cfg
    • PXELINUXではpxelinux.cfgフォルダのdefaultファイル

vesamenu.c32をコピー

  • ダウンロードしたzipファイルを展開
  • \com32\menu にあるvesamenu.c32syslinux.cfg(or isolinux.cfg or pxelinux.0)と同じディレクトリにコピー

※別のディレクトリにコピーする場合はパスの指定が必要になるので...

syslinux.cfg(isolinux.cfg or pxelinux.cfg/default)の編集

DEFAULT vesamenu.c32
PROMPT 0
MENU TITLE Boot Options Menu
MENU TABMSG -- F1-F3 Knoppix help, F4 Linux,  F5 bootloader, F6 DOS, F7-F8 INSERT help --
F1      knoppix5/boot.msg
F2      knoppix5/f2
F3      knoppix5/f3
F4      help/linux.txt
F5      help/boot.txt
F6      help/dos.txt
F7      insert/boot.msg
F8      insert/f2

label  1
      MENU LABEL ^1. HTTP-FUSE-KNOPPIX501
      TEXT HELP
 * fuse_uri=[]http://ring.airnet.ne.jp/[]...
 * fuse_uri=[]http://ring.aist.go.jp/[]...  or delete and select
 * vga mode - default[vga=791] or failsafe[xmodule=vesa]
      ENDTEXT
       kernel knoppix5/linux
       append ramdisk_size=100000 init=/etc/init lang=ja.utf8 apm=power-off vga=791 xmodule=vesa initrd=knoppix5/minirt.gz nomce quiet fuse_uri=[]http://ring.airnet.ne.jp/archives/linux/knoppix/knx501tpm/knoppix501en[] BOOT_IMAGE=knoppix
<あとは略>
  • DEFAULT - vesamenu.c32を指定
  • PROMPT - 0にしないとコマンドモードになってしまう
  • MENU TITLE - メニューのタイトル
  • MENU TABMSG - メニュー下に表示するメッセージ。別になしでもいい。
  • MENU LABEL - メニューの項目名
  • TEXT HELPENDTEXT - 選択時にメニューに表示させるヘルプ文とか。別になしでもいい。

MENU LABEL文の先頭に記号【^】を打つと次の文字がキーボードショートカットになる。label名と同じでなくてもいい。(例:MENU LABEL ^Windows

使い方

注:runlebelrunlevelの間違いだぁ。orz

デフォルトではメニューは12行表示

f:id:palm84:20181222074249j:plain

※あっと、localboot(HDDやFDD)はSYSLINUXでは使えない。

TabキーでGRUB風に選択中エントリのオプション編集。Enterで確定。Escで戻る。

f:id:palm84:20181222074253j:plain

syslinux.cfg(isolinux.cfg or pxelinux.cfg/default)に記述すればFxキーでテキストファイル表示。Escで戻る。

f:id:palm84:20181222074258j:plain

※注:LiveCDに付属のhelp用ファイルなど表示が乱れたりします。一度コマンドラインモードに入ってから表示させると大丈夫かも。

Escでコマンドラインモード(bootプロンプト)へ。メニューに戻るには何も入力せずにEnter。

f:id:palm84:20181222074303j:plain

行数調整

とりあえず18行表示にしてみた。

f:id:palm84:20181222074308j:plain

DEFAULT vesamenu.c32
PROMPT 0
MENU ROWS 18
MENU TABMSGROW 23
MENU CMDLINEROW 24
MENU HELPMSGROW 25
MENU HELPMSGENDROW -1
MENU TITLE Boot Options Menu
MENU TABMSG -- F1-F3 Knoppix help, F4 Linux,  F5 bootloader, F6 DOS, F7-F8 INSERT help --
< 以下略 >
  • MENU ROWS - メニューの行数
    • デフォルトは 12
    • 行番号1 - 罫線 -
    • 行番号2 - MENU TITLE
    • 行番号3 - 罫線 -
    • 行番号4 - MENU LABEL 始め
    • 行番号15 - MENU LABEL 終り
    • 行番号16 - 罫線 -
  • MENU TABMSGROW - TABMSGの行番号
    • デフォルトは18
  • MENU CMDLINEROW - Tabキーで編集時の行番号
    • デフォルトは18
  • MENU HELPMSGROW - TEXT HELPの行番号
    • デフォルトは22
  • MENU HELPMSGENDROW - TEXT HELPの最終行
    • デフォルトは-1

【追記】以下であってるかな、ちょっと違うかも?

  • 28行80文字程表示可能
  • 最終行番号は 28
  • 文字(桁)数
    • MENU TITLEMENU LABEL - 54
    • TEXT HELP - 78
  • メニューの項目数が12なら、行番号は+3で15
  • メニューの下に1行分罫線が入る(デフォルト行番号16)
  • TABMSGのデフォルトはデフォルトは18
  • HELPMSGROWのデフォルトは22なので7行表示可能

いろいろ

背景画像の指定

640x480なjpgかpngファイルを指定

MENU BACKGROUND syslinux.jpg
メニューの切替

syslinux.cfg(isolinux.cfg or pxelinux.cfg/default)に追記

label menu2
    MENU LABEL change Menu2
      kernel vesamenu.c32
      append menu2.cfg

menu2.cfg作成してメインメニューに戻る項目追記

label back
    MENU LABEL return to Main Menu
      kernel vesamenu.c32
      append syslinux.cfg

他にも階層表示とかできるもよう。

menu.c32ではテキスト形式でのメニューの表示が可能。グラフィカルメニューは古いPC(グラフィック用メモリが4MBとか少ないからかな?)ではギザギザ表示でメニュー文字が読めなかったりするので、古めのPC向けにはこっちを使う方が安全かも。

f:id:palm84:20181222074334p:plain

操作方法はグラフィカルメニュー(vesamenu.c32)と同じ。

  • 最終行番号は 24
  • 文字(桁)数
    • MENU TITLEMENU LABEL - 56
    • TEXT HELP - 80
  • MENU ROWS - メニューの行数
    • デフォルトは12行
    • 行番号1 - 罫線 -
    • 行番号2 - MENU TITLE
    • 行番号3 - 罫線 -
    • 行番号4 - MENU LABEL 始め
    • 行番号15 - MENU LABEL 終り
    • 行番号16 - 罫線 -
  • 1行空ける
  • MENU TABMSGROW - TABMSGの行番号
    • デフォルトは行番号18
  • MENU CMDLINEROW - Tabキーで編集時の行番号
    • デフォルトは行番号18
  • MENU HELPMSGROW - TEXT HELPの行番号
    • デフォルトは行番号22
  • MENU HELPMSGENDROW - TEXT HELPの最終行
    • デフォルトは-1 (行番号24)

デフォルトではTEXT HELPは3行しか表示できないので、3行以上表示するには調整が必要ですな。