FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

「Zedroid - Android (5.0 and later) on Zedboard」をやってみる(4. Androidのビルド)

前回の続き。参考にしているのは以下の資料。

www.slideshare.net

今回はAndroidのビルドを行う。

Androidソースコードダウンロード

まずはAndroidソースコードをダウンロードして、Googleのrepoコマンドを使用してsyncする。

repo init -u https://github.com/noritsuna/zedroid_manifests -b zedroid-5.0.2_r1
repo sync
source ./build/envsetup.sh
lunch zedboard-userdebug

makeなのだが、OpenJDKのVersion 7をインストールしないと実行できない。UbuntuでOpenJDKをインストールする。

sudo add-apt-repository ppa:openjdk-r/ppa
sudo aptitude update
sudo aptitude install openjdk-7-jre

sudo update-alternatives --config javac
sudo update-alternatives --config java

Javaのバージョンを確認して、OpenJDKになっていればOK。

java -version

ビルドを通すためのリポジトリの変更

ビルド中にいくつか落ちたので(メモを取っておけばよかった)、それを直すためにいくつか修正を加えている。

mv prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8/x86_64-linux/bin/ld prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8/x86_64-linux/bin/ld.origin
ln -s /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8/x86_64-linux/bin/ld
mv prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld.origin
ln -s /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

さらに、build/core/clang/HOST_x86_common.mkにも修正を加えた。

--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
+  -B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
-no-integrated-as

これでmakeが通るようになる。といっても、手元のマシンでmakeが終了するのに約1時間かかった。大変な処理だ。

make

これでAndroidのイメージが出来上がる。最後にイメージファイルを作成する。

mkimage -A arm -O linux -T ramdisk -a 0x2000000 -n "Zedboard ramdisk" -d ./out/target/product/zedboard/ramdisk.img uramdisk.image.gz

過去の記事

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com