【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

mywkfmnrのホームページ

フリーページ

お気に入りブログ

ブログ見に行くのに… CPU4Eduさん

源氏物語の世界 jooxさん
一日一冊:読書日記… 本のソムリエさん
2004年06月24日
XML
カテゴリ:カテゴリ未分類

1.CDROMのカスタマイズとFAT32インストール

これまで、FAT32インストール)は、もうひとつのHDDインストールと称して、通常のHDDインストールと同様な高速な環境を簡単に構築する方法として、紹介してきました。
しかし、FAT32ブート環境(FAT32インストールして作成した環境)には、もうひとつ、重要な側面があります。それは、カスタマイズCDを簡単に作れる環境であることです。

FAT32ブート環境は、以下の点は、CDブート環境と同じです。
(1)カーネル、miniroot、cloopは、CDブート環境と同じものをそのまま使います。
(2)CDROMとcloopのマウントポイントも、CDブート環境と同じ/cdromと/KNOPPIXになります。
(3)ルートファイルシステムがブート時のminirootのままだという点もCDブート環境と同じです。

FAT32ブート環境とCDブート環境の相違点は、以下の点だけです。
(a)ブートローダの違い。FAT32ブートではGRUBを使いますが、CDブートではisolinuxかsyslinuxを使います。
(b)/cdromにマウントするファイルシステムの違い。FAT32ブートではFAT32ですが、CDブートではiso9660です。
(c)FAT32はHDD上にあるので高速ですが、CDブートだと、かなり低速になります。

この(a)(b)(c)の違いを意識するプログラムはブート関係とカーネルを除くと、きわめて少ないので、通常は、FAT32ブートで動作確認が取れれば、CDブートで動作しないということは起こりません。
この点は、KNOPPIXをカスタマイズするためにHDDインストールしてcloopを再作成するというアプローチにはない、非常に便利な点です。
しかも、HDDインストールやcloop再作成のような、時間とリソースを大量に消費する操作も不要です。

このように、FAT32インストールは、KNOPPIXのカスタマイズを目的とする向きには、うってつけの方法だと私は考えています。




2.KNOPPIX実験室で提供するKNOPPIXのカスタマイズ手段

KNOPPIX実験室では、KNOPPIXを簡単にカスタマイズするために以下のようなツールを提供しています。

(1)mkwritable - cloopの中にある、一見、更新不可能に見えるファイルを更新するためのツール


原理は簡単です。cloopの中の更新したいファイルをramdiskにコピーし、シンボリックリンクを張り替えて、同じパス名を指定すると、ramdiskにコピーしたファイルを参照するようにすることで、そのファイルを更新できるようにするのです。
たとえば、/usr/local/srcに新しいプログラムのソースをダウンロードし、ビルドすることで、/usr/local/binや/usr/local/manにプログラムをインストールすることを考えましょう。そのためには、/usr/local/bin、/usr/local/man、/usr/local/srcの3つのディレクトリを更新できる必要があります。
KNOPPIXでは/usrは/KNOPPIX/usrへのシンボリックリンクになっているので、/usr/local/binなどは、cloopの中の/KNOPPIX/usr/local/binにあることになり、更新できません。
しかし、この場合、suモードで以下のコマンドを実行すると、これらのディレクトリも更新可能になります。
# mkwritable /usr/local/{bin,man,src}
これを実行すると、/ramdisk上に以下のフォルダが作られます。
/ramdisk/usr
/ramdisk/usr/local
/ramdisk/usr/local/bin
/ramdisk/usr/local/man
/ramdisk/usr/local/src
そして、これまで、/usr ==> /KNOPPIX/usr に張られていたシンボリックリンクは、/usr ==> /ramdisk/usr に張り替えられます。
もちろん、これだけだと、/usr/binなどのディレクトリやファイルが見つからなくなってしまうので、シンボリックリンクを張り替える前のディレクトリにあったサブディレクトリやファイルへは、張り替え後のディレクトリからシンボリックリンクが張られます。例えば、先の例では、/ramdisk/usr/bin ==> /KNOPPIX/usr/bin にシンボリックリンクが張られます。
こうすることで、たとえば/usr/binを使う場合は、従来どおり、/KNOPPIX/usr/binが使われますが、/usr/local/binを使う場合には、/ramdisk/usr/local/binが使われるようになるので、/usr/local/binなどに新たなプログラムをインストールすることも出来るようになります。

このように、mkwritableを使えば、cloop内のどんなファイルでも更新できるので、うまく使えば、RAMディスク容量が許す限り、どんなプログラムでもインストールしたり、設定変更したり出来るはずです。そればかりか、継続的ホームディレクトリを併用して、このRAMディスク容量の限界を乗り越えることさえ出来るようになっています。(この記事内で説明します。)

