Old: Ver.1 - 3: Casperカートリッジの利点と解説

English / Casper Cartridges, kameda-lab.org 2010/11/24f, (2012/10/10)

最新版について

Ver.3シリーズより新しいCasper Cartridgeがあります。
下記からアクセスしてください。
【Casper Cartridge Top】


Ver.1-3概観 カートリッジ一覧 解説 内部作業履歴 OpenCVサンプル群 ARToolKit PTAM OpenCV開発版

概要

USBメモリスティックを使って、Ubuntu10.04LTS/Desktop/日本語Remix環境をディスクレスで構築します。
このとき、Unified File SystemのPersistent fileを導入するので、作業記録を取ることができます。
また、このPersistent fileが入れ替えられることを利用して、様々な「カセットポン」な環境切り替えを実現します。
この置き換えることを前提としたPersistent file(実際にはcasper-rwというファイル名です)のことを、 ここではCasperカートリッジと呼称します。

本プロジェクトは筑波大学大学院システム情報工学研究科知能機能システム専攻の、 「知能機能システム実験II」 その他の講義の受講環境構築の一環として2010/09以降、亀田能成が手がけています。


詳細

CasperカートリッジでOSをブートさせる利点

  1. USBメモリスティック自体はFAT32にしておくことで、Windowsからの操作性も確保してます。
  2. USBメモリスティック上にUbuntu実行時のデータ保存領域(casper-rwというファイル名のpersisten file)を確保することで、パソコンを起動・終了しても継続して作業可能です。
    構築されるUbuntu10.04LTS/Desktop環境は、通常のHDDインストールと使い勝手が変わりません。
    (4GB総容量のUSBメモリスティックの場合、ユーザが保存に使える領域は初期状態で3GBです。)
  3. USBメモリスティックさえ持ち歩けば、USBブート可能なマシンがあればどこでも作業を継続できます。

様々なCasperカートリッジの利点

  1. 様々なアプリケーションをソフトウェア的に完全に動作するはずの環境で提供することができます。
    (あとはハードウェアさえ同一なら隅から隅までまったく同一です。)
  2. 例:OpenCV 2.1.0のコンパイルや実行、さらに様々なサンプルプログラムをコンパイルして実行できる環境を提供します。
  3. 例:ARToolKit (Ver 2.7.21)をコンパイルして、あとは標準的なUSBカメラさえあれば実行できる環境を提供します。
  4. 例:PTAM (r144)をコンパイルして、あとは標準的なUSBカメラさえあれば実行できる環境を提供します。

想定される環境

Casperカートリッジを導入すると便利になると想定される用途としては、以下のようなものが挙げられるでしょう。


利点と欠点

[利点]

[欠点]

USBメモリスティックの内部構成

ここで作成しているUSB-bootableなUbuntu linuxでは、USBメモリスティック上のcasper-rwという巨大ファイルが、実際にはOSのルートファイルシステムになります。
(casperに関してこれは正確な表現ではないのですが、面倒なので詳細はunified file systemとかaufsとか各自で勉強してください)
ここでは、このcasper-rwを「Casperカートリッジファイル」と呼んでいます。
このcasper-rwを入れ替えるだけで、様々な作業状態を実際にすぐ体験することができるわけですね。

以下では4GBのUSBメモリスティックを利用した場合の説明をします。
大別して、Ubuntu distributionのCDROMイメージに相当する多数のファイル・ディレクトリ群(合計716MB)と、巨大な単一ファイル("casper-rw")とに分けることができます。
この casper-rw が、persistent fileで、Ubuntu linux起動後のルートファイルシステムに相当します。

なお、一見普通のFAT32構造に見えますが、ブート可能にするために、実際の書込には(最初だけ)特別なソフトウェアを使います。

4GBでの例

USB 4GB (FAT32) Ubuntu linux利用時(1層目) Ubuntu linux利用時(2層目)
README.diskdefines
Uni-USB-Installer-Copying.txt
Uni-USB-Installer-Readme.txt
autorun.inf
casper/
dists/
install/
ldlinux.sys
md5sum.txt
pics/
pool/
preseed/
syslinux/
ubuntu
wubi.exe
716MB Ubuntuディストリビューションの
CDROMイメージ(iso)から展開されたファイル・ディレクトリ群
(Ubuntu linux稼働中はリードオンリーとしてなら参照可能)
/cdrom/ で参照可能 -無-
casper-rw 3GB Persistent file
(これをカートリッジ感覚で差し替え)
(Ubuntuの / に相当する)
/ に化けて読み書き両方可能

kameda.txt
残り ユーザが好きにファイルなど置いてよい
(空きが3GB以上あれば予備のcasper-rwをrenameして保存など)
(この例では"kameda.txt"は他と関係ないファイル)
(Ubuntu linux稼働中はリードオンリーとしてなら参照可能)
-無-


その他

私が直接書いた分についての再配布は自由に行っていただいて構いません。
ただ、サンプルコードなどはそれぞれに権利関係者がおられますので、そちらのほうを遵守してください。

【USBメモリスティックによる運用の注意点】


亀田能成 (KAMEDA, Yoshinari) kameda[at]iit.tsukuba.ac.jp, kameda[at]ieee.org