1*8b099091SJoseph Chen#!/bin/sh 2*8b099091SJoseph Chen# 3*8b099091SJoseph Chen# Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 4*8b099091SJoseph Chen# 5*8b099091SJoseph Chen# SPDX-License-Identifier: GPL-2.0 6*8b099091SJoseph Chen# 7*8b099091SJoseph Chen 8*8b099091SJoseph ChenOLD_IMAGE=$1 9*8b099091SJoseph ChenIMAGE=resource.img 10*8b099091SJoseph ChenTOOL=../rkbin/tools/resource_tool 11*8b099091SJoseph ChenRESOURCES=./tools/images/ 12*8b099091SJoseph Chen 13*8b099091SJoseph Chenusage() 14*8b099091SJoseph Chen{ 15*8b099091SJoseph Chen echo "Usage:" 16*8b099091SJoseph Chen echo " ./pack_resource <input resource.img>" 17*8b099091SJoseph Chen} 18*8b099091SJoseph Chen 19*8b099091SJoseph Chenprepare() 20*8b099091SJoseph Chen{ 21*8b099091SJoseph Chen echo 22*8b099091SJoseph Chen if [ "$OLD_IMAGE" = '--help' -o "$OLD_IMAGE" = '-h' -o "$OLD_IMAGE" = '--h' ]; then 23*8b099091SJoseph Chen usage 24*8b099091SJoseph Chen exit 0 25*8b099091SJoseph Chen elif [ ! -f "$TOOL" ];then 26*8b099091SJoseph Chen echo "Can't find '../rkbin/' Responsity, please download it before pack image!" 27*8b099091SJoseph Chen echo "How to obtain? 3 ways:" 28*8b099091SJoseph Chen echo " 1. Login your Rockchip gerrit account: \"Projects\" -> \"List\" -> search \"rk/rkbin\" Responsity" 29*8b099091SJoseph Chen echo " 2. Github Responsity: https://github.com/rockchip-linux/rkbin" 30*8b099091SJoseph Chen echo " 3. Download full release SDK Responsity" 31*8b099091SJoseph Chen exit 1 32*8b099091SJoseph Chen elif [ ! -d "$RESOURCES" ];then 33*8b099091SJoseph Chen echo "Can't find resources: $RESOURCES" 34*8b099091SJoseph Chen exit 1 35*8b099091SJoseph Chen elif [ -z "$OLD_IMAGE" ];then 36*8b099091SJoseph Chen echo "Missing: <input image>" 37*8b099091SJoseph Chen usage 38*8b099091SJoseph Chen exit 1 39*8b099091SJoseph Chen elif [ ! -f "$OLD_IMAGE" ];then 40*8b099091SJoseph Chen echo "Can't find file: $OLD_IMAGE" 41*8b099091SJoseph Chen usage 42*8b099091SJoseph Chen exit 1 43*8b099091SJoseph Chen fi 44*8b099091SJoseph Chen} 45*8b099091SJoseph Chen 46*8b099091SJoseph Chenappend_resource() 47*8b099091SJoseph Chen{ 48*8b099091SJoseph Chen local TMP_DIR=.resource_tmp 49*8b099091SJoseph Chen rm -r $TMP_DIR 2>/dev/null 50*8b099091SJoseph Chen mkdir $TMP_DIR 51*8b099091SJoseph Chen 52*8b099091SJoseph Chen echo "Pack $RESOURCES & $OLD_IMAGE to $IMAGE ..." 53*8b099091SJoseph Chen if [ -f "$OLD_IMAGE" ];then 54*8b099091SJoseph Chen echo "Unpacking old image($OLD_IMAGE):" 55*8b099091SJoseph Chen $TOOL --unpack --verbose --image=$OLD_IMAGE $TMP_DIR 2>&1|grep entry|sed "s/^.*://"|xargs echo 56*8b099091SJoseph Chen fi 57*8b099091SJoseph Chen if [ -d "$RESOURCES" ];then 58*8b099091SJoseph Chen cp -r $RESOURCES/* $TMP_DIR 59*8b099091SJoseph Chen else 60*8b099091SJoseph Chen cp -r $RESOURCES $TMP_DIR 61*8b099091SJoseph Chen fi 62*8b099091SJoseph Chen $TOOL --pack --root=$TMP_DIR --image=$IMAGE `find $TMP_DIR -type f|sort` 63*8b099091SJoseph Chen echo "Packed resources:" 64*8b099091SJoseph Chen $TOOL --unpack --verbose --image=$IMAGE $TMP_DIR 2>&1|grep entry|sed "s/^.*://"|xargs echo 65*8b099091SJoseph Chen rm -r $TMP_DIR 2>/dev/null 66*8b099091SJoseph Chen echo 67*8b099091SJoseph Chen echo "resource.img is packed ready" 68*8b099091SJoseph Chen} 69*8b099091SJoseph Chen 70*8b099091SJoseph Chenprepare 71*8b099091SJoseph Chenappend_resource