Difference between revisions of "Rock/Android Build"
(→Build the kernel) |
(→Generate the image) |
||
Line 71: | Line 71: | ||
./mkimage.sh ota | ./mkimage.sh ota | ||
you will get boot.img recovery.img system.img under rockdev/Image, and [[rock/update.img | update.img]] under rockdev | you will get boot.img recovery.img system.img under rockdev/Image, and [[rock/update.img | update.img]] under rockdev | ||
+ | generate the image for sdcard(optional) | ||
+ | |||
+ | cd rockdev && ./mksdimge.sh | ||
+ | |||
+ | android_xx-xx-x_sdcard.img is the generated image for sd card. | ||
=== Flash the image === | === Flash the image === |
Revision as of 12:36, 18 December 2014
Contents
Before start
Building AOSP(Android Open Source Project) for radxa rock is a huge task, it takes a lot of time and disk space. You can read the detail requirement of the machine on AOSP requirement page. The recommend building OS is Ubuntu 12.04 64bit. It takes about 35 minutes and 30G disk space on a intel 4770 processor(i7, quad core, 3.4Ghz) machine with 16G ram and SSD.
Initializing a Build Environment
- Refer instructions from Google. Below is what we tested and set up the environment.
Install JDK
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java6-installer
Install required packages - ubuntu 12.04
sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ g++-multilib mingw32 tofrodos gcc-multilib ia32-libs\ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
Install required packages - ubuntu 13.10 and 14.04
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev\ libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl\ libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils\ xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev\ lib32readline-gplv2-dev gcc-multilib libswitch-perl
Install ARM toolchain and building kernel related pacakges
sudo apt-get install gcc-arm-linux-gnueabihf sudo apt-get install lzop libncurses5-dev export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf-
Install libraries for other tools
sudo apt-get install libssl1.0.0 libssl-dev
Get the source code
Git clone from the linux-rockchip mirror servers. (git.jp.linux-rockchip.org is located at Japan)
For android 4.2.2 Jelly Bean
git clone -b radxa/radxa-dev git://git.jp.linux-rockchip.org/rk3188_r-box_android4.2.2_sdk.git
For android 4.4.2 KitKat
Download here radxa_rock_android4.4_20141212.tgz or download from Baidu Yun http://pan.baidu.com/s/1hqorKva (China)
Build the kernel
export ARCH=arm cd kernel make rk3188_radxa_rock_defconfig #Use this config If you build the android 4.2 JB image for radxa rock make rk3188_radxa_rock_kitkat_defconfig #Use this config If you build the android 4.4 KK image for radxa rock make rk3188_box_radxa_rock_pro_hdmi_defconfig #Use this config if you build the android 4.4 KK image for radxa rock pro make rk3188_box_radxa_rock_lite_hdmi_defconfig #Use this config if you build the android 4.4 KK image for radxa rock lite make kernel.img #kernel.img is the normal kernel image with rockchip crc cd ..
note: if you want to build android sdcard image for rock pro, you need to run make menuconfig and go to Device Drivers ---> MMC/SD/SDIO card support, and disable RK29 SDMMC0 controller support(sdmmc), for rock lite the sdmmc0 driver is already disabled in defconfig.
Build android source code
source build/envsetup.sh lunch rk31sdk-eng #Launch this config if you build android 4.2 JB for radxa rock lunch radxa_rock-eng #Launch this config if you build android 4.4.2 KK for radxa rock lunch radxa_rock_pro-eng #Launch this config if you build android 4.4.2 KK for radxa rock pro lunch radxa_rock_lite-eng #Launch this config if you build android 4.4.2 KK for radxa rock lite make -j8
Generate the image
./mkimage.sh ota
you will get boot.img recovery.img system.img under rockdev/Image, and update.img under rockdev generate the image for sdcard(optional)
cd rockdev && ./mksdimge.sh
android_xx-xx-x_sdcard.img is the generated image for sd card.
Flash the image
Next, follow the rock/flash the image to flash the image you just build.