Wandboard開發板:Android Lollipop (Android 5.0)編譯

Android 5.0編譯無法使用之前原廠提供的VM來進行,必須重新安裝Ubuntu 14.04以及安裝開發環境,相關資訊請參考Android Open Source官網資訊:

https://source.android.com/source/initializing.html

下面是開發環境安裝的步驟:

sudo apt-get update

sudo apt-get install openjdk-7-jdk

sudo update-alternatives –config java

sudo update-alternatives –config javac

sudo apt-get install gcc-multilib g++ g++-4.8-multilib

sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip

sudo apt-get install lzop u-boot-tools

原始碼的部份,請參考先前的文章從開發板官網取得;解壓縮與編譯的部份,請參考以下步驟:

tar xvf wandboard_lp-5.0.0_fullsource_20150422.tar.xz

cd wandboard_lp-5.0.0_fullsource_20150422/

source build/envsetup.sh

lunch wandboard-userdebug

make -j4

將結果安裝到MicroSD卡的步驟目前還有點問題,請參考開發板原廠的論壇討論:

http://forums.wandboard.org/viewtopic.php?f=11&t=914

以下是參考步驟:

sudo mkdir /media/one;

sudo fdisk -l

sudo umount /dev/sdb*

sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1

sudo device/wand/wandboard/wand_fsl_sdcard-part.sh /dev/sdb

sudo dd if=out/target/product/wandboard/SPL of=/dev/sdb bs=1k seek=1;

sudo sync;

sudo mount -t vfat /dev/sdb1 /media/one;

sudo mkdir -p /media/one/boot;

sudo cp out/target/product/wandboard/u-boot.img /media/one/boot/;

sudo sync

sudo cp out/target/product/wandboard/kernel /media/one/boot/zImage;

sudo sync;

sudo cp out/target/product/wandboard/imx6q-wandboard.dtb /media/one/boot/;

sudo sync;

sudo cp device/wand/wandboard/uenv/uEnv.txt /media/one/boot/;

sudo sync;

sudo cp -rf device/wand/wandboard/logo /media/one/;

sudo sync;

mkimage -A arm -O linux -T ramdisk -C none -a 0x10800800 -n “Android Root Filesystem" -d out/target/product/wandboard/ramdisk.img out/target/product/wandboard/uramdisk.img

sudo cp out/target/product/wandboard/uramdisk.img /media/one/boot/;

sudo sync;

sudo dd if=out/target/product/wandboard/system.img of=/dev/sdb5;

sudo sync;

sudo umount /dev/sdb*;

sudo resize2fs /dev/sdb5 760M;

sudo sync;

sudo rm -rf /media/one;

若照上面步驟做出來的MicroSD卡是可以開到U-BOOT,但要開進Kernel與Android在U-BOOT命令列下要做以下幾個步驟:

setenv fdt_file boot/imx6q-wandboard.dtb

saveenv

bootd

上述部份的編譯筆記可從此處下載。順帶一提的是Android 5的原碼分析書籍(簡體中文)已經出版:

150612

有興趣朋友請自行參閱,也可以搭配Wandboard Android Lollipop Source Code進行程式碼的分析與修改驗證。目前看起來Android的主要架構並沒有太大的變動(除了JVM外),跟著我們一路從Android 4.2走過來的朋友要瞭解Android 5應該不會碰到太大的困難;後續規劃有幾篇文章來概略分享該書的內容,讓大家能跟上新版本的進展。

發表留言