ただ、あるプログラムをインストールしたいと思ったとき、どこをmkwritableすればよいのか、戸惑うことがよくあります。結局は、適当に見当をつけてmkwritableしておき、インストール中にエラーが出てきたら、そのエラーメッセージを参考に、追加のmkwritableを実行してインストールを再試行するという事を繰り返すことが多いです。
このあたりのやり方は、KNOPPIX実験室のHowto5-xやhowto3-xで具体例を使って解説していますので、参照してみてください。


(以下は、日記サイズの制限のため、2004/6/25の日記に書きます。)

(2)linuxrc2 - cloopの中のファイルを書き換えるような設定を読み込む、KNOPPIX実験室独自のブートオプション


(a)/cdrom/KNOPPIX/linuxrc2.d/files.dディレクトリ配下のファイル・ディレクトリを、ルートディレクトリ配下にディレクトリ構造を保ってコピーされます。

(b)/cdrom/KNOPPIX/linuxrc2.d/sh.d/patch*.sh というスクリプトファイルがあれば、実行されます。

(c)/cdrom/KNOPPIX/linuxrc2.d/tbz.d/patch*.tbz というtarファイルがあれば、ルートディレクトリ配下にディレクトリ構造を保って解凍されます。


(3)mkpatchlistとmkpatch - KNOPPIX実験室独自の設定保存ツール。



(以下は、近日中に、別の日記ページで加筆・修正するつもりです。)

(4)継続的ホームディレクトリにインストールしたプログラムをブート時にシステムに組み込むためのツール


(5)CDROM内に継続的ホームディレクトリの圧縮イメージを持ち、ブート時にRAMディスクに展開して使用可能にする機能


(6)ブート時のトラブル調査のためのログを収集する機能



3.関連記事


このような設定保存方法については、他にも、以下のような記事をアップしているので、参考にしてください。
(1)KNOPPIX実験室 Howto1-2 設定を保存する機能について
KNOPPIX実験室の設定保存機能を、KNOPPIXの標準の設定保存機能(saveconfig)と比較しながら説明しています。

(2)2004年1月10日の日記 KNOPPIXの設定を保存する機能について
KNOPPIX実験室の設定保存機能の操作方法を説明しています。

(3)KNOPPIX実験室 Howto3-xとHowto5-x
KNOPPIX実験室の設定保存機能を使って、Webサーバ等を立ち上げたり、何か新しいプログラムをインストールしたりする方法を説明しています。




この日記は、最初は、6月24日の「実験くん」さんの書き込みのレスとして書き始めました。しかし、この辺については、書きたいことがたくさんあるので、長さなどの制限のきつい掲示板から日記に変更してアップしたものです。
「実験くん」さんの質問に対する回答としては、少しピントがずれていますが、やりたいことは、KNOPPIXのカスタマイズ版CDを作りたいのだと思われること、cloopファイルの作成にてこずっている様子であることから、こういう方法もありますよ、この方が簡単ですよ、ということを紹介するために書き始めたものです。

以下は、最初にこの日記を書いたときの掲示板のレス形式の記述です。
上の記述と一部重複しますが、履歴として残しておきます。


>実は,knoppixをCDで起動してUSB-HDDでknopixのカスタマイズを試行しています。
>圧縮をかけたものをテストで起動するために使いたいと思っていますが,まだ,3.2しかカスタマイズは成功(再圧縮)していません。
>3.3は本日,失敗して,3.4の方法は,よく分かりません。カスタマイズ方法をご存じな方よろしくお願いします。
>3.2はきんねこさんのHPを参考にしました。
私は、KNOPPIXをHDDにインストールしたことは、一度もありません。HDDにインストールして使うLinuxなら、別に、もっと好きなLinuxがあるからです。KNOPPIX 3.2/3.3の頃にカスタマイズ版のCDを作ったことは何度もありますが、カーネルとcloopファイルは提供されたものをそのまま使いました。cloop内のどんなファイルでも、ramdiskにコピーして書き換えられるようにしてしまうスクリプトmkwritableをKNOPPIX実験室で提供していますが、これとtarを併用して、cloopファイルへのどんな更新でも、ブート時に反映してしまうのが、そのカスタマイズの仕掛けです。
たとえば、起動にKNOPPIX実験室のminirt2x.gzを使っており、起動オプションに「linuxrc2 mvetc」を指定しているならば、/cdrom/KNOPPIX/linuxrc2.d/tbz.dというディレクトリを作り、そこに、patchXXXX.tbzと言う名前(XXXXの部分は任意。複数ファイルも可)で設定を保存しておけば、ブート時にその設定をramdiskに読み込みます。もし、そのtarの展開先がcloopファイル内の更新できない部分にあった場合は、mkwritableを使って、更新可能な状態にパッチした上で展開されます。
ちなみに、あまり面白くない例ですが、
http://www.h2.dion.ne.jp/~miyawaki/knoppix/linuxrc2/linuxrc2.d/tbz.d/patchwww.tbz
http://www.h2.dion.ne.jp/~miyawaki/knoppix/linuxrc2/linuxrc2.d/tbz.d/patchSamba.tbz
をダウンロードして/KNOPPIX/linuxrc2.d/tbz.d/patchwww.tbzディレクトリに置くと、
KNOPPIXのブート時にApache+PHPサーバとSambaサーバが自動的に起動していると思います。
#ただし、patchSamba.tbzには1年も前の古いパスワードファイルが入っているため、ユーザwnnが正しく登録されず、
#結果としてかな漢字変換ができなくなります。



