xref: /rk3399_rockchip-uboot/scripts/uboot.sh (revision b42d2103f15903c45eca2e5eb9a971cdc653c160)
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