1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# This script creates u-boot FIT image containing the kernel and the DT, 4*4882a593Smuzhiyun# then signs it using futility from vboot-utils. 5*4882a593Smuzhiyun# The resulting file is called uImage.kpart. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunBOARD_DIR=$(dirname $0)/${BOARD_NAME} 8*4882a593Smuzhiyunmkimage=$HOST_DIR/bin/mkimage 9*4882a593Smuzhiyunfutility=$HOST_DIR/bin/futility 10*4882a593Smuzhiyundevkeys=$HOST_DIR/share/vboot/devkeys 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunrun() { echo "$@"; "$@"; } 13*4882a593Smuzhiyundie() { echo "$@" >&2; exit 1; } 14*4882a593Smuzhiyuntest -f $BINARIES_DIR/Image || \ 15*4882a593Smuzhiyun die "No kernel image found" 16*4882a593Smuzhiyuntest -x $mkimage || \ 17*4882a593Smuzhiyun die "No mkimage found (host-uboot-tools has not been built?)" 18*4882a593Smuzhiyuntest -x $futility || \ 19*4882a593Smuzhiyun die "No futility found (host-vboot-utils has not been built?)" 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun# kernel.its references Image and mt8173-elm.dtb, and all three 22*4882a593Smuzhiyun# files must be in current directory for mkimage. 23*4882a593Smuzhiyunrun cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1 24*4882a593Smuzhiyunecho "# entering $BINARIES_DIR for the next command" 25*4882a593Smuzhiyun(cd $BINARIES_DIR && run $mkimage -f kernel.its uImage.itb) || exit 1 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun# futility requires non-empty file to be supplied with --bootloader 28*4882a593Smuzhiyun# even if it does not make sense for the target platform. 29*4882a593Smuzhiyunecho > $BINARIES_DIR/dummy.txt 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunrun $futility vbutil_kernel \ 32*4882a593Smuzhiyun --keyblock $devkeys/kernel.keyblock \ 33*4882a593Smuzhiyun --signprivate $devkeys/kernel_data_key.vbprivk \ 34*4882a593Smuzhiyun --arch aarch64 \ 35*4882a593Smuzhiyun --version 1 \ 36*4882a593Smuzhiyun --config $BOARD_DIR/kernel.args \ 37*4882a593Smuzhiyun --vmlinuz $BINARIES_DIR/uImage.itb \ 38*4882a593Smuzhiyun --bootloader $BINARIES_DIR/dummy.txt \ 39*4882a593Smuzhiyun --pack $BINARIES_DIR/uImage.kpart || exit 1 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunrm -f $BINARIES_DIR/kernel.its $BINARIES_DIR/dummy.txt 42