注:この文書は自分の勉強のために訳したものです。いかなる保障もありません。気に入らない方は原文にあたってください。


ISOLINUX


ISO 9660/El Torito CD-ROMを使ったLinux用ブートローダ


Copyright(C) 1994-2003 H.Peter Anvin

このプログラムはGNUジェネラルパブリックライセンス第2版、将来のバージョンに基づいて、提供されます。このプログラムの機能について、明示的にも暗黙的にも保証はありません。詳細は同梱されているCOPYINGファイルを参照してください。




SYSLINUXの今のホームページは、http://syslinux.zytor.com/ です。



ISOLINUXは、ISO9660/El Torito CD-ROMを”エミュレーションじゃない”モードで動かす、Linux/i386用ブートローダです。これは限られたスペースで”エミュレーション・ディスク・イメージ”(フロッピーエミュレーションとか)を作る必要がなく、コンパチビリティの問題(ハードディスクエミューレーションとか)を回避することを意味しています。



この文書は完璧じゃありませんが、テストできる程度の情報はあります。

まず、mkisofsのバージョンが比較的最近か確認してください。mkisofs 1.13(cdrecord1.9と一緒に配布されています)以降であることが必要です。1.12でも動くかも知れません(テストはしてません)

イメージを作るには、”isolinux”(もしくは、boot/isolinux)といわれているディレクトリを作ります。

直下にISOイメージにしたいファイルツリーを作ります。isolinux.binと”isolinux.cfg”と呼ばれる構成ファイルを置きます。(構成ファイルの中身については、syslinux.docを読んでください。)

また、必要なファイル(カーネル、initrd,表示するファイルなど)は同じディレクトリーにおいてください。そして、次のコマンドでISOイメージをつくります。(-Jや-Rの適当なオプションを加えてください)




(もし、/boot/isolinuxというディレクトリを作ったのなら、-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat.)

ISOLINUXは以下のようにパスを解決していきます。


  • パス名はUnixスタイルの/で区切られている。
  • /で始まるとルートディレクトリを探す。そうでなければisolinuxディレクトリから探し始める(カレントディレクトリからと思ってください。)
  • .や..はサポートしていません。
  • パス名は255文字を超えてはいけません。

ISOLINUXは普通のISO9660ファイル名を使います。なので、Rock Ridge(Unix用CDイメージ)やJoliet(Windowsロングファイル名用)はサポートしていません。RockRidgeやJoliet拡張はいまだに使われており、Linux上では、マウント時に”-o norocknojoliet”オプションをつけてマウントすると、普通のファイル名かどうかわかります。しかし、ISOLINUXは長いiSO9660ファイル名をサポートしています。もし、MS-DOSのような短い名前のファイルシステムならば、問題となりません。ファイル名が31文字くらいまでの長いファイル名ならばmkisofsを実行するときに”-l”か”-iso-level 2″オプションをつけてくkださい。

ISOLINUXは連続していないファイルをサポートしていません。たとえ、インターリーブっであってもサポートしていません。また、論理ブロックやセクターが2048バイトを超えているものもダメです。普通は問題にならないと思います。

ISOLINUXにはふたつのバージョンがあります。ひとつは細かいデバッグ用メッセージが出るもので、もし、ISOLINUXがトラブルを起こしているようならば、このデバッグバージョン(isolinux-debug.bin)で情報を収集してお送りくださると非常にうれしいです。

省略ではデバッグバージョンを使います。

++++ 設定ファイルディレクトリーについて ++++

ISOLINUXは設定ファイルを次の順序で探します。/boot/isolinux, /isolinux, /. 最初に発見したディレクトリ内を探します。たとえ設定ファイルがなくても探索はそこで終わりです。それゆえディレクトリの存在には気をつけてください。

+++ DOSのブート(もしくは他の類似のOS) ++++


警告:この機能はBIOSの機能に頼っていますが、多くのBIOSがサポートしているようで動作しません。それゆえどのシステムでも動作するとはいいきれません。回避策はないので、もし動作しなかったらBIOSメーカーに”BIOS INT 13h AX=4C00hが動作しないぞ”と文句をいってください。

ISOLINUXを使ってDOSや類似のOS(動作しようがしまいがプロテクトモードで動作するオペレーティングシステム)をブートするには、ディスクイメージが必要です。普通はフロッピーイメージかもしれませんが、多くはハードディスクイメージでしょう。このファイルがCD-ROM中の/isolinuxディレクトリに、.imgというファイル名であることが必要です。”.img”はコマンドラインの指定はできませんが、構成ファイルisolinux.cfg内に明示的に”kernel”ステートメントを書けば指定可能です。

正確に以下のサイズであることがフロッピーイメージと認識されます。



他のサイズはハードディスクイメージだとみなされます。いろんなシステムを稼動させるためには、ハードディスクイメージは全体が存在し、ひとつのパーティションであり、アクティブにされていなければなりません。そうであっても、すべてのBIOSでハードディスクイメージがサポートされているわけではないのです。

The End of This Document

translation by Tsukasa Takao (07/24/2007)