MarsBoard全志A20的Android4.2.2系统的编译
大文实验室/大文哥
壹捌陆捌零陆捌捌陆捌贰
wb4916 AT qq.com
完成时间:2017/9/25 16:34
开发板:MarsBoard全志A20
SDK:MarsBoard-A20-android-4.2.2-SDK-V2.1.tar.gz
1、原始编译:
rootroot@rootroot-E400:~$ cd wyb/
rootroot@rootroot-E400:~/wyb$
rootroot@rootroot-E400:~/wyb$ tar zxvf MarsBoard-A20-android-4.2.2-SDK-V2.1.tar.gz
rootroot@rootroot-E400:~/wyb$
rootroot@rootroot-E400:~/wyb$ cd MarsBoard-A20-android-4.2.2-SDK-V2.1/
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$ ll
总用量 28
drwxr-xr-x 4 rootroot rootroot 4096 2月 6 2016 ./
drwx------ 5 rootroot rootroot 4096 9月 20 15:10 ../
drwxr-xr-x 25 rootroot rootroot 4096 2月 6 2016 android4.2/
drwxr-xr-x 10 rootroot rootroot 4096 8月 30 2014 lichee/
-rwxr--r-- 1 rootroot rootroot 1540 8月 22 2014 mkall.sh*
-rwxr--r-- 1 rootroot rootroot 980 8月 22 2014 mkandroid.sh*
-rw-r--r-- 1 rootroot rootroot 342 2月 6 2016 readme.txt
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$ cat mkall.sh
#!/bin/bash
echo -e ""
echo -e ""
echo -e "\033[41;33m**********************************\033[0m"
echo -e "\033[41;33m* MarsBoard Android Build Tools *\033[0m"
echo -e "\033[41;33m* MarsBoard-A20 Version *\033[0m"
echo -e "\033[41;33m**********************************\033[0m"
echo -e ""
echo -e ""
echo -e "\033[41;33m \033[0m"
echo -e "\033[41;33m Build Kernel \033[0m"
echo -e "\033[41;33m \033[0m"
echo -e ""
echo -e "\033[41;33mNow Clean Old Build.\033[0m"
sleep 1s
cd ./lichee/linux-3.3
cp marsboard_defconfig .config
make clean
echo -e ""
echo -e "\033[41;33mNow Build Kernel for Android.\033[0m"
sleep 3s
cd ../
./build.sh -p sun7i_android
echo -e ""
echo -e "\033[41;33m \033[0m"
echo -e "\033[41;33m Kernel Done \033[0m"
echo -e "\033[41;33m \033[0m"
echo -e ""
echo -e "\033[41;33m \033[0m"
echo -e "\033[41;33m Build Android \033[0m"
echo -e "\033[41;33m \033[0m"
echo -e ""
echo -e "\033[41;33mNow Clean Old Build.\033[0m"
sleep 1s
cd ../android4.2
make clean
echo -e "\033[41;33mNow Config Build ENV.\033[0m"
sleep 3s
source build/envsetup.sh
echo -e ""
echo -e "\033[41;33mNow Select Build Model.\033[0m"
sleep 3s
lunch wing_marsboard-eng
echo -e ""
echo -e "\033[41;33mNow Copy BSP.\033[0m"
extract_bsp
echo -e ""
echo -e "\033[41;33mNow Begin Make.\033[0m"
sleep 3s
make
echo -e ""
echo -e "\033[41;33mNow Pack to Image.\033[0m"
sleep 3s
pack
echo -e ""
echo -e ""
echo -e "\033[41;33mAll Done.\033[0m"
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$ cd lichee
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee$ ll
总用量 52
drwxr-xr-x 10 rootroot rootroot 4096 8月 30 2014 ./
drwxr-xr-x 4 rootroot rootroot 4096 2月 6 2016 ../
drwxr-xr-x 7 rootroot rootroot 4096 8月 29 2014 boot/
drwxr-xr-x 7 rootroot rootroot 4096 8月 29 2014 brandy/
drwxr-xr-x 14 rootroot rootroot 4096 8月 29 2014 buildroot/
-rwxr-xr-x 1 rootroot rootroot 55 8月 29 2014 build.sh*
drwxr-xr-x 2 rootroot rootroot 4096 8月 29 2014 .git/
-rw-r--r-- 1 rootroot rootroot 164 8月 29 2014 .gitignore
drwxr-xr-x 28 rootroot rootroot 4096 9月 20 15:39 linux-3.3/
drwxr-xr-x 3 rootroot rootroot 4096 8月 30 2014 out/
-rw-r--r-- 1 rootroot rootroot 178 8月 29 2014 README
drwxr-xr-x 5 rootroot rootroot 4096 8月 29 2014 tools/
drwxrwxr-x 21 rootroot rootroot 4096 9月 20 15:40 u-boot/
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee$ ./build.sh -p sun7i_android
erial/libtws.o drivers/usb/eth/libusb_eth.o drivers/usb/gadget/libusb_gadget.o drivers/usb/host/libusb_host.o drivers/usb/musb/libusb_musb.o drivers/usb/phy/libusb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o fs/cramfs/libcramfs.o fs/ext2/libext2fs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o nand_sunxi/libnand net/libnet.o post/libpost.o | sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`; cd /home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee/u-boot && arm-linux-gnueabi-ld -pie -T u-boot.lds -Bstatic -Ttext 0x4A000000 $UNDEF_SYM arch/arm/cpu/armv7/start.o --start-group api/libapi.o arch/arm/cpu/armv7/libarmv7.o arch/arm/cpu/armv7/sunxi/libsunxi.o arch/arm/lib/libarm.o common/libcommon.o disk/libdisk.o drivers/bios_emulator/libatibiosemu.o drivers/block/libblock.o drivers/dma/libdma.o drivers/fpga/libfpga.o drivers/gpio/libgpio.o drivers/hwmon/libhwmon.o drivers/i2c/libi2c.o drivers/input/libinput.o drivers/misc/libmisc.o drivers/mmc/libmmc.o drivers/mtd/libmtd.o drivers/mtd/nand/libnand.o drivers/mtd/onenand/libonenand.o drivers/mtd/spi/libspi_flash.o drivers/mtd/ubi/libubi.o drivers/net/libnet.o drivers/net/phy/libphy.o drivers/pci/libpci.o drivers/pcmcia/libpcmcia.o drivers/power/libpower.o drivers/rtc/librtc.o drivers/serial/libserial.o drivers/spi/libspi.o drivers/storage_type/libstorage_type.o drivers/twserial/libtws.o drivers/usb/eth/libusb_eth.o drivers/usb/gadget/libusb_gadget.o drivers/usb/host/libusb_host.o drivers/usb/musb/libusb_musb.o drivers/usb/phy/libusb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o fs/cramfs/libcramfs.o fs/ext2/libext2fs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o nand_sunxi/libnand net/libnet.o post/libpost.o board/allwinner/sun7i-evb/libsun7i-evb.o --end-group /home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee/u-boot/arch/arm/lib/eabi_compat.o -L /home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee/out/android/common/buildroot/external-toolchain/bin/../lib/gcc/arm-linux-gnueabi/4.6.3 -lgcc -L ./ -lsmdt -Map u-boot.map -o u-boot
arm-linux-gnueabi-objcopy -O srec u-boot u-boot.srec
arm-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
make[1]:正在离开目录 `/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee/u-boot'
INFO: build u-boot OK.
INFO: build rootfs ...
INFO: skip make rootfs for android
INFO: build rootfs OK.
INFO: build lichee OK.
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee$ cd ../
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1$ cd android4.2/
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$ source build/envsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/samsung/toroplus/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/softwinner/common/vendorsetup.sh
including device/softwinner/wing-k70/vendorsetup.sh
including device/softwinner/wing-marsboard/vendorsetup.sh
including device/softwinner/wing-mbox203/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_mips-eng
5. full_grouper-userdebug
6. full_tilapia-userdebug
7. mini_armv7a_neon-userdebug
8. mini_armv7a-userdebug
9. mini_mips-userdebug
10. mini_x86-userdebug
11. full_maguro-userdebug
12. full_manta-userdebug
13. full_toroplus-userdebug
14. full_toro-userdebug
15. wing_k70-eng
16. wing_marsboard-eng
17. wing_mbox203-eng
18. full_panda-userdebug
Which would you like? [full-eng] 16
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.2
TARGET_PRODUCT=wing_marsboard
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=JDQ39
OUT_DIR=out
============================================
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$ extract_bsp
/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/device/*/wing-marsboard/bImage copied!
/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/device/*/wing-marsboard/modules copied!
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$ make -j8
Copying: out/target/common/obj/APPS/LatinIME_intermediates/noproguard.classes.dex
target Package: LatinIME (out/target/product/wing-marsboard/obj/APPS/LatinIME_intermediates/package.apk)
注意:某些输入文件使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
注意:某些输入文件使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
warning: no entries written for drawable/wallpaper_picker_preview
adding: lib/ (stored 0%)
adding: lib/armeabi-v7a/ (stored 0%)
adding: lib/armeabi-v7a/libjni_latinime.so (deflated 44%)
'out/target/common/obj/APPS/LatinIME_intermediates/classes.dex' as 'classes.dex'...
'out/target/common/obj/APPS/Launcher2_intermediates/classes.dex' as 'classes.dex'...
Copying: out/target/common/obj/APPS/QuickSearchBox_intermediates/noproguard.classes.dex
target Package: QuickSearchBox (out/target/product/wing-marsboard/obj/APPS/QuickSearchBox_intermediates/package.apk)
Install: out/target/product/wing-marsboard/system/app/Launcher2.apk
Install: out/target/product/wing-marsboard/system/app/LatinIME.apk
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
'out/target/common/obj/APPS/QuickSearchBox_intermediates/classes.dex' as 'classes.dex'...
Copy: out/target/product/wing-marsboard/system/app/QuickSearchBox.apk
Copying: out/target/common/obj/APPS/Contacts_intermediates/noproguard.classes.dex
target Package: Contacts (out/target/product/wing-marsboard/obj/APPS/Contacts_intermediates/package.apk)
'out/target/common/obj/APPS/Contacts_intermediates/classes.dex' as 'classes.dex'...
Install: out/target/product/wing-marsboard/system/app/Contacts.apk
build/tools/generate-notice-files.py out/target/product/wing-marsboard/obj/NOTICE.txt out/target/product/wing-marsboard/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" out/target/product/wing-marsboard/obj/NOTICE_FILES/src
Combining NOTICE files into HTML
Combining NOTICE files into text
Installed file list: out/target/product/wing-marsboard/installed-files.txt
Target system fs image: out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img
Running: mkuserimg.sh -s out/target/product/wing-marsboard/system out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 536870912
+ echo 'in mkuserimg.sh PATH=out/host/linux-x86/bin/:/opt/jdk1.6.0_45/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/out/host/linux-x86/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/development/emulator/qtools:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/development/scripts:/home/rootroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk1.6.0_45/bin:/opt/jdk1.6.0_45/jre/bin:/home/rootroot/citybrand/toolchain/bin'
in mkuserimg.sh PATH=out/host/linux-x86/bin/:/opt/jdk1.6.0_45/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/out/host/linux-x86/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/development/emulator/qtools:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2/development/scripts:/home/rootroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk1.6.0_45/bin:/opt/jdk1.6.0_45/jre/bin:/home/rootroot/citybrand/toolchain/bin
+ ENABLE_SPARSE_IMAGE=
+ '[' -s = -s ']'
+ ENABLE_SPARSE_IMAGE=-s
+ shift
+ '[' 5 -ne 4 -a 5 -ne 5 -a 5 -ne 6 ']'
+ SRC_DIR=out/target/product/wing-marsboard/system
+ '[' '!' -d out/target/product/wing-marsboard/system ']'
+ OUTPUT_FILE=out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img
+ EXT_VARIANT=ext4
+ MOUNT_POINT=system
+ SIZE=536870912
+ FC=
+ case $EXT_VARIANT in
+ '[' -z system ']'
+ '[' -z 536870912 ']'
+ '[' -n '' ']'
+ MAKE_EXT4FS_CMD='make_ext4fs -s -l 536870912 -a system out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/wing-marsboard/system'
+ echo make_ext4fs -s -l 536870912 -a system out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/wing-marsboard/system
make_ext4fs -s -l 536870912 -a system out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/wing-marsboard/system
+ make_ext4fs -s -l 536870912 -a system out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/wing-marsboard/system
Creating filesystem with parameters:
Size: 536870912
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 2048
Label:
Blocks: 131072
Block groups: 4
Reserved block group size: 31
Created filesystem with 1465/32768 inodes and 110108/131072 blocks
+ '[' 0 -ne 0 ']'
Running: simg2img out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/unsparse_system.img
Running: e2fsck -f -n out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/unsparse_system.img
e2fsck 1.41.14 (22-Dec-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
out/target/product/wing-marsboard/obj/PACKAGING/systemimage_intermediates/unsparse_system.img: 1465/32768 files (0.0% non-contiguous), 110108/131072 blocks
Install system fs image: out/target/product/wing-marsboard/system.img
out/target/product/wing-marsboard/system.img+out/target/product/wing-marsboard/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=548110464 blocksize=4224 total=445050011 reserve=5537664
DroidDoc took 184 sec. to write docs to out/target/common/docs/doc-comment-check
19 警告
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$ pack
--------release version, donnot have uart printf-------------
INFO: Packing for android
>>> script_parse 0.9.1
>>> check sys_config line format
>>> done.
>>> check partition config
>>> done.
>>> script_parse 0.9.1
>>> check sys_config line format
>>> done.
>>> check mainkey unique
>>> done.
>>> check module rule
>>> not implement yet
"chips/sun7i/bin/boot0_nand_sun7i.bin" -> "out/boot0_nand.fex"
"chips/sun7i/bin/boot0_sdcard_sun7i.bin" -> "out/boot0_sdcard.fex"
"chips/sun7i/bin/fes1_sun7i.bin" -> "out/fes1.fex"
"chips/sun7i/bin/u-boot-sun7i.bin" -> "out/u-boot.fex"
script sys_config.fex [OK]
script sys_partition.fex [OK]
update_mbr sys_partition.bin 4 [OK]
update_boot0 boot0_nand.fex sys_config.bin NAND [OK]
update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD [OK]
update_uboot u-boot.fex sys_config.bin [Uncheck]
update_fes1 fes1.fex sys_config.bin [Uncheck]
disk : c
CopyRootToFS(/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee/tools/pack/out/boot-resource)
c:\bat
c:\magic.bin
find magic !!
RealLen=0x4B0C00
CPlugin Free lib
CPlugin Free lib
normal
dragon image.cfg sys_partition.fex [OK]
----------image is at----------
/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/lichee/tools/pack/sun7i_android_wing-marsboard.img
pack finish
/home/rootroot/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2
rootroot@rootroot-E400:~/wyb/MarsBoard-A20-android-4.2.2-SDK-V2.1/android4.2$