過去のKNOPPIX関連日記一覧はこちら

KNOPPIX実験室







お気に入りの記事を「いいね!」で応援しよう

最終更新日  2004年07月01日 01時32分23秒
コメント(9) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。


 Re:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   nyantama さん
始めまして、USB-HDでカスタマイズ可能なKNOPPIXを作るという話があったので、ちょっとアプローチは違うけれど、http://www.geocities.jp/nyantamas/
にHDknoppix(自称)とHD上に展開したKNOPPIXから
ブートしてカスタマイズする方法(ブート用minirt)
がアップしてあります。また以前grubのFDイメージの
話を書かれていましたが、2.88のgrubFDイメージも有りますので、一度覗いて見て下さい (2004年07月20日 10時21分09秒)

 Re[1]:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   mywkfmnr さん
nyantamaさん、こんばんは。
ようこそおいでくださいました。

新しいサイトを立ち上げたのですね。
興味深く読ませていただきました。
以下は、僭越ながら、私の感想です。

HD-installについては、わたしはやったことが無いので、よく分かりませんが、有名なKinnekoさんのメモに従う方法との差はどこにあるのでしょう。

あと、HD-install状態では動いていたのに、CDに焼くと動かなくなる現象が発生するはず。そういったときのデバッグ方法やテスト方法に関するノウハウの記述などあった方がよいような気がしますが、どうでしょうか。

カスタマイズ事例に載っていた、削除パッケージの選び方は、個人差が出やすいようですね。私なら削除しないようなものが削除されていました。
わたしも、500MB位にダイエットされたcloopがほしいと思うことがよくあるのですが、何を削除して何を残すかの考え方は人によって違うようなので、私がほしいようなcloopは、いつか、自分で作る必要が出てくるのでしょうね。でも、作ったとしても、これだけ頻繁にアップデートされると、その追随がむずかしそう・・・。

では、nyantamaさんのサイトの今後の発展をお祈りいたします。
(2004年07月21日 00時02分04秒)

 Re[2]:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   nyantama さん
mywkfmnrさん
>HD-installについては、わたしはやったことが無いので、よく分かりませんが、有名なKinnekoさんのメモに従う方法との差はどこにあるのでしょう。

kinnekoさんのカスタマイズ方法chrootしてapt-getを
使うやつですよね。一応これはkpackage等Xwindow上
の全ツールを使ってカスタマイズが出来る、カスタマイズした結果がその場で確認できるってところがメリット
だと思ってます。

>あと、HD-install状態では動いていたのに、CDに焼くと動かなくなる現象が発生するはず。そういったときのデバッグ方法やテスト方法に関するノウハウの記述などあった方がよいような気がしますが、どうでしょうか。

この方法ではHDinstall状態と違いまったく元のKNOPPIX
そのままのファイルを戻すので、記載したように/etc/
配下のファイルを削除すればcloopイメージにしても動く
(様です・・私のやった範囲内での話ですけど)

私適にはカスタマイズよりもUSB-HDにイメージ展開して
CDのKNOPPIXといろんなPCに繋いですぐ使え、なおかつ
カスタマイズ可能(つまりknoppix-autoconfigでハードウェアを自動認識するdebian)なHDknoppixを見て
ほしかったんですけど、できればこれについても
感想を聞かせて下さい (2004年07月22日 22時44分36秒)

 Re[3]:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   mywkfmnr さん
nyantamaさん、こんにちは。

>私適にはカスタマイズよりもUSB-HDにイメージ展開して
>CDのKNOPPIXといろんなPCに繋いですぐ使え、なおかつ
>カスタマイズ可能(つまりknoppix-autoconfigでハードウェアを自動認識するdebian)なHDknoppixを見て
>ほしかったんですけど、できればこれについても
>感想を聞かせて下さい
-----
わたしが使っていたUSB-HDDだと、大きくて、とても持ち運ぶようなイメージが無かったので、その視点が抜けていましたね。
最近はUSBを2ポート使うだけでAC電源不要のコンパクトなものもあるようですし、そういうものなら、一々CD化しなくても同様な目的で使えて便利かもしれませんね。
でも、「私の経験から言うとバスパワー駆動のものは避けたい」と書かれていますね。どんな問題があったのですか。
それから、KNOPPIXはデフォルトではUSB 2.0を使ってくれないはず。この点は、mini24nr.gzの中で使うように修正しているのですか? (2004年07月23日 08時29分18秒)

 Re[3]:昨日の返事を取り消します   nyantama さん
