MKIMAGE(1) General Commands Manual MKIMAGE(1) (NAME) mkimage - U-Boot (SYNOPSIS) mkimage [-T type] -l image-file-name mkimage [option ...] [-T type] image-file-name mkimage [option ...] -f image-tree-source-file|auto|auto-conf image-file-name mkimage [option ...] -F image-file-name (DESCRIPTION) mkimage U-Boot . device tree blob (firmware) . mkimage . (embedded boot firmware) U-Boot . U-Boot ( ) : (legacy) ( device tree blob ramdisk) (entry points) (checksums) . FIT (Flattened Image Tree) . (verified boot) . (OPTIONS) (General options) -h --help . -l --list mkimage U-Boot . -s --no-copy . . -T image-type --type image-type image-type . list image-type . kernel ( ) . -l mkimage . -T . FIT -f flat_dt . -T `type' . -T `type' kernel . -q --quiet . . -v --verbose . . -V --version . -A architecture --architecture architecture . -h . -A ppc . -O os --os os . bootm U-Boot () . -h os . -O linux . -C compression-type --compression compression-type . . mkimage . -h compression-type . -C gzip . -a load-address --load-address load-address . load-address () . -e entry-point --entry-point entry-point . bootm U-Boot . entry-point () . -n primary-configuration --config primary-configuration . CONFIGURATION . -R secondary-configuration --secondary-config secondary-configuration . CONFIGURATION . -d image-data-file --image image-data-file image-data-file . image-type multi : image-data-file[:image-data-file...] -x --xip XIP ( / execute in place) . bootm U-Boot ( ). -y --tfa-bl31-file TFA BL31 . -Y --tfa-bl31-addr TFA BL31 . -z --tee-file TEE . -Z --tee-addr TEE () . -b device-tree-file --device-tree device-tree-file (.dtb) FIT . -c comment --comment comment . . -D dtc-options --dtcopts dtc-options . dtc(1) . -D -I dts -O dtb -p 500 . -E --external FIT FIT . FIT . `data' `data-offset' `data-size' . 0 `data- offset' ( ) FIT . -B alignment --alignment alignment ( / ) . -E . -p external-position --position external-position . `data-offset' FIT -p `data-position' FIT . -E . -f image-tree-source-file | auto | auto-conf --fit image-tree-source-file | auto | auto-conf (image tree source) FIT . . -f auto . -d -A -O -T -C -a -e FIT . image-tree-source-file . -g -o -k -G `images' FIT . `configurations' `images' -f auto-conf . -g -o -k -G . -F --update FIT . dtc -f . . -i ramdisk-file --initramfs ramdisk-file ramdisk initramfs . -k key-directory --key-dir key-directory . name.key name.crt ( ) . -K . name `key-name-hint' . -G key-file --key-file key-file . -k . (basename) `key-name-hint' . -K / -k . -K key-destination --key-dest key-destination ( .dtb) . . CONFIG_OF_CONTROL U-Boot . -g key-name-hint --key-name-hint key-name-hint `key-name-hint' FIT . -f auto -f auto-conf . FIT . -o . -o checksum,crypto --algo checksum,crypto FIT `algo' image-tree-source-file (override) . FIT . checksum : sha1 sha256 sha384 sha512 crypto : rsa2048 rsa3072 rsa4096 ecdsa256 -r --key-required FIT . ( ) . ( ). -K . ( ) `required' "conf" . -N engine --engine engine openssl . engine(1) . -t --touch (timestamp) FIT. FIT mkimage .its .fit . -f . mkimage ( ) . (CONFIGURATION) . aisimage AIS (Application Image Script) . : command argument ... TI SPRAAG0E . atmelimage NAND Flash : parameter=value[,parameter=value...] parameter : usePmecc nbSectorPerPage spareSize eccBitReq sectorSize eccOffset value . 11.4.4.1 SAMA5D3 Series Data Sheet . doc/imx/mkimage/imximage.txt U-Boot . imx8image imx8mimage doc/imx/mkimage/imx8image.txt U-Boot . kwbimage doc/imx/mkimage/kwbimage.txt U-Boot . mtk_image : key=value[;key=value...] : ----------------------------------------------------------------- lk 1 LK () . BootROM . lkname LK. ASCII . U-Boot . media (boot). . nandinfo NAND . . arm64 1 AArch64 . hdroffset BRLYT . media : ------------------------------------------------------------------------------------------------------- nand NAND snand NAND nor NOR emmc eMMC ( ) sdmmc SD (Secure Digital) nandinfo : NAND OOB ------------------------------------------------------------------------------------------------------------------------- 2k+64 2KiB 64B 2k+120 2KiB 120B 2k+128 2KiB 128B 4k+256 4KiB 256B 1g:2k+64 2KiB 64B 1Gbit 2g:2k+64 2KiB 64B 2Gbit 4g:2k+64 2KiB 64B 4Gbit 2g:2k+128 2KiB 128B 2Gbit 4g:2k+128 2KiB 128B 4Gbit doc/imx/mkimage/mxsimage.txt U-Boot . omapimage byteswap . ( little-endian big-endian ). pblimage PBI (Pre-Boot Image) . : value[ value...] value . value PBI . . . RCW (Reset Configuration Word) PBI . PBI "" ("chain") . (secure boot) . rkimage . : px30 rk3036 rk3066 rk3128 rk3188 rk322x rk3288 rk3308 rk3328 rk3368 rk3399 rv1108 rk3568 spkgimage / . . # Comments and blank lines may be used key1 value1 key2 value2 key . VERSION NAND_ECC_BLOCK_SIZE NAND_ECC_ENABLE NAND_ECC_SCHEME NAND_BYTES_PER_ECC_BLOCK . SPKG . 7.4 Renesas RZ/N1 . ADD_DUMMY_BLP . BLp SPKG . PADDING K M ( KiB / MiB) . SPKG (pad) . (device tree) . ublimage doc/README.ublimage U-Boot . zynqimage zynqmpimage zynqmpimage PMUFW ( - Power Management Unit Firmware) . zynqimage . . : address data address data () . (boot ROM) data address . . (BUGS) U-Boot . (EXAMPLES) : mkimage -l uImage (legacy) PowerPC: mkimage -A powerpc -O linux -T kernel -C gzip \ -a 0 -e 0 -n Linux -d vmlinux.gz uImage FIT PowerPC: mkimage -f kernel.its kernel.itb FIT /public/signing-keys . u-boot.dtb . (comment) . mkimage -f kernel.its -k /public/signing-keys -K u-boot.dtb \ -c "Kernel 3.8 image for production devices" kernel.itb u-boot.dtb FIT. FIT images unused.itb . mkimage -f auto -d /dev/null -k /public/signing-keys -g dev \ -o sha256,rsa2048 -K u-boot.dtb unused.itb required = "conf" u-boot.dtb FIT. FIT unused.itb . mkimage -f auto-conf -d /dev/null -k /public/signing-keys -g dev \ -o sha256,rsa2048 -K u-boot.dtb -r unused.itb FIT . u-boot.dtb . . . mkimage -F -k /secret/signing-keys -K u-boot.dtb \ -c "Kernel 3.8 image for production devices" kernel.itb FIT . .its . mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \ -c "Kernel 4.4 image for production devices" -d vmlinuz kernel.itb FIT (device tree) . .its . mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \ -c "Kernel 4.4 image for production devices" -d vmlinuz \ -b /path/to/rk3288-firefly.dtb -b /path/to/rk3288-jerry.dtb kernel.itb FIT . .its . mkimage -f auto -A arm -O linux -T kernel -C none -a 43e00000 -e 0 \ -d vmlinuz -k /secret/signing-keys -g dev -o sha256,rsa2048 kernel.itb FIT (device tree) . required = "conf" u-boot.dtb . mkimage -f auto-conf -A arm -O linux -T kernel -C none -a 43e00000 \ -e 0 -d vmlinuz -b /path/to/file-1.dtb -b /path/to/file-2.dtb \ -k /folder/with/signing-keys -g dev -o sha256,rsa2048 \ -K u-boot.dtb -r kernel.itb FIT ( data-offset data-position ) . // convert FIT from internal data to data-position mkimage -p 0x20000 -F internal_data.itb // convert FIT from data-position to data-offset mkimage -E -F external_data-position.itb // convert FIT from data-offset to internal data mkimage -F external_data-offset.itb dtc(1), dumpimage(1), openssl(1), U-Boot U-Boot 2022-06-11 MKIMAGE(1)