Packages and Binaries:

u-boot

Installed size: KB
How to install: sudo apt install u-boot


u-boot-qemu

Das U-Boot is a cross-platform bootloader for embedded systems, used as the default boot loader by several board vendors. It is intended to be easy to port and to debug, and runs on many supported architectures, including PPC, ARM, MIPS, x86, m68k, NIOS, and Microblaze.

This package includes boot loaders for qemu/kvm.

Included platforms: qemu-ppce500 qemu-riscv64 qemu-riscv64_smode qemu-x86 qemu-x86_64 qemu_arm qemu_arm64

Installed size: 11.01 MB
How to install: sudo apt install u-boot-qemu


u-boot-tools

This package includes programs for generating and listing U-Boot images in various formats:

  • mkimage
  • dumpimage
  • mksunxiboot
  • mkenvimage

Installed size: 720 KB
How to install: sudo apt install u-boot-tools

  • libc6
  • libssl1.1
dumpimage
root@kali:~# dumpimage --help
dumpimage: invalid option -- '-'
Usage: dumpimage -l image
          -l ==> list image header information
       dumpimage [-T type] [-p position] [-o outfile] image
          -T ==> declare image type as 'type'
          -p ==> 'position' (starting at 0) of the component to extract from image
          -o ==> extract component to file 'outfile'
       dumpimage -h ==> print usage information and exit
       dumpimage -V ==> print version information and exit

kwboot

Boot Marvell Kirkwood SoCs over a serial link.

root@kali:~# kwboot -h
Usage: kwboot [OPTIONS] [-b <image> | -D <image> ] [-B <baud> ] <TTY>

  -b <image>: boot <image> with preamble (Kirkwood, Armada 370/XP)
  -p: patch <image> to type 0x69 (uart boot)
  -D <image>: boot <image> without preamble (Dove)
  -d: enter debug mode
  -a: use timings for Armada XP
  -q <req-delay>:  use specific request-delay
  -s <resp-timeo>: use specific response-timeout
  -o <block-timeo>: use specific xmodem block timeout

  -t: mini terminal

  -B <baud>: set baud rate


mkenvimage

mkimage

Generate image for U-Boot

root@kali:~# mkimage -h
mkimage: invalid option -- 'h'
Error: Invalid option
Usage: mkimage -l image
          -l ==> list image header information
       mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
       mkimage [-D dtc_options] [-f fit-image.its|-f auto|-F] [-b <dtb> [-b <dtb>]] [-E] [-B size] [-i <ramdisk.cpio.gz>] fit-image
           <dtb> file is used with -f auto, it may occur multiple times.
          -D => set all options for device tree compiler
          -f => input filename for FIT source
          -i => input filename for ramdisk file
          -E => place data outside of the FIT structure
          -B => align size in hex for FIT structure and header
Signing / verified boot options: [-k keydir] [-K dtb] [ -c <comment>] [-p addr] [-r] [-N engine]
          -k => set directory containing private keys
          -K => write public keys to this .dtb file
          -G => use this signing key (in lieu of -k)
          -c => add comment in signature node
          -F => re-sign existing FIT image
          -p => place external data at a static position
          -r => mark keys used as 'required' in dtb
          -N => openssl engine to use for signing
       mkimage -V ==> print version information and exit
Use '-T list' to see a list of available image types

mksunxiboot

Updated on: 2021-Nov-26