2013年4月7日日曜日

改造されたScratchをRaspberry Piで動かせず

Raspberry Piで自律型ロボットを簡単に作る実験をしています。今回は、これまで@abee2さんに改造して頂いた各種Scartchを動かす実験をしました。

まず、インストールされているScratchの状態を確認するところから始めました。Scratchの起動コマンドは、「/usr/bin/」の中にある「scratch」というシェルスクリプトです。これを「vi」で開く(「vi /usr/bin/scratch」でOkay)と、scratchの起動に必要な物がどこにあるかが記述されています。squeakvmは「/usr/lib/squeak/」の中に、Scratchのpluginsは「/usr/lib/scratch/」の中に、Scratch.imageやlocaleは「/usr/share/scratch/」の中にそれぞれあることが判明しました。これに従って、ミュウロボ用と2モータ用のScratchで実験を続けてみることにしました。

手始めに、一番簡単な日本語ロケールファイルの更新(@abee2さんに作って頂いた日本語ロケールファイルは、以前の記事にリンクあり)をしました。「/usr/share/scratch/locale/」以下にあるものに上書き(解凍したpoファイルを「sudo cp *.po /usr/share/scratch/locale/」でコピー)すればOkayです。

次に、ミュウロボ用のimageファイルとなのぼ〜どAG用のimageファイルを同様の手順(解凍したimageファイルを「sudo cp *.image /usr/share/scratch/」)で「/usr/share/scratch/」へコピーしました。その後、それぞれのlocaleフォルダ内のpoファイルもコピー(面倒なので、piユーザフォルダ内に解凍したフォルダを置いて「sudo cp */locale/*.po /usr/share/scratch/locale/」でコピーしました)して準備完了。

起動コマンドを作るために、scratchの起動コマンドがあった「/usr/bin/」へ移動し、scratchのシェルスクリプトからファイル名を変えて(今回は「scratchmotors」と「scratchmyu」の2つにしました)コピーを作り、中身の設定をすることにしました。しかし、「sudo vi …」で起動しても、うまく変更できなかったので、ダメ元でLeafpadでやってみることに。直接保存はできないものの簡単に開いて編集することが出来ました。
#編集したものをpiのユーザフォルダ(/home/pi/)に入れておいて、あとで「sudo cp …」すればOkay)

さて、ここから大きな壁にぶち当たります。当初は、シェルスクリプトのimageファイル名のところだけ変更すれば簡単に起動するだろうと思っていたのですが、何だかうまくいきません。真っ白い窓が開いてCPUフル稼働状態になり、マウスの動きも鈍くなる感じです。しばらく待つと窓が閉じて「out of memory」というメッセージと起動プロセスを示す大量のログが表示されて止まります。メモリーが足りないのかな?と思って新しく買った512MBの方でもやってみましたがダメ。今まで、KNOPPIXやPuppyで使っていた起動用シェルスクリプトをRaspberry Piの設定に合わせて書き換えてやってみてもダメ。同じ方法で、Scratch.imageだと問題なく起動するので、改造したものの個別の問題だろうと推察しました。
#もちろんですが、パーミッションの設定も確認しました。

というわけで、今回はうまく動かなかった報告になってしまいました。

【追記】成功したやり方については、2013年4月11日の記事をご覧ください。(2013.4.13)

0 件のコメント: