動かしてみた感想ですが、もっさりでした。
実用的ではないですけど、遊びとして試してみるのが良いと思います。
- 前提条件
- 2014年3月時点での手順です。
- ビルド環境は、以下の環境です。
- Lenovo U310 (CPU:Corei5、Mem:4GB)
- Windows8.1
- Ubuntu 12.04(64bit)のインストール
- 13.xx系ではダメ。12.04を使う必要があります。
- 32bitではダメ。64bit版を使う必要があります。
- 仮想マシンはVirtualBoxを利用しました。
- 仮想マシンを作成する際は、Ubuntu(64bit)を選択。64bitが選択できない場合、BIOSの設定を確認し、Virtualization technologyをenableに変更する。
- 仮想ディスクのサイズを100GBに設定。(デフォルトでは8GBとなっている。忘れずにサイズを変更しておく必要があり。)
- メモリは1500MBを割り当てました。
- SSHのインストール
- teratermなどを使ってSSH経由で作業をしたい場合のみ必要です。
- sudo apt-get install ssh
- start ssh
- 必要となるパッケージの追加
- 以下のコマンドを実行して、必要となるパッケージを追加します。
- sudo apt-get install minicom tftpd uboot-mkimage expect
- sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
- Java SE Development Kit 6のインストール
- 2014年3月現在、jdk1.7には対応していません。makeのチェックでエラーとなります。
- Oracleのサイトから、Linux x64のbin(jdk-6u45-linux-x64.bin)をダウンロードします。
- ダウンロードしたファイルをホーム(~/)にコピーして、以下のコマンドを実行します。
- chmod a+x jdk-6u45-linux-x64.bin
- ./jdk-6u45-linux-x64.bin
- export PATH="$HOME/jdk1.6.0_45/bin:$PATH"
- repoのインストール
- ソース一式を取得するため、repoをインストールします。
- 端末を起動し、以下のコマンドを実行します。
- mkdir ~/bin
- curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
- chmod a+x ~/bin/repo
- source .profile
- ソースのリポジトリ作成
- 以下のコマンドを実行して、ソースの取得先を作成します。
- mkdir ~/rowboat-android
- cd ~/rowboat-android
- repo init -u git://gitorious.org/rowboat/manifest.git -m rowboat-jb-am335x.xml
- 以下のコマンドを実行して、ソースを取得します。時間がかかります。
- repo sync
- ビルド
- 以下のコマンドを実行してtoolへのパスを設定します。
- export PATH=~/rowboat-android/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH
- 以下のコマンドを事項して、Boot Loaderをビルドします。
- cd ~/rowboat-android/u-boot
- make CROSS_COMPILE=arm-eabi- distclean
- make CROSS_COMPILE=arm-eabi- am335x_evm_config
- make CROSS_COMPILE=arm-eabi-
- 以下のコマンドを実行して、Androidをビルドします。すごく時間がかかります。
- cd ~/rowboat-android/
- make TARGET_PRODUCT=beagleboneblack OMAPES=4.x
- SDカードへのインストール
- 以下のコマンドを実行して、imageを作成します。
- mkdir ~/image_folder
- cp ~/rowboat-android/kernel/arch/arm/boot/uImage ~/image_folder
- cp ~/rowboat-android/u-boot/MLO ~/image_folder
- cp ~/rowboat-android/u-boot/u-boot.img ~/image_folder
- cp ~/rowboat-android/external/ti_android_utilities/am335x/u-boot-env/uEnv_beagleboneblack.txt ~/image_folder
- cp ~/rowboat-android/out/target/product/beagleboneblack/rootfs.tar.bz2 ~/image_folder
- cp ~/rowboat-android/external/ti_android_utilities/am335x/mk-mmc/mkmmc-android.sh ~/image_folder
- 以下のコマンドを実行して、ロケールを変更します。(必須)
- export LANG=C
- 以下のコマンドを実行して、SDカードのデバイス名を確認します。
- sudo fdisk -l
- 以下のコマンドを実行して、SDカードに書き込みます。(SDカードのデバイス名が/dev/sdbの場合)
- cd ~/image_folder
- sudo./mkmmc-android.sh /dev/sdb MLO u-boot.img uImage uEnv_beagleboneblack.txt rootfs.tar.bz2
- 正常に終了したら、以下のコマンドを実行してロケールを戻します。
- export LANG=ja_JP.UTF-8
初回起動時のみ5分程度かかりますが、2回目以降は1分程度で起動します。
起動中はAndroidのロゴが表示されるはずです。
つなぐTVによっては解像度が対応しておらず、画面が写らないかもしれません。
画面が写らなかったらTVを変えて試してみると良いとおもいます。