We have published the first public version of a new configuration tool, based on
the existing PetaLinux configuration engine, that will help construct machine
conf files. Early versions of this tool were used to generate the machine files
in the meta-xilinx-bsp layer (inside of meta-xilinx repository).
Since this is the first version, there are a few rough edges and confusing
aspects to the tool. We've already got plans in place to improve and refactor
parts of the tool for a better Yocto Project based workflow experience. (The
current tool menuconfig is targeting a PetaLinux workflow and has a number of
configuration settings that do not apply in a Yocto Project workflow.)
See:
https://github.com/Xilinx/gen-machine-conf
This tool should work with an XSA produced by Vivado 2022.1 or newer, and
Langdale or newer Yocto Project versions.
Example usage:
git clone https://git.yoctoproject.org/poky
cd poky
git clone https://git.yoctoproject.org/meta-virtualization
git clone https://git.yoctoproject.org/meta-xilinx
git clone https://git.yoctoproject.org/meta-xilinx-tools
git clone https://git.openembedded.org/meta-openembedded
git clone https://github.com/Xilinx/gen-machine-conf
# Get the reference XSAs for this example
git clone https://github.com/Xilinx/hdf-examples -b xlnx_rel_v2022.2
# Start a project
. ./oe-init-build-env build-proj
# Setup the project with the minimum layer set
bitbake-layers add-layer ../meta-xilinx/meta-* ../meta-xilinx-tools
../meta-virtualization ../meta-openembedded/meta-filesystems
../meta-openembedded/meta-python ../meta-openembedded/meta-networking
../meta-openembedded/meta-oe
# You need to provide the XSCT tooling, an easy way to do this:
# Edit the conf/local.conf and add LICENSE_FLAGS_ACCEPTED += "xilinx"
MACHINE=zynqmp-generic bitbake device-tree -c do_configure
# System is now configured to use the tooling (see the readme)
../gen-machine-conf/gen-machineconf --soc-family zynqmp --hw-description
../hdf-examples/zcu102-zynqmp/system.xsa --machine-name my-zcu102
# The tool will build anything it needs and then construct for you:
# conf/machine/my-zcu102.conf
#
# You may want to edit some of the lines in the file, for instance:
# YAML_DT_BOARD_FLAGS:my-zcu102 = "{BOARD template}"
#
# The 'template' is an empty shell and won't have things needed to run this
# on actual hardware (should work on QEMU). Change it to a working example:
# YAML_DT_BOARD_FLAGS:my-zcu102 = "{BOARD zcu102-rev1.0}
#
# Once adjusted you can now run your build with the new machine
MACHINE=my-zcu102 bitbake core-image-minimal
# Basic QEMU test
MACHINE=my-zcu102 runqemu nographic slirp
Any questions, let us know!
--Mark
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#5243):
https://lists.yoctoproject.org/g/meta-xilinx/message/5243
Mute This Topic: https://lists.yoctoproject.org/mt/98696351/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-