Count from Jan/20/2004 |
UserModeLinux for KNOPPIX
【注意事項】KNOPPIX日本語版関連(VMKnoppix、HTTP-FUSEなど)のホームページは
http://www.rcis.aist.go.jp/project/knoppix/ に移動しました。
このホームページは更新しませんので、最新情は新しいホームページにご移動ください。
Engilsh
Customizable KNOPPIX on UserModeLinux
【特徴】
- 更新可能
今までCD版KNOPPIXでネックだったカスタマイズが UserModeLinx の上でできます。Debian
Package を用いてアプリケーションのインストールができるようになりました。その違いが下記の図より確認できます。
- 更新差分を他人に渡せます、共有できます
カスタマイズした更新差分は別途ファイルとして保存可能で、その部分だけを他に譲ることができます。更新差分のサンプルをダウンロード可能にしています。今までアプリケーションをインストールしてもそのままでは他人と共有できませんでたが、共有できるようになります。
- セキュアにアプリケーションを試せます
CDブートでも更新ができるため何か問題があっても電源を落せば前の状態に戻ります。
更新部分を保存したファイルは通常ハードディスクの保存を想定しています。これでも問題ありませんが、メモリが沢山あれば
RAM-DISK を使うことができます。Linuxエミュレータ上のであり、かつ更新もファイルもメモリにセーブすれば電源を落せば完全に元の状態に戻ります。
- ビジュアルコントロールパネル
いままではコマンドラインからの起動で使いにくかった UML-KNOPPIX をビジュアルコントロールパネルから使えるようにしました。ラジオボタンでKNOPPIX、日本語入力環境、画面サイズ、デスクトップ環境などが変えられます。Linux
エミュレータで使うメモリ容量も可変になりました。LinuxエミュレータもKDEデスクトップメニューからクリックで選べます。
- SHFS persistenthome による CD 版とLinux エミュレータ版での共用
リモートにホームを取得する SHFSpersistenthome を使えばCD 版とLinuxエミュレータ版でのホームの使い回すことができます。
【技術的詳細】
KNOPPIXをUserModeLinux(UML) のCOW(CopyOnWrite)(*)機能を使うことでCD版では不可能だったKNOPPIXのカスタマイズを可能にしました。Debianのパッケージ管理
apt-get がそのまま使えます。COWによって作成された更新部分は他のユーザに送って共有することもできます。
また、SHFS persistenthome と組み合わせることで UserModelinux 上のKNOPPIXとCD版のKNOPPIXとでホームを共用することが出来ます。
(*)COW(CopyOnWrite)とはもとのファイルシステムに影響を与えずに、更新したファイルの差分のみを確保できる機構です。KNOPPIXのようにreadonlyのCDメディアのファイルシステムでも更新差分を別途確保して、書き込みも可能になります。
COW を有効にするため、cloop 内のファイルシステムを変更しました。通常のcloop
ファイル内はiso9660 を使っていますが、iso9660 ではCOWが有効になりません。このため、cloop
の内容はそのままに内部のファイルシステムをext2に変更しました。
その他:技術詳細は別途論文にまとめる予定です。現在、発表できる場を探しています。
ダウンロードファイル
カスタム可能なKNOPPIX on UserModeLinux を使うには、下記のisoイメージからCDを作成してください。UserModeLinux
については他のディストリビューションにもポートする予定です。
- KNOPPIX-UML-COW-SHFS-20040518.iso (ベースは KNOPPIX 3.3 20040216-20040220版。通常のKNOPPIXとしても使えます)
使い方
KNOPPIX-UML-COW-SHFS-20040518.isoをベースにした使い方を説明します。まず、こちらをCDに焼いてブートしてください。
- KDEメニューにUML-KNOPPIXを起動できます。コマンドラインからは下記を実行してください。
/opt/umlknoppix/bin/uml-knoppix

- UserModeLinuxのコントロールパネルが起動します。ここから色々制御できます。

- 最初に UserModeLinux のネットワークを整備します。左下の Start-HUB を押してください。コンソールが一つ開き、ネットワーク環境整備の様子が表示されます。

- コマンドラインで ifconfig を実行すると下記のネットワークが整備されています。

- 次に実行するKNOPPIXのcloop ファイルをしています。
- cloop はCD、SFS、root からの3種類からラジオボタンで選択出来ます。
- CDからの場合は From CD のラジオボタンを選択して、Select を押してください。
/cdrom/KNOPPIX/ のディレクトリに移り、ファイルタイプを All files にして
KNOPPIX を選択してください。

- SFSからの場合は From SFS のラジオボタンを選択して、Select を押してください。自動的に産総研のSFSサーバに接続して利用可能なファイル一覧を出します。
お願い:SFSよりファイルのコピーはサーバの負荷集中になりますので止めてください。。同じファイルはFTPサーバより入手可能です。
ftp://unit.aist.go.jp/it/knoppix/ecl/

