159 lines
2.9 KiB
Bash
Executable File
159 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
MKIMAGEPY=tools/scripts/mk_image.py
|
|
MKRESPRIVPY=tools/scripts/mk_private_resource.py
|
|
MKENVIMAGE=${HOST_DIR}/bin/mkenvimage
|
|
PINMUXCHECKPY=tools/scripts/pinmux_check.py
|
|
DTBDIR=${BINARIES_DIR}/u-boot.dtb
|
|
|
|
COLOR_BEGIN="\033["
|
|
COLOR_RED="${COLOR_BEGIN}41;37m"
|
|
COLOR_YELLOW="${COLOR_BEGIN}43;30m"
|
|
COLOR_WHITE="${COLOR_BEGIN}47;30m"
|
|
COLOR_END="\033[0m"
|
|
|
|
function mk_error()
|
|
{
|
|
echo -e " ${COLOR_RED}$*${COLOR_END}"
|
|
}
|
|
|
|
function mk_warn()
|
|
{
|
|
echo -e " ${COLOR_YELLOW}$*${COLOR_END}"
|
|
}
|
|
|
|
function mk_info()
|
|
{
|
|
echo -e " ${COLOR_WHITE}$*${COLOR_END}"
|
|
}
|
|
|
|
function run_cmd()
|
|
{
|
|
echo -e " $*"
|
|
eval $1
|
|
if [ $? -ne 0 ] ; then
|
|
mk_error "Run command failed: $*"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
function mk_uboot_env()
|
|
{
|
|
local ENVTXT1
|
|
local ENVTXT2
|
|
|
|
mk_info "Install uboot env source file ..."
|
|
|
|
ENVTXT1="${TARGET_BOARD_DIR}/env.txt"
|
|
ENVTXT2="${TARGET_CHIP_DIR}/common/env.txt"
|
|
|
|
rm -rf ${BINARIES_DIR}/env.txt
|
|
if [ -f ${ENVTXT1} ]; then
|
|
run_cmd "ln -sf ${ENVTXT1} ${BINARIES_DIR}/"
|
|
elif [ -f ${ENVTXT2} ]; then
|
|
run_cmd "ln -sf ${ENVTXT2} ${BINARIES_DIR}/"
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
function mk_boot_logo()
|
|
{
|
|
local LOGO
|
|
|
|
LOGO="${TARGET_BOARD_DIR}/boot_logo.*"
|
|
|
|
rm -rf ${BINARIES_DIR}/boot_logo.*
|
|
if [ -f ${LOGO} ]; then
|
|
mk_info "Install boot logo file ..."
|
|
run_cmd "ln -sf ${LOGO} ${BINARIES_DIR}"
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
function mk_rsa_key()
|
|
{
|
|
local KEYDIR="${TARGET_BOARD_DIR}/keys"
|
|
|
|
rm -rf ${BINARIES_DIR}/keys
|
|
if [ -d ${KEYDIR} ]; then
|
|
mk_info "Install rsa key file ..."
|
|
run_cmd "ln -sf ${KEYDIR} ${BINARIES_DIR}"
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
function install_pbp()
|
|
{
|
|
mk_info "Install Pre-Boot-Program file ..."
|
|
for pbp in $(find ${TARGET_CHIP_DIR}/common/ -maxdepth 1 -name "*.pbp")
|
|
do
|
|
rm -rf ${BINARIES_DIR}/`basename ${pbp}`
|
|
run_cmd "ln -sf ${pbp} ${BINARIES_DIR}/"
|
|
done
|
|
for pbp in $(find ${TARGET_BOARD_DIR}/ -maxdepth 1 -name "*.pbp")
|
|
do
|
|
rm -rf ${BINARIES_DIR}/`basename ${pbp}`
|
|
run_cmd "ln -sf ${pbp} ${BINARIES_DIR}/"
|
|
done
|
|
}
|
|
|
|
function mk_resource_private()
|
|
{
|
|
local DDR_INIT1
|
|
local DDR_INIT2
|
|
|
|
mk_info "Install ddr init config file ..."
|
|
|
|
DDR_INIT1="${TARGET_BOARD_DIR}/ddr_init.json"
|
|
DDR_INIT2="${TARGET_CHIP_DIR}/common/ddr_init.json"
|
|
|
|
rm -rf ${BINARIES_DIR}/ddr_init.json
|
|
if [ -f ${DDR_INIT1} ]; then
|
|
run_cmd "ln -sf ${DDR_INIT1} ${BINARIES_DIR}/"
|
|
elif [ -f ${DDR_INIT2} ]; then
|
|
run_cmd "ln -sf ${DDR_INIT2} ${BINARIES_DIR}/"
|
|
else
|
|
return 0
|
|
fi
|
|
|
|
# Generate resource private data
|
|
run_cmd "${MKRESPRIVPY} -v -c ${BINARIES_DIR}/ddr_init.json -o ${BINARIES_DIR}/ddr_init.bin"
|
|
|
|
return 0
|
|
}
|
|
|
|
function mk_image_file()
|
|
{
|
|
local IMGCFG
|
|
|
|
mk_info "Create image file ..."
|
|
|
|
run_cmd "cp ${BINARIES_DIR}/Image.gz ${BINARIES_DIR}/Recovery.gz"
|
|
run_cmd "cp ${BINARIES_DIR}/Image.gz ${TARGET_CHIP_DIR}/common/Recovery.gz"
|
|
|
|
return 0
|
|
}
|
|
|
|
function pinmux_check()
|
|
{
|
|
mk_info "Pinmux check ..."
|
|
|
|
python3 ${PINMUXCHECKPY} ${DTBDIR}
|
|
}
|
|
|
|
function main()
|
|
{
|
|
mk_uboot_env
|
|
mk_boot_logo
|
|
mk_resource_private
|
|
install_pbp
|
|
pinmux_check
|
|
mk_rsa_key
|
|
mk_image_file
|
|
}
|
|
|
|
main
|