【ハウツー】

USBメモリを使ってLinuxを起動しよう

2 KNOPPIXをカスタマイズしてUSB-Linuxをもっと便利に

    川井義治  [2004/03/26]

    KNOPPIX(CD-ROM版Linux)をカスタマイズ

    64MBに対応したFlonixをインストールしただけでも大きな進展(?)ではあるのだが、Flonix自体がKNOPPIXのカスタマイズ版ということもあり、KNOPPIXをカスタマイズして64MBよりも大きな(ここでの目標は512MB)USBメモリでも動作させたいもの。現状、KNOPPIXのバージョン3.3Jが公開されていて、日本語が利用できるのは当然ながら、OpenOffice.orgなどの実用的なアプリケーションが付属するのが強みであろう。ここでは、ユーザがデスクトップ環境を得られるかをポイントにカスタマイズを試みてみた。KNOPPIXをカスタマイズするにはDebian GNU/Linuxディストリビューション(以降Debianと記述)が起動するPCが必要となる。

    KNOPPIXのブート前の画面

    1.KNOPPIXを小さく

    前述のFlonixはKNOPPIXが元となっており、KNOPPIXはDebianが元なので、Debian上でのカスタマイズはとても自然な流れとなる。KNOPPIXのCD-ROMはISO9660フォーマットであり、起動した後に\KNOPPIX\KNOPPIXファイルをcloopデバイスでマウントして利用する。cloopデバイスは圧縮したファイルシステムを利用するためのデバイスだ。Debianでもcloopデバイスを利用してメインのファイルが入っている\KNOPPIX\KNOPPIXファイルをマウントできるが、cloopデバイスの利用はコンパイル作業が必要となるので、cloopファイルシステム用のツールとして用意されているcloop-utilsパッケージ(extract_compressed_fsコマンド)でファイルをISO9660形式に解凍してから、更にマウントして利用した。

    DebianにISO9660形式のファイルをマウントしても、読み込み専用のファイルシステムなので削除できない。そのため、すべてのファイルを一旦ハードディスクにコピーしてから、必要の無いパッケージを削った。KNOPPIXファイルが入ったディレクトリに移動(chrootコマンド)してからKNOPPIXにインストールされているパッケージを消す(dpkgコマンドに--purgeオプションを付加)ことができる。OpenOfficeは是非とも利用したかったので、Emacs(高機能なエディタ)やマルチメディア系アプリケーション(動画やMP3プレーヤ)、開発環境、印刷環境などを削除した。多くのパッケージ自体は容量が小さいため、いくつ削除してもあまり多くの領域が減らなかったので、/usr/share/manや/usr/share/docなどのドキュメントがあるディレクトリも思い切って削除してみた。

    かなり小さくなったら(圧縮前のファイルサイズの合計容量を1.8Gから1.4Gに縮小)、ISO9660イメージを作ってcloopデバイスで使えるように圧縮(mkisofsコマンドとcreate_compress_fsコマンド)して新しいKNOPPIXファイルを作成する。圧縮する前に圧縮後の容量を推測することは難しいが、圧縮して1/3位のサイズになると予想して、1.4GBを目指した。

    2.KNOPPIXをインストール

    KNOPPIXをUSBメモリにインストールするのも、Flonixのインストールと同じくSYSLINUXを利用する。SYSLINUXで使う設定ファイルやメッセージはKNOPPIXのCD-ROMの\KNOPPIX\boot-ja.imgファイルに含まれる。boot-ja.imgファイルはFAT(ここではMS-DOSフロッピーイメージ)形式のイメージなので、Debianへ移動してマウントしてからファイルをWindowsへコピーした。

    boot-ja.imgファイルに含まれるminiroot.gzファイルは、KNOPPIXが起動されたときに使われるメインのディレクトリやファイルなどが圧縮されたファイルだ。miniroot.gzファイルはext2形式でマウントでき、miniroot.gzファイル内のlinuxrcファイルが起動時の処理をするので書き換える必要がある。KNOPPIXのlinuxrcファイルはFlonixのlinuxrcファイルを参考にして、USBデバイスを読み込ませたり、USBメモリをマウントするように書き換えた。linuxrcを修正したminiroot.gzファイルもWindows XPに戻したら、SYSLINUX.EXEコマンドでUSBメモリをブートできるようにする。その他のファイルと\KNOPPIX\KNOPPIXファイルをUSBメモリへコピーしたら、起動できるUSB版のオリジナルKNOPPIXのできあがり。

    3.オリジナルKNOPPIXを起動

    オリジナルのKNOPPIXを起動するとエラーが出てしまった。\KNOPPIX\KNOPPIXファイルからファイルを削り過ぎたのが問題かもしれないが、エラーを良く見てみると、作業用ディレクトリ(/tmpディレクトリ)の属性が問題であることが解った。/ramdiskディレクトリにコピーされるディレクトリの属性を変更するようにlinuxrcxファイルに追記をして、再度USBメモリに書き込んでみた。それでも更にエラーが出たので、X Window Systemの自動起動は諦めて(xsessionデーモンをkillコマンドで停止)、startxコマンドを利用するとX Window SystemとOpenOfficeなどが利用できた。基本的にFlonixのようにユーザデータをUSBメモリへは保存できないが、何とか512MBでもOpenOfficeが利用できるという検証は果せたようだ。

    オリジナルKNOPPIXのブート中の画面

    オリジナルKNOPPIXでOpenOffice Writerの画面

    オリジナルKNOPPIXでMozillaの画面

    USB-HDDでのUSBメモリのブート問題

    筆者の手元には、マザーボードのBIOSを書き換えたら、BIOS画面のブート項目にUSB-HDDが表示/選択できるようになったマザーボードがあったので、USBメモリさえ入手すれば、直ぐに試せると楽観視していたところ、実際にFlonixをインストールしてもUSBメモリからブートしなかった……。そこで、マザーボートがほんのちょっと古いというのもあり、新しいマザーボードを入手してみたら、簡単にブートできた。

    また、512MBのUSBメモリはプロテクト機能を搭載しているためか、Windows XPでフォーマットするだけではブートせず、Windows 98でフォーマットしたらブートするようになるなど、原因不明な問題にも遭遇した。

    このような現象からもおわかりの様に、マザーボートのBIOS画面にUSB-HDDが用意されていたり、USBメモリにブータブルと表記してあっても、USB-HDDでUSBメモリのブート機能が必ず動作する保障は無い。『PCスクランブル』にも書いてあるように、USBメモリのブート機能は、まだまだ規格的にしっかりとしていないのも否めない。実際に動作するか否かは、メーカだけでなく、ネットから情報を入手して実験的に試す段階がまだ続きそうだ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン