初めてKnoppixの再構築とやらをやってみる

普通にKnoppixのイメージを持ってきて焼いただけでは、数値計算するのに物足らない。
そう、Intel Fortranが入っていないのである。
そんな訳で、再構築してifortが使えるKnoppixを作ってみる。(無料版Intel Fortranのインスト方法は過去のhttp://d.hatena.ne.jp/shun_t/20040515)
参考ページはここ
http://dalab.gifu-nct.ac.jp/xoops/modules/pukiwiki/index.php?KNOPPIX%A4%CE%BA%C6%B9%BD%C3%DB
超役に立ちました。


ページを追って、「カスタマイズ」のchrootのとこまでは全く同じ。
「ネットワークの設定」で/etc/resolve.confを(コピー取りつつ)いじくり、apt-getが使えるようにするのも同じ。
ただ、apt-getでパッケージを消そうというのに、apt-get --purge removeを実行すると新たに色々ダウンロードしてきた結果容量がさらに増加する、というパッケージもありました。これは、apt-get --purge remove enigma*等と試しに実行してみると、減る容量及びダウンロードしてくる容量が表示されるので、確認しつつパッケージを消せばよい。
openofficeを消すと、200M近く容量が節約できる。Intel Fortranをインストして再構築することが目的なので、これを消さないと多分1CDには容量的に収まらない。
openofficeを消しIntel Fortranをインスト(普通に解凍したものからinstall.shを実行すれば可能)した後、ifortvars.shのようなスクリプトKnoppix起動時に動かすように指定したい。
実は、Knoppix起動時のスクリプト実行をどこに書いたらいいか、正解に近い方法は分からないし知らない。
※以下修正(06/05/05)(さらに続編ありhttp://d.hatena.ne.jp/shun_t/20060515)
結局どうしたかというと、再構築中のchrootした状態で、/etc/profileの最後にsourceコマンドやexport GXX_ROOTを書き加えてみた。*1


そしてついでに、Knoppix起動時にNASのネットワークドライブをマウントするようにも設定してみた。内容は超強引で、/etc/profile内に、

sudo mkdir /mnt/nethdd
sudo chown knoppix:knoppix /mnt/nethdd (この行いらないかもしれない)
sudo echo "//?????/+++++ /mnt/nethdd smbfs username=+++++,password=*****,users,rw,exec,auto,uid=1000,gid=1000 0 0" >> /etc/fstab
sudo mount -a

のようなものを書き加えた。+++++はNASのユーザー名、*****はパスワード、?????はNASの名前である。

smbfsは、mountするとき特定のユーザーでしかmountできないらしい。これでえらいこと悩んだ後、結局fstabにuid=1000,gid=1000を書くことで何とかした(1000は「knoppix」というユーザのuid,gid)。これで再構築したKnoppixをCD起動後、Konsoleを起動しなくても、LAN上のHDDはマウントされる。

しかしKonsoleを起動する毎にもmountを実行するようで、これをどうしたものか、現在私には不明。fstabを自動作成するスクリプトを探せばなんとかなりそうな気がしなくもないけれども、めんどいのでこれでいいや(手抜き)。


後はまた、上記再構築のページにある「chrootの終了」以降をなぞり、isoを作ってCDに焼くだけである。chroot実行の最中、もしどこかにネットワークドライブをマウントした場合はumountし忘れないように注意。でないと、isoイメージがばかでかくなるかもしれない。(実際やってしまったり)
isoイメージがうまく動くかどうかの検証はCD-RWで行った。経済的。

*1:本当は.bash_profileに書き込みたい気もしたが、そもそも存在していなかった。一応新たにこれを作って置いて再構築してみたが、Knoppix起動時にifortコマンドが通るようにはならなかった。