MSD6A801 android4.2.1 full_mstarkaisers_dvbt-userdebug编译平台搭建-编译-OTA升级
2014-03-28 15:42
281 查看
编译服务器原有Amlogic 8726mx编译,现接入MStar6a801编译
toolchain必须各家用各家的
msd工程存放路径如下:
程序总共涉及4部分:
boot: Mboot_STB_Kaiser
kernel: KERN-3.1.10.config_kaiser_SMP_android_emmc
android: jb_4.2
TV: Supernova
另外:
images是./releaseimage.sh临时产生的目录,供tftp 100M网线升级使用
toolchain是自己创建的目录,用以存放该平台的交叉编译工具链
envinstall.sh也是自己创建的脚本用以配置toolchain在每次终端中生效,编译之前先配置一下环境source envinstall.sh或. envinstall.sh,这样就避免多平台同编译服务器上冲突的问题:
envinstall.sh如下:
公共部分,只把jdk放到/usr/bin/jdk,在/etc/profile中配置全局的jdk到PATH
Amlogic平台的toolchain配置也类似放在他专属的工程目录中
这一点回想起AllWinner做得很好,工程带toolchain一起
MSD6A801编译记录
编Mboot
cd MBoot_STB_Kaiser/sboot/
cp .config.kaiser.android.170a_SZ.emmc .config
make menuconfig
make clean
make
输出文件:[MBoot_STB_Kaiser/sboot/bin/mboot_signed.bin]
cd -
cp MBoot_STB_Kaiser/sboot/bin/mboot_signed.bin images/jb_4.2/mstarkaisers_dvbt/ //第一次编译代码时,目标目录必须等编完android后运行./releaseimage.sh才会出现
编Kernel
cd KERN-3.1.10.config_kaiser_SMP_android_emmc/3.1.10/
./genlink.sh
cp .config_kaiser_SMP_android_emmc .config
make
输出文件:[KERN-3.1.10.config_kaiser_SMP_android_emmc/3.1.10/arch/arm/boot/zImage]
cd -
cp KERN-3.1.10.config_kaiser_SMP_android_emmc/3.1.10/arch/arm/boot/zImage jb_4.2/device/mstar/mstarkaiser_stb/kernel
编译android
cd jb_4.2/
. env.sh
lunch 13 //full_mstarkaisers_dvbt-userdebug
make
./releaseimage.sh
cd -
编Supernova
cd Supernova/projects/
. buildsettings/build_K3S_187A_TVOS.sh
make rebuild_all
make image_all
cd -
cp Supernova/target/dvb_box.k3s/images/ext4/*.img images/jb_4.2/mstarkaisers_dvbt/
android中只打包内核镜像boot.img
make bootimage
[Target boot image: out/target/product/mstarkaisers_dvbt/boot.img]
images/jb_4.2/mstarkaisers_dvbt/ 供tftp升级系统
进入boot命令行
mstar //按auto_update.txt升级,当然也可以自定义txt
mstar scripts/[[mboot_signed //比如我这里只升级mboot,这样也可以
***ota升级文件
make otapackage
ota包拷贝到u盘之前改一下名字
mv jb_4.2/out/target/product/mstarkaisers_dvbt/full_mstarkaisers_dvbt-ota-V01.00.00.zip jb_4.2out/target/product/mstarkaisers_dvbt/update_signed.zip
第一次make不能带-j参数 //MStar第一次make不能-j,以下就是-j的下场(段错误),只要第一次make成功过后就可以make -j了
target Executable: uim-sysfs (out/target/product/mstarkaiser_stb/obj/EXECUTABLES/uim-sysfs_intermediates/LINKED/uim-sysfs)
target Strip: vfp-crasher (out/target/product/mstarkaiser_stb/obj/EXECUTABLES/vfp-crasher_intermediates/vfp-crasher)
target SharedLib: libdvm_assert (out/target/product/mstarkaiser_stb/obj/SHARED_LIBRARIES/libdvm_assert_intermediates/LINKED/libdvm_assert.so)
target SharedLib: libdvm_interp (out/target/product/mstarkaiser_stb/obj/SHARED_LIBRARIES/libdvm_interp_intermediates/LINKED/libdvm_interp.so)
target SharedLib: libdvm_sv (out/target/product/mstarkaiser_stb/obj/SHARED_LIBRARIES/libdvm_sv_intermediates/LINKED/libdvm_sv.so)
段错误
build01@build-pc:~/msd/6a801/jb_4.2$ Image Name: MStar-linux(recovery)
Created: Thu Mar 27 16:41:15 2014
Image Type: ARM Linux Multi-File Image (uncompressed)
Data Size: 6525542 Bytes = 6372.60 kB = 6.22 MB
Load Address: 20208000
Entry Point: 20208000
Contents:
Image 0: 3785336 Bytes = 3696.62 kB = 3.61 MB
Image 1: 2740194 Bytes = 2675.97 kB = 2.61 MB
注意:某些输入文件使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
注意:某些输入文件使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
4 警告
build01@build-pc:~/msd/6a801/jb_4.2$
android make不会主动替换更新的内核镜像,类似问题需要修改镜像文件时间戳
touch 拷贝到android目录中的镜像文件名,eg:touch device/mstar/mstarkaiser_stb/kernel
toolchain必须各家用各家的
msd工程存放路径如下:
程序总共涉及4部分:
boot: Mboot_STB_Kaiser
kernel: KERN-3.1.10.config_kaiser_SMP_android_emmc
android: jb_4.2
TV: Supernova
另外:
images是./releaseimage.sh临时产生的目录,供tftp 100M网线升级使用
toolchain是自己创建的目录,用以存放该平台的交叉编译工具链
envinstall.sh也是自己创建的脚本用以配置toolchain在每次终端中生效,编译之前先配置一下环境source envinstall.sh或. envinstall.sh,这样就避免多平台同编译服务器上冲突的问题:
envinstall.sh如下:
#!/bin/bash #BASE_PATH=/usr/lib/jdk/jdk1.6.0_45/bin:/usr/lib/jdk/jdk1.6.0_45/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games BASE_PATH=$PATH echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" echo "Script by kll." echo "基础环境如下:" echo $BASE_PATH echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" echo "新增MStar交叉编译环境如下:" #export PATH=/opt/msd/arm-2010.09/bin:$PATH #export PATH=/opt/msd/arm-2011.03/bin:$PATH export PATH=$PWD/toolchain/arm-2010.09/bin:$PATH export PATH=$PWD/toolchain/arm-2011.03/bin:$PATH echo $PATH echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
公共部分,只把jdk放到/usr/bin/jdk,在/etc/profile中配置全局的jdk到PATH
Amlogic平台的toolchain配置也类似放在他专属的工程目录中
这一点回想起AllWinner做得很好,工程带toolchain一起
MSD6A801编译记录
编Mboot
cd MBoot_STB_Kaiser/sboot/
cp .config.kaiser.android.170a_SZ.emmc .config
make menuconfig
make clean
make
输出文件:[MBoot_STB_Kaiser/sboot/bin/mboot_signed.bin]
cd -
cp MBoot_STB_Kaiser/sboot/bin/mboot_signed.bin images/jb_4.2/mstarkaisers_dvbt/ //第一次编译代码时,目标目录必须等编完android后运行./releaseimage.sh才会出现
编Kernel
cd KERN-3.1.10.config_kaiser_SMP_android_emmc/3.1.10/
./genlink.sh
cp .config_kaiser_SMP_android_emmc .config
make
输出文件:[KERN-3.1.10.config_kaiser_SMP_android_emmc/3.1.10/arch/arm/boot/zImage]
cd -
cp KERN-3.1.10.config_kaiser_SMP_android_emmc/3.1.10/arch/arm/boot/zImage jb_4.2/device/mstar/mstarkaiser_stb/kernel
编译android
cd jb_4.2/
. env.sh
lunch 13 //full_mstarkaisers_dvbt-userdebug
make
./releaseimage.sh
cd -
编Supernova
cd Supernova/projects/
. buildsettings/build_K3S_187A_TVOS.sh
make rebuild_all
make image_all
cd -
cp Supernova/target/dvb_box.k3s/images/ext4/*.img images/jb_4.2/mstarkaisers_dvbt/
android中只打包内核镜像boot.img
make bootimage
[Target boot image: out/target/product/mstarkaisers_dvbt/boot.img]
images/jb_4.2/mstarkaisers_dvbt/ 供tftp升级系统
进入boot命令行
mstar //按auto_update.txt升级,当然也可以自定义txt
mstar scripts/[[mboot_signed //比如我这里只升级mboot,这样也可以
***ota升级文件
make otapackage
ota包拷贝到u盘之前改一下名字
mv jb_4.2/out/target/product/mstarkaisers_dvbt/full_mstarkaisers_dvbt-ota-V01.00.00.zip jb_4.2out/target/product/mstarkaisers_dvbt/update_signed.zip
第一次make不能带-j参数 //MStar第一次make不能-j,以下就是-j的下场(段错误),只要第一次make成功过后就可以make -j了
target Executable: uim-sysfs (out/target/product/mstarkaiser_stb/obj/EXECUTABLES/uim-sysfs_intermediates/LINKED/uim-sysfs)
target Strip: vfp-crasher (out/target/product/mstarkaiser_stb/obj/EXECUTABLES/vfp-crasher_intermediates/vfp-crasher)
target SharedLib: libdvm_assert (out/target/product/mstarkaiser_stb/obj/SHARED_LIBRARIES/libdvm_assert_intermediates/LINKED/libdvm_assert.so)
target SharedLib: libdvm_interp (out/target/product/mstarkaiser_stb/obj/SHARED_LIBRARIES/libdvm_interp_intermediates/LINKED/libdvm_interp.so)
target SharedLib: libdvm_sv (out/target/product/mstarkaiser_stb/obj/SHARED_LIBRARIES/libdvm_sv_intermediates/LINKED/libdvm_sv.so)
段错误
build01@build-pc:~/msd/6a801/jb_4.2$ Image Name: MStar-linux(recovery)
Created: Thu Mar 27 16:41:15 2014
Image Type: ARM Linux Multi-File Image (uncompressed)
Data Size: 6525542 Bytes = 6372.60 kB = 6.22 MB
Load Address: 20208000
Entry Point: 20208000
Contents:
Image 0: 3785336 Bytes = 3696.62 kB = 3.61 MB
Image 1: 2740194 Bytes = 2675.97 kB = 2.61 MB
注意:某些输入文件使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
注意:某些输入文件使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
4 警告
build01@build-pc:~/msd/6a801/jb_4.2$
android make不会主动替换更新的内核镜像,类似问题需要修改镜像文件时间戳
touch 拷贝到android目录中的镜像文件名,eg:touch device/mstar/mstarkaiser_stb/kernel
相关文章推荐
- 建立6410平台android开发包编译环境 && eng和user的编译模式
- Cocos2dx3.10在Windows平台搭建Android命令行编译apk打包
- Android OTA 升级之一:编译升级包
- Android OTA 升级(一): 编译升级包
- android 编译OTA升级包介绍
- Android OTA 升级之一:编译升级包
- Android OTA升级(1):编译升级全包
- Android OTA 升级(一): 编译升级包
- Android OTA升级(1):编译升级全包
- android classes-full-debug.jar 错误 编译
- J2EE和android集成开发平台搭建、eclipse升级安装插件
- Android编译版本eng、user和userdebug的区别:
- 全志A20平台--OTA升级平台搭建笔记
- Android+OTA+升级之一:编译升级包---make+otapackage
- Android OTA在线升级二(升级包编译原理分析) .
- android编译时没有规则可以创建“out/target/common/obj/APPS/CalculatorTests_intermediates/classes-full-debug.jar”问
- Ubuntu上搭建android BSP的开发编译环境 && 设置定时编译任务 && ubuntu从10.04升级到12.04后编译出错
- Android OTA 升级(一): 编译升级包
- Android OTA升级(1):编译升级全包