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