1b42d2103SJoseph Chen#!/bin/bash 2b42d2103SJoseph Chen# 3b42d2103SJoseph Chen# Copyright (c) 2020 Rockchip Electronics Co., Ltd 4b42d2103SJoseph Chen# 5b42d2103SJoseph Chen# SPDX-License-Identifier: GPL-2.0 6b42d2103SJoseph Chen# 7b42d2103SJoseph Chen 845986bebSJoseph Chenset -e 945986bebSJoseph Chen 10b42d2103SJoseph Chenif [ $# -eq 0 ]; then 11b42d2103SJoseph Chen echo "ERROR: No args of $0" 12b42d2103SJoseph Chen exit 1 13b42d2103SJoseph Chenfi 14b42d2103SJoseph Chen 15b42d2103SJoseph Chenwhile [ $# -gt 0 ]; do 16b42d2103SJoseph Chen case $1 in 17b42d2103SJoseph Chen --load) 18b42d2103SJoseph Chen LOAD_ADDR=$2 19b42d2103SJoseph Chen shift 2 20b42d2103SJoseph Chen ;; 21b42d2103SJoseph Chen --size) 22b42d2103SJoseph Chen SIZE="$1 $2 $3" 23b42d2103SJoseph Chen shift 3 24b42d2103SJoseph Chen ;; 25b42d2103SJoseph Chen *) 26b42d2103SJoseph Chen echo "ERROR: Unknown arg: $1" 27b42d2103SJoseph Chen exit 1 28b42d2103SJoseph Chen ;; 29b42d2103SJoseph Chen esac 30b42d2103SJoseph Chendone 31b42d2103SJoseph Chen 32b42d2103SJoseph Chenrm uboot.img -f 33b42d2103SJoseph Chen 34b42d2103SJoseph Chenif [ -z "${LOAD_ADDR}" ]; then 35b42d2103SJoseph Chen echo "ERROR: No load address" 36b42d2103SJoseph Chen exit 1 37b42d2103SJoseph Chenfi 38b42d2103SJoseph Chen 39b42d2103SJoseph ChenHEAD_KB=2 40b42d2103SJoseph ChenBIN_KB=`ls -l u-boot.bin | awk '{ print $5 }'` 41b42d2103SJoseph Chenif [ -z "${SIZE}" ]; then 42b42d2103SJoseph Chen MAX_KB=1046528 43b42d2103SJoseph Chenelse 44b42d2103SJoseph Chen MAX_KB=`echo ${SIZE} | awk '{print strtonum($2)}'` 45b42d2103SJoseph Chen MAX_KB=$(((MAX_KB-HEAD_KB)*1024)) 46b42d2103SJoseph Chenfi 47b42d2103SJoseph Chen 48b42d2103SJoseph Chenif [ ${BIN_KB} -gt ${MAX_KB} ]; then 49b42d2103SJoseph Chen echo "ERROR: pack uboot failed! u-boot.bin actual: ${BIN_KB} bytes, max limit: ${MAX_KB} bytes" 50b42d2103SJoseph Chen exit 1 51b42d2103SJoseph Chenfi 52b42d2103SJoseph Chen 53*3a02727cSJoseph Chen../rkbin/tools/loaderimage --pack --uboot u-boot.bin uboot.img ${LOAD_ADDR} ${SIZE} 54b42d2103SJoseph Chenecho "pack uboot okay! Input: u-boot.bin" 55b42d2103SJoseph Chenecho 56