mlx-mkbfb - Man Page

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)

Info

June 2020