- root からの場合は From CD のラジオボタンを選択して、Select を押してください。
- COWの機能を使う場合にはCOWのための差分更新を保存するファイルを指定する必要があります。cow
メニューのSelectボタンを押してください。書き込み可能なディレクトリにCOWのためのファイルを指定してください。

- cloopとcow(オプション)が指定できれば、後はRUM-UML ボタンを押すだけです。

- RUN-UML ボタンを押すとコンソールが開き、uml の実行が始まります。このメッセージはPCのコンソール画面に出るものと同様です。

- UML が正常に起動すると下記の様にグラフィカルなデスクトップが使えます。

- CDには Debianパッケージが使えることを確認するためのサンプル(kseg_0.4-1_i386.deb)が入っています。下図ではCDから起動したKNOPPIXではパッケージが使えない様子、cow対応したUserModeLinuxではつかえる様子をあらわしています。画像をクリックすると拡大して確認できます。
ネットワーク経由で apt-get も使えます。

- UML上のKNOPPIXのシャットダウンはKDEメニューのLogout "KNOPPIX" をクリックして下さい。更新は保存されます。

- サンプルCOWファイル
(UML-COW-SHFS-20040518.ecl用)
- その他の注意:
- 作成したcowファイルは使いつづけることができますが、同じcloopファイルを指定してください。
KNOPPIX日本語版の3.3より UserModeLinux (UML) を利用可能にしました。これにより複数のKNOPPIXを物理的なリブートなしに立ち上げることができます。

UserModeLinux(UML)とはLinuxエミュレータの一つで、通常のプロセスとしてLinuxカーネルを実行できます。UML単体ではコンソールレベルのエミュレータであまり面白くありませんが、ファイルシステムなどを整備することでVMwareやVirtualPCのような仮想計算機と同様に利用することが出来ます。
我々はUMLをKNOPPIX専用に改良し、KNOPPIX専用仮想計算機として使えるようにしました。
左図をクリックすると拡大します。
UML for KNOPPIX ではネットワーク環境も利用できます。上図ではWEBブラウザを立ち上げてKNOPPIX日本語版のHPを見ています。

トピック
- UML-KNOPPIX on SFS (Self-certifying File System)実験開始
- Fedra Core版、Gentoo版を開発中。
(左図をクリックすると拡大します)
- TurboLinux版 UML-KNOPPIX を作成しました。knoppix_20031119-20040202版にrpm が入っています。
- /cdrom/Aist/umllnoppix/Turbolinux/umlknoppix-0.0.20040109-2TL.i586.rpm
- /cdrom/Aist/umllnoppix/Turbolinux/dhcp-3.0pl2-6.16aist0.1.i586.rpm
- /cdrom/Aist/umllnoppix/Turbolinux/sfs-0.7.2-1aist0.1.i586.rpm
(左図をクリックすると拡大します)
- knoppix_20031103-20031119よりUserModeLinux(UML) でKNOPPIXを複数立ち上げられるようにしました。

CD版UML for KNOPPIX の使い方
iso イメージを下記のダウンロードより入手し、CDを作成してください。
KNOPPIX日本語版には標準でUML for KNOPPIXが入っています。少しづつバージョンアップしているため、使い方が少しづつ異なっています。
runuml オプション
runuml は幾つかのオプション指定が可能です。UML KNOPPIX で良く使うものをまとめておきます。
- -h|--help … 使い方を表示します。
- -c|--cloopfile CLOOPFILE …cloop ファイルが指定できます。デフォルトはCD内のcloop
ファイル/cdrom/KNOPPIX/KNOPPIX ですが、ローカルなハードディスクやNFSなどにcloopファイルがある場合は
-c で指定できます。
- -d|--desktop (icewm,fluxbox,kde,wmaker,twm,xfce) … デスクトップが替えられます。デフォルトはkdeですが、kdeの起動が遅い場合は
runuml -d xfce をお試しください。
- -m|--memsize MEMSIZE … UserModeLinux のメモリを指定できます。デフォルトで128Mのメモリを割り当てています。実メモリは256Mが推奨です。
- -g|--geometry WIDTHxHEIGHT … ウィンドサイズが指定できます。デフォルトで
800x600 です。
- -l|--lang (ja,us,da,de,es,fr,ns,it,pl,ru,sk) … 使用言語が指定できます。英語キーボードを利用している場合は
runuml -l us で変更して下しください。

応用用法
ダウンロード
- KNOPPIX isoファイル
- Debian パッケージ
- RPM パッケージ
- Genttoパッケージ

参考文献
関連研究・開発
謝辞
