1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/bin/sh
- # This script creates u-boot FIT image containing the kernel and the DT,
- # then signs it using futility from vboot-utils.
- # The resulting file is called uImage.kpart.
- BOARD_DIR=$(dirname $0)/${BOARD_NAME}
- mkimage=$HOST_DIR/bin/mkimage
- futility=$HOST_DIR/bin/futility
- devkeys=$HOST_DIR/share/vboot/devkeys
- run() { echo "$@"; "$@"; }
- die() { echo "$@" >&2; exit 1; }
- test -f $BINARIES_DIR/Image || \
- die "No kernel image found"
- test -x $mkimage || \
- die "No mkimage found (host-uboot-tools has not been built?)"
- test -x $futility || \
- die "No futility found (host-vboot-utils has not been built?)"
- # kernel.its references Image and mt8173-elm.dtb, and all three
- # files must be in current directory for mkimage.
- run cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1
- echo "# entering $BINARIES_DIR for the next command"
- (cd $BINARIES_DIR && run $mkimage -f kernel.its uImage.itb) || exit 1
- # futility requires non-empty file to be supplied with --bootloader
- # even if it does not make sense for the target platform.
- echo > $BINARIES_DIR/dummy.txt
- run $futility vbutil_kernel \
- --keyblock $devkeys/kernel.keyblock \
- --signprivate $devkeys/kernel_data_key.vbprivk \
- --arch aarch64 \
- --version 1 \
- --config $BOARD_DIR/kernel.args \
- --vmlinuz $BINARIES_DIR/uImage.itb \
- --bootloader $BINARIES_DIR/dummy.txt \
- --pack $BINARIES_DIR/uImage.kpart || exit 1
- rm -f $BINARIES_DIR/kernel.its $BINARIES_DIR/dummy.txt
|