柘植です。こんにちは。
例によってダラダラと長い文章になってしまったので、結論を先に書
いときます。「Knoppix の isolinux.cfg を見直しませんか。」
さて、
起動オプションなしで起動した場合、最近のKnoppix(V4.01以降)では
/proc/cmdline の内容が `### isk_size=100000 ...' になってしまう
という、田村さんが報告された件についてもう少し調べてみました。
[knoppix:5632] を書いた時点では、この現象が ISOLINUX と関係があ
りそうなことは分かったのですが、isolinux.bin に問題があるのかそ
れとも Knoppix の設定ファイル isolinux.cfg に問題があるのかは分
かりませんでした。
そこで、kernel.org から入手可能なsyslinux-<version>.tar.bz2を全
部ダウンロードして、各バージョンのisolinux.binを取り出し、それ
ぞれをKnoppixのisolinux.cfg と合わせて使ってISOイメージを作り、
起動の実験をしてみることにしました。
実験に Knoppix のISOイメージを使うと CD/RW に書き込む際に時間が
かかりすぎるので、Knoppix ベースでサイズが約50MBと小さい
Damn Small Linux の dsl-2.0RC1.iso を使いました。DSLのisolinux.cfg
の書式は Knoppix のものとほとんど変わらないのでそのまま使います。
ちなみに、dsl-2.0RC1.iso で使われているisolinux.bin はV3.9以前
のKnoppixで使われていたsyslinux-knoppix パッケージに含まれてい
るもので、syslinuxオリジナルの2.04とは若干異なっているようです。
実験の結果、意外なことに、syslinux-3.08 以降の isolinux.bin を
使った場合だけ、/proc/cmdline の内容に異常がみられませんでした。
逆にいうと、syslinux-3.07以前のバージョンのisolinux.binを、Knoppix
流のisolinux.cfgファイルと使った場合は問題があったということです。
特にバージョン3.00から3.07のisolinux.binではISOLINUXの起動画面
でbootプロンプトが現れず、キーボードからの入力も受け付けない状
態になりました。
そこで今度は isolinux.cfg の書式、特にDEFAULT 行の書き方につい
て見直してみることにしました。
Knoppix といくつかの派生ディストロではこんな風になっています。
DEFAULT linux
APPEND ramdisk_size=100000 init=/etc/init lang=ja apm=power-off vga=791 \
initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix
この場合の`linux' はカーネルイメージ名です。
しかし全く同じ内容のエントリが`knoppix'というLABEL名を付けて記述
されているので無駄な感じがします。
LABEL knoppix
KERNEL linux
APPEND ramdisk_size=100000 init=/etc/init lang=ja apm=power-off vga=791 \
initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix
ところで、`man syslinux'してみるとこんなことが書いてあります。
default kernel [ options ... ]
Sets the default command line. If syslinux boots automatically,
it will act just as if the entries after "default" had been
typed in at the "boot:" prompt.
ということはつまり、
DEFAULT knoppix
とだけ書いておけば、(そして DEFAULT 行に続く APPEND 行を省略し
ても)`boot: knoppix'と入力したときと同じように自動起動するはず
です。
そこで、DEFAULT 行のカーネルイメージ名をLABEL名に書き変えるだけ
の変更を行った isolinux.cfg を使い、syslinux-3.07以前の isolinux.bin
とあわせてISO イメージを作って起動してみました。
その結果、/proc/cmdline の内容に異常は見られず、起動しない問題
のあった3.00から3.07のisolinux.bin を使っても問題は生じませんで
した。
これらのことから、isolinux.cfg を書き換えさえすれば isolinux.bin
のバージョンが何であれ 問題の現象を回避できそうです。
ただ、syslinuxのソース付属の文書をみると
Changes in 3.08:
...
* Fix configuration file parsing error, that could cause
hangs.
...
とあるので、Knoppix の isolinux.cfg ファイルに文法エラーがある、
とまではいえないような感じがします。
最後に、他のディストリビューションではどんなisolinux.cfgを使っ
ているのかを調べてみました。
a. DEFAULT 行にLABEL 名を記述しているもの
Vine32-i386.iso (syslinux-2.10)
slax-5.0.6.iso (syslinux-3.07)
knoppix-V4.0.2CD-20051003-Exp-rev1-JPyak.iso (syslinux-2.11)
# yak-jp のかたは気づいてらしたんですね。
# isolinux.cfg 変更の経緯を簡単にでも教えていただけるとうれしいっす。
b. DEFAULT 行にカーネルイメージ名を記述しているもの
debian-3.1r0a-i386-netinst.iso (syslinux-2.04)
本当ならここのMLじゃなくて debian-knoppix ML に送ったほうがいい
んだろうなと思いましたが、英語で同じことを書く気力体力特に知力
が圧倒的に欠けてるので、こちらに送らせていただきます。
この件で田村さんが debian-knoppix にメールを送ってくださったよう
ですが、http://lists.debian.org/debian-knoppix/2005/10/maillist.html
にアーカイブされてない(うちには配送されてます)ので変だなあと思っ
ていたら送り先のアドレスが古いままのようですね。;-) > 田村さん
(旧)debian-knoppix@xxxxxxxxxxxxxxxxxx
(新)debian-knoppix@xxxxxxxxxxxxxxxx
じゃないかな。
--
Tsuge Akihide
|