HD-installとの差はどこに・・というのがHDknoppix
への感想だったんですね。勘違いしてました。
すみません。
ちなみにHD-installすると通常のlinux同様
ブートローダーからカーネルイメージをロードする為
BIOSが認識しないUSB-HDからはブート不可です
あとHD-knoppixからCDに焼くとそのCDは他のPCでは
使えません。カスタマイズCDを焼く場合はカスタマイズ
手順のページにある手順でカスタマイズする必要が
あります。これらの差については指摘されたように
記述を追加していこうと思います
有難うございました
(2004年07月23日 08時30分43秒)

 Re[4]:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   nyantama さん
>でも、「私の経験から言うとバスパワー駆動のものは避けたい」と書かれていますね。どんな問題があったのですか。
バスパワー駆動のHDでは最初動きだしてやったーと思
っていたら、しばらくしたらHDの動作音はしている
のに、そこから進まなくなって、HD側の問題なのか
PCの構成上(ブートオプション等も含めて)なのか
悩みました。HDをバスパワーモデルに変えたら
一発起動、バスパワーモデルの安物?は連続で駆動
させると動きがおかしくなるものが有るみたいです
給電するPC側の問題もあるかも知れませんけど
>それから、KNOPPIXはデフォルトではUSB 2.0を使ってくれないはず。この点は、mini24nr.gzの中で使うように修正しているのですか?
産総研版では1.1ですがya-knoppixでは2.0で認識
しているようなので、ya版を元に改造しています
-----
(2004年07月25日 09時50分27秒)

 Re[5]:修正(06/24)   nyantama さん
nyantamaさん
前の書き込みで、一発駆動したのは当然バスパワー
モデル ではなくて外部電源モデルでした
修正します (2004年07月25日 09時55分24秒)

 Re[5]:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   mywkfmnr さん
nyantamaさん、こんにちは。

>>でも、「私の経験から言うとバスパワー駆動のものは避けたい」と書かれていますね。どんな問題があったのですか。
>バスパワー駆動のHDでは...(以下略)
そうなんですか。今度買う時(当分先?)には、バスパワー駆動のものをと考えていたので、心に留めておくことにします。

>産総研版では1.1ですがya-knoppixでは2.0で認識
>しているようなので、ya版を元に改造しています
産総研版でも、USB 2.0のドライバは組み込まれています。cloop内だけでなく、minirt2x.gzの中にも入っています。
単に、insmod ehci-hcd.oを実行するだけでUSB 2.0が使えるようになります。
KNOPPIX実験室のKNOPPIX 3.4向けminirt2x.gzも、デフォルトでUSB 2.0が使えるようにします。
NOPPIX実験室のKNOPPIX 3.2/3.3向けのminiroot.gzでは、ブートオプションUSB2.0を指定すると使えるようにしていました。
参考まで。

yak版は、産総研版に比べて、何がメリットなのか良くわからないので、ホームページにはしばしばいくのですが、まだ、一度もダウンロードしたことがありません。(ダウンロードには最低5時間以上かかるので)
トップページで、産総研版に比べて、何がメリットなのかをアッピールしてくれるとうれしいですね。
USBブートもUSB2.0もKNOPPIX実験室でやっているように、minirootを書き換えるだけで対策できるし、・・・
nyantamaさんは何に魅力を感じて使っているのですか。
(2004年07月26日 13時24分08秒)

 Re[6]:KNOPPIX実験室独自のカスタマイズの仕掛けについて(更新3)(06/24)   nyantam さん
>yak版は、産総研版に比べて、何がメリットなのか良くわからないので、ホームページにはしばしばいくのですが、まだ、一度もダウンロードしたことがありません。(ダウンロードには最低5時間以上かかるので)
>トップページで、産総研版に比べて、何がメリットなのかをアッピールしてくれるとうれしいですね。
>USBブートもUSB2.0もKNOPPIX実験室でやっているように、minirootを書き換えるだけで対策できるし、・・・
>nyantamaさんは何に魅力を感じて使っているのですか。
-----
yak版はパッケージのバージョンが新しいってことです。
たとえば最新の0517rev3ではo.o.oが1.1.2
です。
私としてはXfceのバージョンが4というのがポイント
高いです。fluxboxよりは重めですけど使い勝手は
かなりいい。特にwindowsしか使ったことが無い人
にはfluxboxは拒否反応が強かったけど、Xfceなら
いいかなって感じでした。
(2004年07月29日 21時43分03秒)

PR


© Rakuten Group, Inc.