Android開発
x86を使ったクロス開発は、本家googleやいろいろなサイトで紹介されている。
そこをあえてARMでセルフ環境で開発してみよう!と言う無茶を承知でやってみよう!
PandaBoardにubuntu12.04を入れる。
ターミナルとファイルサーバとしてubuntu12.04マシン(母艦)を用意する。
母艦にはAndroidのgitのミラーがあるとする。
PandaBoardに必要なパッケージをインストールする。(googleのページを参照)
PandaBoardにキーボードやマウスunityなどを繋げるとメモリーを圧迫してしまうので、sshを入れてターミナル(母艦)から操作できるようにする。
$sudo get-apt install ssh
rootでのsshアクセスをデフォルトで許可しているので、禁止する。
いちいちパスワードを入れるのは面倒なので公開暗号を交換しておく。
$ssh-keygen -t rsa
$scp .ssh/id_rsa.pub pandaboardのIPアドレス:~/
$cat id_rsa.pub >> .ssh/authorized_keys
これをPandaBoardと母艦でそれぞれ行う。
PandaBoardにローカルのHDがないのでnfsで母艦のHDをネット経由でつなげる。
母艦
$sudo apt-get install nfs-kernel-server
/etc/exportsを編集しnfsでつなげるディレクトリを追加する。
/home/hogehoge PandaBoardのIPアドレス(rw,sync,no_subtree_check)
/usr/local/aops PandaBoardのIPアドレス(rw,sync,no_subtree_check)
nfsサーバを再起動する。
PandaBoard
$sudo apt-get install nfs-common
マウントポイントを作る
$mkdir aops
$mkdir android
nfsでマウントする。
$sudo mount -t nfs 母艦のIPアドレス:/home/hogehoge /home/hogehoge/android
$sudo mount -t nfs 母艦のIPアドレス:/usr/local/aops /home/hogehoge/aops
PandaBoardは電源とNICケーブルだけがつながっている状態となる。
PandaBoardと母艦に同じ名前hogehogeユーザーとしたほうが面倒が少ない。
これからは母艦のターミナルでコントロールする。
$ssh PandaBoardのIPアドレス
$cd android/ (これで母艦のhome dir が見えるはずである)
$mkdir -p arm/android
$cd arm/android
$repo init -u ~/aops/mirror/platform/mainfest -b master
$repo sync
ソースツリーを持ってくるが、母艦上ではサクッと終わるが、nfsでのやりとりが入るので効率があまりよくない。お茶でも飲んで一服。
aopsはクロス環境で作るのを前提に作られているので。armのセルフ環境で構築できるかどうか?
その前にOMAP4って64bitだったかな?32bitだったらGB以降はビルド出来ないんだよな~確か。
多分続かない・・・と思う。
ps. ホームディレクトリの日本語が嫌なので
$LANG=C xdg-user-dirs-gtk-update
で戻そう。