おーぷんここんセルフcdライター
TRANSCRIPT
OSC展示配布時の課題
● opencocon をバージョンアップすると、CDを焼きためてもすぐに古くなってしまう
● これまで来場予測(勘)を基にCDを焼いていたため、ロスや在庫不足がよく出てしまっていた– CD-Rディスクは寄贈品なので、できればロスは出したく
ない
● 事前に焼くのが面倒:できれば直前まで改良したい
ではどうすれば?
● オンデマンドでCD焼けるようにすればいいのでは● 高速に焼いて、すぐ提供できるようにしたい
– できれば 3 分以内
● 複数のISOイメージから選べるようにしたい● ブースに誰もいなくても焼けるようにしたい:来場者
自らでオンデマンド焼きを可能にしたい
ということで、いろいろ用意
● 古い外付けCDドライブのケース– 5 inchドライブが入るもの
– 丁度EJECT専用になってしまっていたものがあった
● 新しいDVDドライブ– これも 5 inch : スリムドライブよりも焼くのが高速
● USB-SATA変換ケーブル : 2.0でよい
● テンキーボード : ISOイメージ選択用
● PC
路線変更:RasPiでCD焼き
● 手元に Rpi2 と Adafruit PiTFT があった– 頂き物であるが、まだ新しめのマシンで用途がなかった
● Raspbian に wodim をインストールし、試しに CDを48倍焼き → うまく焼ける– FIFOバッファも安定している
– メモリもあまり食わない– マルチコアなので他のプロセスに吊られにくいはず– USB 2.0 の転送帯域がしっかりしていれば問題ないと判断。
● Rpi2 と PiTFT を CDドライブの後ろに埋め込む– そのために穴を開ける
ここまでの課題
● Rpi2をちゃんと固定していないため、不意におかしくなることがあるかもしれない– 一応ダンボールで絶縁と、SDカードの抜け防止加工
● PiTFTが衝撃で壊れやすい(らしい)ため、運搬時にそれなりのシールドが要る
● ケーブルが結構邪魔でスペースをとっている● PiTFTはタッチパネル付きだが、XとY軸が逆になっ
てしまっている。原因はまだ不明。
次はソフトウェア
● GUIとかめんどいので、シェルスクリプトで書きたい
● 基本的にはテンキーのキー1回押しだけでドライブがEJECTし、ディスクが挿入され次第焼き始めるようにする
● ここにアップしました : opencocon kiosk disk writer https://github.com/dejiko/cocon-writer
操作方法
① 希望するイメージの番号をテンキーで押す
② EJECTされるので、CD-Rを入れる
③ 数分待つと焼き上がってEJECTされる
④ 備え付けのペンでラベル面に落書きをする
⑤ 袋に入れて持ち帰る
CUIでCDを焼くときの勘所(2)
● CDドライブをEJECTして、CDを入れてトレイを占めるのを検知するには? → このコマンドで取得できる
$ sg_get_config $CDDRV 2>&1 | grep "Current profile:"
● Current Profile に何もかいてなければ未挿入。CD-R とか書いてあれば挿入済– 本当は焼けるディスクかも判定する必要がある
課題
● 焼くとき、だいぶうるさくなる– 48倍なので当たり前といえば当たり前やけど...
– OSCは賑やかなのでそんなに気にならない気もする
● 電源が追いつくか不安– 100V いかないブース下での稼働がうまくいくか
そして汎用CDライターへ
● これは ?.imagedef というファイルで焼けるイメージをいくらでも定義することができる
● ここん以外のLinuxディストリを焼きたいという要望をどうするか– いくつか用意してもいいとは思ってる– しかし、ここんで配布するんだから、ここんの宣伝も伴っ
ていたい。→ 他ディストリでも、ここんラベルのCDに焼くことでおおむね解決