Debian on MacBook環境でMac OS Xをバージョンアップする。

ハマったのでメモ。Snow Leopardにバージョンアップしようとすると「このディスクは起動できないのでMac OS Xをインストールできません」という表示がでた。原因はrEFIt。デュアルブートでMac OS Xをインストールしてあるが、OS Xのパーティションはディスクユーティリティなどからは見える。マウントもできるのに、インストールできないという状態。結局Mac OS Xのボリュームを初期化して、そこにSnow Leopardをインストールした。ボリュームの消去を行うと、それまでディスクユーティリティから見えなかった、EFI用の120MB程度のパーティションが表示され、OS Xをインストールできたので、rEFItで行ったgptsyncあたりが原因じゃないかと。 DVD-ROMブートの場合はOS Xがクリーンインストールされるが、Debian使っている人には特に問題ないよね。インストール後、OS Xで再度起動させ、rEFItをインストールし、再起動すると、rEFItのメニューで、ちゃんとLinuxを選択できる。rEFItインストール直後はそのまま再起動してDebianを起動させようとすると、GRUB2がブートしないかも。一度、shutdownしてから起動させた方が良いかも。 1

1

原因不明。

CouchDB on Androidのアップデートは差分更新。

昨日、一昨日と二日連続でCouchDB on Androidがアップデートされたので、早速アップデートしてみた。一昨日のアップデートでは、Futonにアクセスするのに、”http://127.0.0.1:5984/_utils/”ではアクセスできず、”http://127.0.0.1:5984/_utils/index.html”にしないといけない、というバグがあったが、別のinstall/updateがハングアップするバグと一緒に、昨日のアップデートで修正されたようだ。

それよりも肝心なのはアップデートの方法。ランチャー自体は、Android Marketからのアップデートで良いのだが、ランチャーがアップデートされると先日のbinary updateと同じが起動する。17MB超もあるファイルを全てアップデートされるとたまったものではないが、これはちゃんと更新されたファイルだけがアップデートされた。一昨日は700ファイル超程度で10分くらい、昨日は10弱程度で、ほぼ一瞬(数秒)で済んだ。まるまるバイナリになっているのではなく、BEAMファイルやjsファイルなどが全てSDカードにインストールされているCouchDB on Androidならではのアップデート方法ですな。すばらしい。

2.6.35でもまだダメだった。

ビルドする前から分かっていた のだが、一応試してみた。やっぱりまだnosmp or maxcpus=1を指定しないとブートしてくれないな、MacBook 5,2。また、2.6.35だと、 2.6.33以降用のpatchではbrodcom-staデバイスドライバ のビルドができんようだ。

CouchDB for Androidキタコレ。

金曜日にAndroid用の CouchDB(Developer Alpha) がリリースされているのに気づき、通勤中にインストールしたので、Twitterでつぶやいていたのをちょいとまとめておいた。

特徴

  • CoudhDB for Androidは、2.1以降のみをサポート。 1

  • Dalvik VM用にJava版のCouchDBを再開発した、のではなくて、ARM用のErlangを用意して、そこでErlangでコーディングされているCouchDBをAndroid上で動かしている。全部ソースコード見たわけでは無いけれど、CouchDB自体はあまり手を加えていないんじゃないかなと。

インストール

  • apkはAndroid Marketからインストールできる。

  • Android Marketからインストールするパッケージは、 あくまでErlang環境とCouchDBをSDメモリにインストールするためのランチャー 。これは90KB程度なのですぐインストールできる。

  • ランチャーを起動するとbinary updateがまず実行される。binary updateには、要3G or WiFi環境。そしてインストールすると約18MB弱必要なので空きメモリは十分に確保しておくこと。 2

  • binary update直後は、ダウンロードファイル約1600, パッケージサイズ17.36MB。

  • binary update途中にネットワーク切れるとアップデートやり直し。ただし、ダウンロード済みのファイルはキャッシュされているので、全部最初からダウンロードするわけではないけど。

  • binary updateで実際に インストールするパッケージはAmazon S3に置かれてる

  • Binary Updateでダウンロードするファイルは、http://couchdb-android.s3.amazonaws.com/ のXMLのソースを表示して、<Key>タグの値をこのURIに付ければ、直ダウンロードできる。

CouchDBの起動

  • ダウンロードとパッケージの展開が終わると、Start CouchDB, Stop CouchDB のボタンだけが表示されるシンプルな画面。メニューとか一切なし。

  • タスクバーに表示されるCouchDBのアイコンをクリックすると、ブラウザでFutonにアクセスできる。

  • Futon見ると、replicator があるので、これが使えるか否かが肝心ですな。

  • Futonを使うには、milestoneを横にするべき。

  • でもAndroidの標準ブラウザだとCouchDBの返すJSONは読めない…。orz

という感じ。レプリケーションとサーバサイドJavaScriptがちゃんと動けば、以前から言われていた”CouchDB on Android ←→ CouchDB on Server/Cloud”が実現でき、オフラインでアプリを使えて、オンラインになったときに同期する、というのがCouchDBだけでできるようになってしまう訳ですな。レプリケーション含め、ちゃんとした検証は明日、というか日付は今日以降やる予定。 3

8/3追記

CouchDB for Androidというタイトルでブログを書いたけれど、 開発元のCouchioによると、正式名称はCouchDB on Android でした。意味通じるからまぁいいか。

1

これは Githubのランチャーのコード 見ると分かる

2

途中milestoneの空きメモリ足りなくなって合計20MBほどのアプリ削除した。

3

やっぱり土日はやってる時間無いなぁ…。

Boogie Board購入。

秋葉原のSOUTHTOWN 437では、入荷情報が入っても電話予約できないのでなかなか手に入れにくい状態だったのだが、 e-TRENDで購入できる という情報を入手したのでそっちで購入。 1

使い勝手はとても良いので、アイデア出しで重宝。必要に応じてmilestoneで写真撮っている。蛍光灯の反射するのが若干不便だが、まぁ何とかなる。写真は会社に持っていく前に家でヨメが描いたデブこまめの絵。こまちゃん、可哀想に…。

../../../_images/20100727223503.jpg
1

e-TRENDも今は売り切れの様子。