2009年11月22日日曜日

KNOPPIX 6.0.1 for Roboが出来上がりました

これまで、KNOPPIX 6.0.1をカスタマイズしてEtoysやScratchを動かせるようにする実験をしてきましたが、ロボットをコンピュータで制御することを通して、子どもたちが「構成的」に学習できる環境を構築することを目標として、次のような条件で本格的なKNOPPIX 6.0.1のカスタマイズをはじめました。

  1. 小学生がプログラミングを通して学ぶのに適したソフトウエアを導入する
  2. ロボット制御に対応したLinux版(KNOPPIXで動作する)のソフトウエアを導入する
  3. 小学生を対象とした本活動に適した、安価で使いやすいロボットを制御できること

この条件に合うものとして、ソフトウエアは、(Squeak)Etoys 3.0、同4.0、Scratch 1.4、同MyuRobo 1.4(阿部さんに作って頂きました)、Dolittle 2.0、同2-1pre(兼宗さんに作って頂きました:未公開)の6つのソフトウエアを導入し、スタジオミュウ製のミュウロボを動かせるものを作ることにしました。

以前にやったことから発展させて、Javaを導入してDolittleが動くようにすることがはじめの課題でした。そのために、「apt-get update」ができなければなりません。あらかじめ、読み書き可能な状態でHDDをマウントし、ネットワークの設定(/lib/init/rw/resolvconf/resolv.conf)をカスタマイズのために用意した方へコピーします。これで、「apt-get update」できるようになりますので、リストを更新して「apt-get install sun-java6-jre」でJava6を導入し、同fontsと同pluginも合わせて導入しました。

この状態で、Etoys 3.0とScratch 1.4をdebパッケージファイルからインストールし、それ以外のソフトは展開した状態でKNOPPIXのホームにコピーしておきました。

さあ!これでCDのISOイメージを作ろう!と思ったら、700MBを軽く越えている感じ。これだとCDには納まらないので「DVDにするか!」とも思いましたが、そもそもCDで手軽に同環境を構築することを目指していたので、ここは必要ないものを削除しまくることにしました。削除したパッケージは以下の通り。

  • Icedove
  • VirtualBox
  • Pidgin
  • Orca
  • Xgnokii
  • Linphone
  • GPRSコネクト
  • ISDNツール

ここまでで、かなりコンパクトにまとまりましたので、例の長いコマンドと格闘しながらどうにかISOイメージを作ることができました。

そして、起動実験を済ませて今ブログを書いているというわけです。目標としていたものは、無事すべて動作させることに成功しました。ご協力頂いた皆様、本当にありがとうございました。

2009年11月20日金曜日

Ubuntu 9.10をHDDにインストールして…

普段サブで使っているPC(そもそもは各種Linux OSのテスト用PC)のUbuntuを9.04から9.10にアップグレードしてみました。はじめは、アップデート・マネージャからアップグレードしてみたのですが、諸々インストールしていじりまくっているためか、あっちこっちでうまく動かない感じがしたので、思い切ってクリーンインストールすることにしました。

こういう「お引っ越し」で面倒なのは、必要なファイルのバックアップと復元です。Macで使わなくなったUSB2.0接続の外付けHDDがあるので、そちらにダウンロードしてインストールしたdebパッケージやzipファイルなどをコピーし、Wine上で動かしていたWindows用ソフトウエアもコピーしました。次に、自分のHOMEフォルダを丸ごとコピーして、引っ越し準備完了。

UbuntuのWebサイトから9.10のISOイメージファイルをダウンロードして、CDに焼いてPCを起動し、インストール作業を開始しました。(今回は本家のサイトからダウンロードしましたが、日本語を使うならJapanese Teamのサイトからの方が良いと思います。)

HDDへのインストール後、日本語環境に不足があるということで、いくつかのファイルが自動的にダウンロード&インストールされ、無事にUbuntu 9.10のインストールが完了しました。すぐさま、Synapticパッケージ・マネージャを使ってsun-java6、Wine1.2などをインストールしました。(Micropolice、FreeCIV、Simutrans、WesnothなどのゲームやMuseシリーズ、Rosegarden、ZynAddSubFX、Alsa Modular Synthなどの音楽関連ソフトもインストールしました)
#今まで、「jackd」の動かし方がイマイチ分からないところがあったのですが、英語のメッセージを頼りにしながら、簡単に動かすことができるようになりました。(次の課題は、デーモンとしてバックグラウンドで起動しておくこと)

最後の仕上げとして、ScratchやEtoysなどのdebパッケージをインストールして元の作業環境に戻すことができました。大きな変化はあまり感じられませんが、それぞれのソフトウエアのバージョンが微増し、ちょっとだけ使いやすくなった感じはあります。

ついでと言っては何ですが、電源のファンが起動時にけたたましい音をあげていたので、その対策にファンカバーを付けることにしました。こちらもあっさり作業を終了し(少々改造が必要でしたが…)、さらにケースファンの回転数を調節するファンコントローラーを付けて若干の静音化に成功しました。これで、夜中にPCを起動しても、家人を起こさずに済みます。(^_^;;;

2009年11月8日日曜日

KNOPPIX 6.0.1にScratch 1.4とEtoys 3.0を入れたISOイメージ作り

KNOPPIX 6.0.1をベースにした、ISOイメージ作りに挑戦してみました。
#「KNOPPIX HACKS(オライリー)」を参考にしました。

はじめに、用意したHDD(今回はUSB接続の40GB HDDを用意)をext3でフォーマットしてからルートに移動し、このHDD内に「source/KNOPPIX」というディレクトリを作成し、CD-ROMから起動したKNOPPIX 6.0.1の「/KNOPPIX/*」をコピーします。

# cp -Rp /KNOPPIX/* source/KNOPPIX

続けて、カスタマイズ作業の準備に入ります。まず、「/home/knoppix/」に入れておいて直接動かすScratchMyuRobo 1.4を、「source/KNOPPIX/home/knoppix」にコピーしました。合わせて、作業中に必要になるであろう「Desktop」「Documents」フォルダを「source/KNOPPIX/home/knoppix」内に作成し、Desktopフォルダには、ScratchMyuRobo 1.4を動かすシェルスクリプトをコピーしておきました。EtoysとScratchのdebパッケージとScratchの日本語版で使われるpoファイルは、「source/KNOPPIX/root」にコピーしておきました。

この後、chrootで「source/KNOPPIX」をルートとして起動し、カスタマイズ作業を開始します。はじめに、「mount -t proc /proc proc」とおまじないをかけます。(元の環境で作業をしたいときは、「umount /proc」をしてから「Control + D」でchrootを抜け出します。)次に、十分なディスク領域を確保するために、OpenOffice.org関連のファイルを削除することにしました。

# apt-get --purge remove openoffice.org-core
# apt-get --purge remove openoffice.org-common
# apt-get --purge remove openoffice.org-l10n-ja

※OOoを削除した後は、LXDEデスクトップマネージャーのタスクバーから、OOo関連の設定を削除する必要があります。「/home/knoppix/.config/lxpanel/LXDE/panels/panel」を開いてOOoに関する設定を削除しました。

次にEtoysScratchのdebパッケージを「dpkg -i」でインストールし、poファイルを「/usr/share/scratch/locale/」フォルダにコピーしました。仕上げに「# apt-get clean」でゴミを削除します。さらに細かなカスタマイズも可能ですが、KNOPPIXのカスタマイズは今回が初めての作業でもあり、早く動作実験をしたいこともあって、ここまででchrootでの作業を終了しました。

HDD内に「master」フォルダを作成し、ISOディスクイメージを作成するために、KNOPPIX CD-ROM内の/bootフォルダと/KNOPPIX/KNOPPIX以外の/KNOPPIXフォルダ以下のファイルをmasterフォルダにコピー(同期)します。

# rsync -a --exclude "/KNOPPIX/KNOPPIX" /mnt-system/ master/

続いて、source内に作ったKNOPPIXフォルダを圧縮イメージに変換します。恐ろしく長いコマンドを正確に打ち込む必要があるので、特に注意が必要です。

# mkisofs -R -U -V "〈任意の名前〉(filesystem)" -P "〈任意の名前〉" -hide-rr-moved -cache-inodes -no-bak -pad source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > master/KNOPPIX/KNOPPIX

さらに、md5sumsのチェックサムリストを作るために、次のように打ち込みます。

[master]# find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums

さて、いよいよISOイメージの作成です。このコマンドも長いので、正確に打ち込むよう注意が必要です。

# mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o knoppix.iso master/

これで、カスタマイズしたKNOPPIXのISOイメージが完成しました。CD-Rに焼いて動作確認しましたが、問題ありませんでした。時間はかかりますが、それほど難しくないところがありがたいです。これで、オープンソースを活用したコンピュータ制御(プログラミング)の学習環境が手軽に持ち運べるようになりました。

2009年11月2日月曜日

scratch_1.4.0.debian.12_i386.debのインストール

Linux版Scratchのdebian.12(scratch_1.4.0.debian.12_i386.deb)が出たので早速ダウンロードしてインストール作業をはじめました。

これまでにインストールしてあった「debian.*」は、「/usr/lib/scratch/」に「Scratch.image」などをインストールし、「/usr/share/scratch/」に「Plugins/」などをインストールする仕様になっていて、連携がうまくできていない(Scratchを起動しても「/usr/share/scratch/」の方は参照していない感じ)状態にありました。そのため、デフォルトで英語だけしか使えず、日本語などを使う場合は、「/usr/lib/scratch/」の方に必要なフォルダやファイルをコピーする必要がありました。

その点、今回の「debian.12」は、インストールされる場所そのものは変わっていませんが、「/usr/share/scratch/」を参照するようになり、日本語表示も簡単にできるようになりました。まだ、日本語のインライン入力はできないものの、テキストエディタなどで日本語文字列を作り、コピー&ペーストで日本語入力もできるようになりました。
#SqueakVM 3.7-7JPatchedを使わなくても良い。

普段使っているUbuntu 9.04(最近HDDを80GBにして、環境を再構築した)では、難なくインストール作業(dpkg -i)を終了し、動作も確認できました。録音にも対応して、ますます使いやすくなりました。

勢いに乗ってKNOPPIX 6.0.1でもインストール作業をしてみましたが、ことごとく失敗してしまいます。どうやら、「/etc/gnome/」というフォルダがないので作業が完了できなかったというようなことを言っているようです。(英語のエラーメッセージ)そこで、mkdirで「/etc/gnome/」フォルダを作りインストール作業を続行しました。すると、無事にdebian.12のScratchがインストールされました。
#合わせて阿部さんに作って頂いた「ja.po」などを「/usr/share/scratch/locale」に上書き保存しました。

これで、だいぶ実用レベルになってきました。すでにこれを使った活動を進めている最中です。子どもたちがどんなものを作ってくれるのか、とても楽しみにしています。

2009年11月1日日曜日

OSC 2009 Tokyo/Fallに行ってきました

今年、東京で2回目の開催となったOSC 2009 Tokyo/Fallに行ってきました。短時間で必要最小限のところを回って来ましたが、中でも一番のお目当ては、「KNOPPIX/Math 2009」でした。これをGetし、急いで帰路につきました。

帰宅して、早速動作確認をしました。部品を寄せ集めて作ったライブCDの動作確認用のPCCeleron 2.0GHz搭載)で起動させたところ、8インチ液晶モニタの画面の表示がずれてしまうという現象に出会いました。「自動調整」もうまくいかなかったので、Celeron D 330(2.66GHz)を載せた別のマシーンで起動実験を続けました。こちらは問題なく起動しました。そこで、このマシーンを使って「CFカード」にKNOPPIX/Math 2009をインストールし、動作実験を継続することにしました。

先ほどの、ライブCDの動作確認用のPCでは、DVDから起動するとうまくいかないのに、CFカードから起動すると、普通にデスクトップが表示され、問題なく使えることが分かりました。また、以前に作ってあったリサイクルPCでも問題なく動作してくれました。

USBメモリやCFカードにインストールするメリットは、容易にカスタマイズができること。変更した所だけ、「継続的なKNOPPIXディスクイメージ」に保存しておいてくれるので、コンピュータの電源を落としても、次に起動した時には、カスタマイズした環境で使いつづけることができます。もし、カスタマイズに失敗しても、「knoppix.image」を読み込まずに起動して、もう一度「継続的なKNOPPIXディスクイメージ」を作り直せば、また元の状態から始めることができます。それに、CD-ROMから起動するよりも少し速く起動します。USBメモリはUSB 2.0が必須(1.1だと遅すぎる)ですが、CFカードはマザーボードに直接IDE→CFカード変換ボードを差し込んでいるので、余計に速く感じます。SSDも流行っているので、今後はHDDレスで安定したSSDなPCが出現するとおもしろくなってくると思っています。

2009年10月22日木曜日

IPAフォントのUbuntu 9.04へのインストール

もともとUbuntu 9.04をインストールしていたHDD(40GB)が手狭に感じていたのですが、ちょっとした不具合が発生し、Ubuntuが起動しなくなってしまいました。どうしても必要なデータはバックアップしてありましたし、いろいろいじくりまくっていて「1からやり直すのは面倒だけどどうしようかなぁ…」と思っていたところだったので、思い切って別のHDD(その辺にあった80GB)に載せ換えることにしました。
#在庫を確認したら、80GBはあと2台ありました。(^_^;;;

CDからUbuntuを起動し、HDDへインストールした後、バックアップしてあったファイルをコピーして使える状態に戻す作業を始めました。JavaやWineの設定も簡単に完了(導入時よりもスムーズな気が…こっちのスキルアップが原因か?)し、プリンタもあっけないくらいに簡単にドライバがインストールされました。

そんな中、「フォントのインストールってどうするんだっけ?」というところでストップしてしまいました。フォントの設定ができるようなものが見当たらず、さてはどこかのフォルダに突っ込むんだろうと当たりをつけて、探して回りました。すると、「/usr/share/fonts/」というフォルダを見つけました。さっそくここへIPAフォントVer.3を解凍して入れました。

Ubuntuの日本語フォーラムでは、フォントキャッシュの初期化も必要であるようなことが書いてあったので、書かれていた通り「sudo fc-cache -f -v」してフォントキャッシュを初期化しました。すると、無事にIPAフォントが使えるようになりました。近々9.10が出るような噂を耳にしましたが、それまで9.04でがんばってみたいと思います。

2009年10月17日土曜日

コンピュータ制御の学習環境について(ちょっと整理)

これまでの研究の中で、コンピュータ制御の学習環境として使用を検討し、利用可能だったソフトウエア&ハードウエアをプラットフォームごとに整理してみます。
#ソフトウエアの下に何も書かれていないものは、ソフトウエアは動いたものの動作確認できたハードウエアがないということを表しています。

一見してわかる通り、ソフトウエアの動作確認ができたからと言って、接続したハードウエアがうまく動くとは限りません。比較的Windowsで動作がスムーズなのは、圧倒的なシェアによって、ほとんどのソフトウエア&ハードウエアが「Win対応」を標準としているからだと思います。となると、LinuxやMacはかなり分が悪いことになります。orz 自分でソースをいじったり、ハードを改造したりできるような技術があればよいのですが、そう簡単にはうまくいきませんね。

【追記】Linux版scratch_1.4.0.debian.12_i386.debでは、録音にも対応して頂いたようです。(2009.11.2)