1*4882a593Smuzhiyun#!/bin/bash 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Copyright (C) 2020 Rockchip Electronics Co., Ltd 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun# Process args and auto set variables 9*4882a593Smuzhiyunsource ./${srctree}/arch/arm/mach-rockchip/fit_args.sh 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunif [ ! -f ${srctree}/images/ramdisk ]; then 12*4882a593Smuzhiyun touch ${srctree}/images/ramdisk 13*4882a593Smuzhiyunfi 14*4882a593Smuzhiyun 15*4882a593Smuzhiyunif [ "${COMPRESSION}" == "gzip" ]; then 16*4882a593Smuzhiyun gzip -k -f -9 ${srctree}/images/kernel 17*4882a593Smuzhiyun SUFFIX=".gz" 18*4882a593Smuzhiyunelif [ "${COMPRESSION}" == "lz4" ]; then 19*4882a593Smuzhiyun ${srctree}/scripts/compress.sh lz4 ${srctree}/images/kernel 20*4882a593Smuzhiyun SUFFIX=".lz4" 21*4882a593Smuzhiyunelse 22*4882a593Smuzhiyun COMPRESSION="none" 23*4882a593Smuzhiyun SUFFIX= 24*4882a593Smuzhiyunfi 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunif grep -q '^CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT=y' .config ; then 27*4882a593Smuzhiyun ALGO_PADDING=" padding = \"pss\";" 28*4882a593Smuzhiyunfi 29*4882a593Smuzhiyun 30*4882a593Smuzhiyuncat << EOF 31*4882a593Smuzhiyun/* 32*4882a593Smuzhiyun * Copyright (C) 2020 Fuzhou Rockchip Electronics Co., Ltd 33*4882a593Smuzhiyun * 34*4882a593Smuzhiyun * Minimal dts for a FIT image. 35*4882a593Smuzhiyun * 36*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0 37*4882a593Smuzhiyun */ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun/dts-v1/; 40*4882a593Smuzhiyun/ { 41*4882a593Smuzhiyun description = "FIT source file for Linux"; 42*4882a593Smuzhiyun #address-cells = <1>; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun images { 45*4882a593Smuzhiyun fdt { 46*4882a593Smuzhiyun data = /incbin/("./images/dtb"); 47*4882a593Smuzhiyun type = "flat_dt"; 48*4882a593Smuzhiyun arch = "${ARCH}"; 49*4882a593Smuzhiyun compression = "none"; 50*4882a593Smuzhiyun load = <0xffffff00>; 51*4882a593Smuzhiyun hash { 52*4882a593Smuzhiyun algo = "sha256"; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun kernel { 57*4882a593Smuzhiyun data = /incbin/("./images/kernel${SUFFIX}"); 58*4882a593Smuzhiyun compression = "${COMPRESSION}"; 59*4882a593Smuzhiyun type = "kernel"; 60*4882a593Smuzhiyun arch = "${ARCH}"; 61*4882a593Smuzhiyun os = "linux"; 62*4882a593Smuzhiyun entry = <0xffffff01>; 63*4882a593Smuzhiyun load = <0xffffff01>; 64*4882a593Smuzhiyun hash { 65*4882a593Smuzhiyun algo = "sha256"; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun ramdisk { 70*4882a593Smuzhiyun data = /incbin/("./images/ramdisk"); 71*4882a593Smuzhiyun compression = "none"; 72*4882a593Smuzhiyun type = "ramdisk"; 73*4882a593Smuzhiyun arch = "${ARCH}"; 74*4882a593Smuzhiyun os = "linux"; 75*4882a593Smuzhiyun load = <0xffffff02>; 76*4882a593Smuzhiyun hash { 77*4882a593Smuzhiyun algo = "sha256"; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun resource { 82*4882a593Smuzhiyun data = /incbin/("./images/second"); 83*4882a593Smuzhiyun type = "multi"; 84*4882a593Smuzhiyun arch = "${ARCH}"; 85*4882a593Smuzhiyun compression = "none"; 86*4882a593Smuzhiyun hash { 87*4882a593Smuzhiyun algo = "sha256"; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun configurations { 93*4882a593Smuzhiyun default = "conf"; 94*4882a593Smuzhiyun conf { 95*4882a593Smuzhiyun description = "Boot Linux kernel with FDT blob"; 96*4882a593Smuzhiyun rollback-index = <0x0>; 97*4882a593Smuzhiyun fdt = "fdt"; 98*4882a593Smuzhiyun kernel = "kernel"; 99*4882a593Smuzhiyun ramdisk = "ramdisk"; 100*4882a593Smuzhiyun multi = "resource"; 101*4882a593Smuzhiyun signature { 102*4882a593Smuzhiyun algo = "sha256,rsa2048"; 103*4882a593Smuzhiyun ${ALGO_PADDING} 104*4882a593Smuzhiyun key-name-hint = "dev"; 105*4882a593Smuzhiyun sign-images = "fdt", "kernel", "ramdisk", "multi"; 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun}; 110*4882a593Smuzhiyun 111*4882a593SmuzhiyunEOF 112