itop4412 uboot 学习详细记录三丶Exynos4412 编译脚本build_uboot.sh分析)
2017-12-06 14:44
507 查看
#!/bin/sh
option1="tc4_ubuntu" //编译选项
sec_path="../CodeSign4SecureBoot/" //安全文件目录名
CPU_JOB_NUM=$(grep processor /proc/cpuinfo | awk '{field=$NF};END{print field+1}') //cpu核心数
ROOT_DIR=$(pwd) //编译环境根目录
CUR_DIR=${ROOT_DIR##*/} //当前目录
case "$1" in //判断传进来的参数1
clean)
//如果是clean
echo make clean
make mrproper //执行清理
;;
*) //如果不是clean
if [ ! -d $sec_path ] //如果安全目录名不是一个目录
then
echo "**********************************************"
echo "[ERR]please get the CodeSign4SecureBoot first"
echo "**********************************************"
return
fi
#make itop_4412_android_config //该行已注释掉
if [ -z $1 ]
//参数1如果长度为0,即如果没有参数1
then
make itop_4412_android_config
elif [ $1 = $option1 ] //如果参数1是tc4_ubuntu
then
make itop_4412_android_ubuntu_config
else
make itop_4412_android_config
fi
make -j$CPU_JOB_NUM
if [ ! -f checksum_bl2_14k.bin ] //如果checksum_bl2_14k.bin不是一个普通文件
then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "There are some error(s) while building uboot, please use command make to check."
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
exit 0
fi
cp -rf checksum_bl2_14k.bin $sec_path //将checksum_bl2_14k.bin复制到安全目录
cp -rf u-boot.bin $sec_path //将生成的uboot.bin复制到安全目录
rm checksum_bl2_14k.bin //删除checksum_bl2_14k.bin
cd $sec_path //进入安全目录
#./codesigner_v21 -v2.1 checksum_bl2_14k.bin BL2.bin.signed.4412 Exynos4412_V21.prv -STAGE2 //该行已注释
# gernerate the uboot bin file support trust zone
cat E4412.S.BL1.SSCR.EVT1.1.bin E4412.BL2.TZ.SSCR.EVT1.1.bin all00_padding.bin u-boot.bin E4412.TZ.SSCR.EVT1.1.bin > u-boot-iTOP-4412.bin
mv u-boot-iTOP-4412.bin $ROOT_DIR //将u-boot-iTOP-4412.bin移动到编译根目录
rm checksum_bl2_14k.bin //删除checksum_bl2_14k.bin
#rm BL2.bin.signed.4412
//该行已注释掉
rm u-boot.bin
//删除u-boot.bin
echo
echo
;;
esac
option1="tc4_ubuntu" //编译选项
sec_path="../CodeSign4SecureBoot/" //安全文件目录名
CPU_JOB_NUM=$(grep processor /proc/cpuinfo | awk '{field=$NF};END{print field+1}') //cpu核心数
ROOT_DIR=$(pwd) //编译环境根目录
CUR_DIR=${ROOT_DIR##*/} //当前目录
case "$1" in //判断传进来的参数1
clean)
//如果是clean
echo make clean
make mrproper //执行清理
;;
*) //如果不是clean
if [ ! -d $sec_path ] //如果安全目录名不是一个目录
then
echo "**********************************************"
echo "[ERR]please get the CodeSign4SecureBoot first"
echo "**********************************************"
return
fi
#make itop_4412_android_config //该行已注释掉
if [ -z $1 ]
//参数1如果长度为0,即如果没有参数1
then
make itop_4412_android_config
elif [ $1 = $option1 ] //如果参数1是tc4_ubuntu
then
make itop_4412_android_ubuntu_config
else
make itop_4412_android_config
fi
make -j$CPU_JOB_NUM
if [ ! -f checksum_bl2_14k.bin ] //如果checksum_bl2_14k.bin不是一个普通文件
then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "There are some error(s) while building uboot, please use command make to check."
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
exit 0
fi
cp -rf checksum_bl2_14k.bin $sec_path //将checksum_bl2_14k.bin复制到安全目录
cp -rf u-boot.bin $sec_path //将生成的uboot.bin复制到安全目录
rm checksum_bl2_14k.bin //删除checksum_bl2_14k.bin
cd $sec_path //进入安全目录
#./codesigner_v21 -v2.1 checksum_bl2_14k.bin BL2.bin.signed.4412 Exynos4412_V21.prv -STAGE2 //该行已注释
# gernerate the uboot bin file support trust zone
cat E4412.S.BL1.SSCR.EVT1.1.bin E4412.BL2.TZ.SSCR.EVT1.1.bin all00_padding.bin u-boot.bin E4412.TZ.SSCR.EVT1.1.bin > u-boot-iTOP-4412.bin
mv u-boot-iTOP-4412.bin $ROOT_DIR //将u-boot-iTOP-4412.bin移动到编译根目录
rm checksum_bl2_14k.bin //删除checksum_bl2_14k.bin
#rm BL2.bin.signed.4412
//该行已注释掉
rm u-boot.bin
//删除u-boot.bin
echo
echo
;;
esac
相关文章推荐
- itop4412 uboot 学习详细记录四丶Exynos4412 编译Makefile的配置文件config.mk分析)
- itop4412 uboot 学习详细记录(二丶Exynos4412 uboot的组成)
- itop4412 uboot 学习详细记录(一丶Exynos4412 的启动)
- Exynos4412 Uboot学习 (一)—— Uboot 编译流程分析
- 韦东山“第09课第1节 u-boot分析之编译体验“之学习笔记
- i.MX6DL学习记录---uboot之Makefile分析
- Android编译过程中首先运行的是build/envsetup.sh脚本的作用是什么?
- U-Boot编译过程完全分析-make ***_config 和mkconfig脚本,include/config.mk,include/config.h
- Android build/envsetup.sh 脚本分析(lunch函数)
- 详细分析make uboot 最后的编译链接的具体执行过程
- itop exynos4412 lcd驱动 详细分析 (三)
- [转载]kaldi学习笔记:run.sh(egs/timit/s5)详细分析:从数据准备到特征提取
- U-Boot编译过程完全分析-make ***_config 和mkconfig脚本,include/config.mk,include/config.h
- Hadoop学习笔记(一)HBase脚本分析(一)start-hbase.sh
- 学习笔记--- U-BOOT 的配置与编译分析
- Exynos4412 Uboot 移植(一)—— Uboot 编译流程分析
- 【s5p4418嵌入式学习】系统编译脚本分析02
- 基于iTop-4412的U-Boot 2017移植[0]:Exynos4412基础
- 详细分析make uboot 最后的编译链接的具体执行过程
- U-Boot-1.1.6顶层目录mkconfig脚本配置文件详细分析