gen-machine-conf Overview

The gen-machine-conf tool converts hardware description data from the System Device Tree generator (SDTGen) output directory (part of the SHEL flow) into a Yocto-style machine configuration. It supports updates if the hardware description changes and should be used without manually modifying its output layers. Use this flow to create a Yocto Machine for any Vivado project via the SHEL flow.

For deeper reference on gen-machine-conf – internals, best practices, and the full set of subcommands – see the SHEL chapter pages Overview of gen-machine-conf and gen-machine-conf Best Practices.

Create a Machine From a System Device Tree Directory

Use gen-machine-conf to create a machine using a downloaded prebuilt System Device Tree directory:

$ gen-machine-conf parse-sdt --hw-description <System Device Tree Directory> -c conf -l conf/local.conf --machine-name <Name for your machine/board>

Configure the Yocto Build

The target machine for the software build is set in the environment (build shell) or by editing local.conf. This tells Yocto which hardware platform the build is for.

Set the machine in conf/local.conf:

$ sed -i "/MACHINE ??=/c\MACHINE ??= \"<Machine_Name>\"" conf/local.conf

Build the Embedded Software Image

After the environment and machine configuration are in place, standard Yocto workflows are used to build images. Output images can be written to boot media to boot the board. Refer to AMD documentation for steps on booting and regenerating hardware designs.

$ bitbake <Image_Variant_Name>