N800 の開発環境を Ubuntu linux 6.10日本語版(Mac OS X の仮想マシン上)にインストールした。
⇒ Maemo Platform Releases
⇒ Maemo 3.0 Tutorial
用語説明
- Maemo … N800 で動作する Linux ディストリビューションのこと、、、だと思う
- Hildon … N800 の UI
- bora … Maemo バージョン 3.x の名称
- scrathbox … クロス開発のための開発環境
- Xephyr … 仮想的な X11 のディスプレイ(PC上で画面をエミュレートするために使用)
インストール手順
- 用意しておくもの
maemo 3.0 ‘bora’ から次の2つのファイルをダウンロードしておきます。- maemo-scratchbox-install_3.1.sh
- maemo-sdk-install_3.1.sh
Xephyr をネット経由でインストールできない場合(Xephyr は unstable なため)
- xserver-xephyr_1.1.1-20_i386.deb(ここから)
- /etc/sysctl.conf に次の行を挿入、再起動
net.ipv4.ip_local_port_range=1024 65000
※私の環境ではポートがどうのこうのと怒られて scratchbox の実行ができなかったため - scratchbox のインストール
$ sudo ./maemo-scratchbox-install_3.0.sh -s /scratchbox -u ユーザ名- あとで scratchbox にユーザ登録をする場合(-u ユーザ名でインストールしなかった場合や追加ユーザ)
$ sudo /scratchbox/sbin/sbox_adduser ユーザ名 yes - /scratchbox/login で scratchbox にログインできるか確認する
グループ sbox へのユーザ登録がすぐに反映されないので一度ログアウトしてから再ログインをするといい
- あとで scratchbox にユーザ登録をする場合(-u ユーザ名でインストールしなかった場合や追加ユーザ)
- maemo-sdk のインストール
$ ./maemo-sdk-install_3.0.sh -y - Xephyr のインストール
ダウンロード済みの xserver-xephyr_1.1.1-20_i386.deb を UI でダブルクリック
インストールはこれで完了!
インストール補足
- 使用するディスク容量が結構大きいので、実際にはボリューム(仮想環境を使用しているので実際にはイメージファイル)を分けてインストールして /scratchbox にシンボリックリンクでリンクしました。このとき直接 /opt/scratchbox などにマウントするとインストールスクリプトが失敗する(ディレクトリが存在すると怒られる)ので、親のディレクトリ(/opt/scratchbox の場合は /opt)にマウントするようにします。
簡単な使い方
- Xephyr を起動
$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac
※ 入力が楽になるように sh スクリプトで書いておきましょう - scratchbox にログイン
$ sudo /scratchbox/sbin/sbox_ctl start ← インストール直後は必要ないが Linux を再起動したときなど必要
$ /scratchbox/login - ターゲットの切換え
[sbox-SDK_X86: ~] > sb-conf select SDK_ARMEL
[sbox-SDK_ARME: ~] > sb-conf select SDK_X86
※ sb-menu でも切換えができます - Maemo GUI の起動とアプリの起動(ターゲットは SDK_X86)
[sbox-SDK_X86: ~] > export DISPLAY=:2
[sbox-SDK_X86: ~] > af-sb-init.sh start
[sbox-SDK_X86: ~] > run-standalone.sh 実行ファイル
※ 環境変数 DISPLAY の設定(Xephyr のディスプレイに合わせる)はいちいちめんどうなので .bash_profile に追加しておきましょう