MLX-MKBFB(1)

NAME
mlx-mkbfb - Create, dump, check, and update BlueField BFB files

SYNOPSIS
mlx-mkbfb [--help|-h]

mlx-mkbfb [options...] [INFILE(S)...] OUTFILE

mlx-mkbfb -[x|d|c] [options...] INFILE

mlx-mkbfb -f VERSION [options...] INFILE OUTFILE

DESCRIPTION
BFB (BlueField Bootstream) files are used to boot BlueField SoCs. These files consist of firmware images, kernel images, kernel arguments, and sometimes an entire initramfs. These files are used to boot the system, either getting pushed over the rshim device, or installed directly to one of two eMMC boot partitions. To install to or dump BFB files from the eMMC, use mlxbf-bootctl(8).

When not using -x, -d, -c, or -f, mlx-mkbfb will use each INFILE and images specified by Image Options to build a new BFB, and write it to OUTFILE. Later images will replace preceding ones. Take the following example:

    mlx-mkbfb infile1.bfb infile2.bfb --bl2=bl2.bin outfile.bfb

If the image bl31 exists in infile1.bfb and infile2.bfb, then the bl31 image contained in infile2.bfb will be emitted to outfile.bfb. On the other hand, since the argument --bl2 is specified, bl2.bin will replace any bl2 image contained in either infile1.bfb or infile2.bfb.

OPTIONS

-d | --dump
    Print a listing of images inside INFILE.

-x | --extract
    Extract all images from INFILE and write to files in the current directory.

-c | --check
    Check the integrity of INFILE.

-p | --prefix PREFIX
    Prefix for files extracted by -x, default is "dump-".

-f | --filter VERSION
    Filter away all images from INFILE that are not needed to boot VERSION. This will remove images with versions higher than VERSION, and also remove any images that are overridden with a later version. By default this is done carefully, so that at least one compatible image is present in OUTFILE per ID in INFILE.

-s | --strip VERSION
    Modifies -f. Instead of filtering out everything unneeded, only filter out the version specified by VERSION. Note that -s and -f may be different versions.

--no-careful
    Modifies -f. Disables "careful" image preservation, so that everything matching the -s/-f filter is removed. Resulting images will likely not boot on their own.

-v | --verbose
    Provide more verbose output.

-e | --expert
    Expert mode. Orders images within OUTFILE to match the order they are specified on the command line by Image Options. This option cannot be used with -x, -d, or -c.

Image Options

When running without options -d, -x, or -c, image options control which images are added to OUTFILE. All image options are of one of the following forms:

    --image-name=IMAGE
    --image-name-v0=IMAGE
    --image-name-v1=IMAGE

If no version (v0/v1) is specified, 0 is the default. The versions reflect which platform the image is meant for, v0 for BlueField 1 and v1 for BlueField 2. IMAGE is the path to the desired image. If IMAGE begins with "=", IMAGE will be taken as a literal string and inserted directly into the BFB file, minus the leading "=". For example,

    --boot-args='=debug isolcpus=10'

will insert those arguments into the BFB, and use them to boot the kernel image.

The list of image options is quite large. To see an up-to-date list of images supported by the BFB format, run

    mlx-mkbfb --help

SEE ALSO
mlxbf-bootctl(8)