R58的编译步骤f1选项v1.1版本
2017/3/16 16:38
请严重注意:
编译全志R58的Android6.0.1的系统和其它系统有两个不同:
1、在执行pack打包之前,必须执行verity_data_init,否则f1选项编译的系统会打包失败!
2、在执行pack打包之前,必须编译uboot,否则系统起不来/没有显示。
3、octopus_perf-eng不是适配SC5806开发板的。
一、系统编译:
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig$ cat android_r58m_wyb_20170314split.tar.gza* > android.tar.gz
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig$ tar zxvf lichee_r58m_wyb_20170308.tar.gz
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig$ tar zxvf android.tar.gz
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig$ cd lichee/
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$ ./build.sh config
Welcome to mkscript setup progress
All available chips:
0. sun50iw1p1
1. sun8iw10p1
2. sun8iw1p1
3. sun8iw3p1
4. sun8iw5p1
5. sun8iw6p1
6. sun8iw7p1
7. sun8iw8p1
8. sun8iw9p1
9. sun9iw1p1
Choice: 5
All available platforms:
0. android
1. dragonboard
2. linux
3. camdroid
4. secureandroid
Choice: 0
All available kernel:
0. linux-3.10
1. linux-3.4
Choice: 1
All available boards:
0. eagle-p83
1. f1
2. fpga
3. perf1_v1_0
4. perf2_v1_0
5. perf3_v1_0
6. qc
Choice: 1
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$ ./build.sh
if [ -z /home/wwt/r58m_orig/lichee/linux-3.4/output/lib/modules/3.4.39 ]; then \
cp -u sgx544/android/kernel_mode/eurasia_km/eurasiacon/binary2_sunxi_android_release/target/pvrsrvkm.ko /kernel_mode/linux-3.4; \
fi
make:离开目录“/home/wwt/r58m_orig/lichee/linux-3.4/modules/gpu”
regenerate rootfs cpio
11281 块
12037 块
build_ramfs
Copy boot.img to output directory ...
Copy modules to target ...
sun8iw6p1 compile Kernel successful
INFO: build kernel OK.
INFO: build rootfs ...
INFO: skip make rootfs for android
INFO: build rootfs OK.
INFO: ----------------------------------------
INFO: build lichee OK.
INFO: ----------------------------------------
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$ cd ../android/
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ source build/envsetup.sh
including device/asus/deb/vendorsetup.sh
including device/asus/flo/vendorsetup.sh
including device/asus/fugu/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/htc/flounder/vendorsetup.sh
including device/lge/hammerhead/vendorsetup.sh
including device/moto/shamu/vendorsetup.sh
including device/softwinner/astar-d7/vendorsetup.sh
including device/softwinner/astar-h7/vendorsetup.sh
including device/softwinner/common/vendorsetup.sh
including device/softwinner/octopus-f1/vendorsetup.sh
including device/softwinner/octopus-perf/vendorsetup.sh
including device/softwinner/tulip-p1/vendorsetup.sh
including device/softwinner/tulip-p2/vendorsetup.sh
including sdk/bash_completion/adb.bash
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. aosp_deb-userdebug
8. aosp_flo-userdebug
9. full_fugu-userdebug
10. aosp_fugu-userdebug
11. mini_emulator_arm64-userdebug
12. m_e_arm-userdebug
13. mini_emulator_mips-userdebug
14. mini_emulator_x86_64-userdebug
15. mini_emulator_x86-userdebug
16. aosp_flounder-userdebug
17. aosp_hammerhead-userdebug
18. aosp_hammerhead_fp-userdebug
19. aosp_shamu-userdebug
20. astar_d7-eng
21. astar_d7-user
22. astar_h7-eng
23. astar_h7-user
24. octopus_f1-eng
25. octopus_f1-user
26. octopus_perf-eng
27. octopus_perf-user
28. tulip_p1-eng
29. tulip_p1-user
30. tulip_p2-eng
31. tulip_p2-user
Which would you like? [aosp_arm-eng] 24
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0.1
TARGET_PRODUCT=octopus_f1
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
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=MMB29M
OUT_DIR=out
============================================
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ extract-bsp
/home/wwt/r58m_orig/android/device/softwinner/octopus-f1/bImage copied!
/home/wwt/r58m_orig/android/device/softwinner/octopus-f1/modules copied!
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ make -j12
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ verity_data_init
请严重注意,这个时候打包没有显示的!^_^必须编译uboot。(这个步骤可以跳过!)
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ pack
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ cd ../lichee/brandy/
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee/brandy$
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee/brandy$ ./build.sh -p sun8iw6p1
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee/brandy$ cd -
/home/wwt/r58m_orig/android
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/android$ pack
二、内核的裁剪(可选):
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$ ./build.sh config
Welcome to mkscript setup progress
All available chips:
0. sun50iw1p1
1. sun8iw10p1
2. sun8iw1p1
3. sun8iw3p1
4. sun8iw5p1
5. sun8iw6p1
6. sun8iw7p1
7. sun8iw8p1
8. sun8iw9p1
9. sun9iw1p1
Choice: 5
All available platforms:
0. android
1. dragonboard
2. linux
3. camdroid
4. secureandroid
Choice: 0
All available kernel:
0. linux-3.10
1. linux-3.4
Choice: 1
All available boards:
0. eagle-p83
1. f1
2. fpga
3. perf1_v1_0
4. perf2_v1_0
5. perf3_v1_0
6. qc
Choice: 1
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee$
1、打印等级调整
rootroot@cm-System-Product-Name:/home/wwt/r58m_orig/lichee/linux-3.4$ make ARCH=arm menuconfig
General setup --->
(16) Kernel log buffer size (16 => 64KB, 17 => 128KB)
修改为:
(18) Kernel log buffer size (16 => 64KB, 17 => 128KB)
2、关闭Realtek的WIFI/BT。只使用AP6212等。(正基的模块,博通的芯片)
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
<M> Broadcom FullMAC wireless cards support
(/system/vendor/modules/fw_bcmdhd.bin) Firmware path
(/system/vendor/modules/nvram.txt) NVRAM path
(/system/vendor/modules/config.txt) Config path
Enable Chip Interface (SDIO bus interface support) --->
Interrupt type (Out-of-Band Interrupt) --->
<M> Realtek 8723B SDIO or SPI WiFi
<M> Realtek 8723BS_VQ0 WiFi
修改为:
< > Realtek 8723B SDIO or SPI WiFi
< > Realtek 8723BS_VQ0 WiFi
3、关闭SELinux安全选项,方便调试
Security options --->
[*] Security hooks for pathname based access control
(32768) Low address space for LSM to protect from user allocation
[*] NSA SELinux Support
[*] NSA SELinux boot parameter
(1) NSA SELinux boot parameter default value
[ ] NSA SELinux runtime disable
[*] NSA SELinux Development Support
[*] NSA SELinux AVC Statistics
(1) NSA SELinux checkreqprot default value
[ ] NSA SELinux maximum supported policy format version
修改为:
[ ] NSA SELinux Support
4、打开USB摄像头驱动/UVC
Device Drivers --->
<*> Multimedia support --->
[*] Video capture adapters --->
[*] V4L USB devices --->
--- V4L USB devices
< > USB Video Class (UVC)
修改为:
<M> USB Video Class (UVC)
[*] UVC input events device support