CD起動するMEPISというディストリビューションをカスタムし、その内容をリマスタするスクリプトを開発。
isoイメージは、MEPIS配布サイトから取得してもらい、それを使ったリマスタを半自動・全自動化する手段を提供、LiveCD開発の多くの課題を一度に克服することを目指す。
yakbuilder の骨格からほとんど変わらず。
MEPIS環境へ対応するための変更を行った。
CD起動時のコピーコマンドについて未調査のため未実装。
日本語化はまだ未対応。
TODO:
ビルドヴァージョンを示すキーの自動生成と埋め込み
chroot 後の処理の不足を補い、処理を自動化する
chroot 終了後の落ち穂破棄処理の追加
chroot 後、日本語環境を自動構築するための自動化処理を追加
削除候補パッケージの選択
追加パッケージの選択
個別の設定の作成と反映
CD起動からのコピー生成に対応するか検討する
0001[fix] cdrom の存在確認に失敗する
CDROM=/mnt/auto/cdromだとcdromcopyでgrep -q $CDROM /proc/mountsに失敗
/dev/cdromでハードコード
0002[fix] hdinstall後の環境にcloop.oが入っていない
boot.img から拾って来る
0003[fix] rsyncでmasterをコピーする時、linuxディレクトリがコピーされない。
--exclude linux => linux/linux
0004 rsyncでコピー中、-v で全てを表示しないで進行状況を表示したい
--progress をオプションを追加
個別のファイルの状況が出るだけで全体の進行状況が出るわけではなかった。
rsync ではないツールにしないとダメかも。元にもどす。
linux/linuxを拾う事にしたので部分的に復活させる。コピーに7分もかかるからね。
0005[fix] スクリプトからautofsでの自動マウントに至らず、CDなしのエラーになる。
ls /mnt/auto/cdrom > /dev/null を追記してアクセスを事前に行う。
0006[fix] rsyncでコピー中、cloopのデータが読めなくなる
おそらくcloopに負荷の高いアクセスがあった場合の問題と思われる。まだfixされてなかったのね。
cloop: error -3 uncompressing block 84 65536/0/10813/0 757103-767916
I/O error: dev 0b:00, sector 6676
cloop: Read error at pos 374139 in file /mnt/auto/cdrom/linux/linux, 10659 bytes lost.
cloop: error -3 uncompressing block 5 65536/0/10659/0 374139-384798
cloop: unloaded.
cloopはやめたほうがいいかもしれない。いずれは。
rsyncをCDから行わず、cloop image をHDにコピーした上で実行する方法へ変更。
この方法はディスクを余計に食うのが難点。コピー時間はどう影響するかわからず。
0007[fix] caseの文末でエラーが出る
./jambuilder-0.01: line 259: 1: command not found
./jambuilder-0.01: line 260: syntax error near unexpected token `;;'
./jambuilder-0.01: line 260: ` ;;'
ふむ。文法的には合っていると思うのだけどな。なんでだ?
ありがちな tab/sp のミスマッチでした。
0008[fix] chroot から exit したらエラー
./jambuilder-0.01: line 260: syntax error near unexpected token `|'
./jambuilder-0.01: line 260: `|cleanall}"'
なんかメインルーチン妙なのかな。どっかポカミスしているのだろうね。
こちらもありがちな tab/sp のミスマッチでした。
0009[fix] buildiso で明後日のディレクトリをベースにしてしまう。
yakbuilder とパス変更を行ったのを反映していなかった。