Compiling barebox without PBL and using dts from Linux dts upstream for Zynq SoC
Michał Kruszewski
mkru at protonmail.com
Thu Mar 26 00:29:22 PDT 2026
Hello,
I try to boot Linux using barebox on the MYiR Z-turn board (Xilinx Zynq SoC).
I have generated the default configuration using `make zynq_defconfig`.
After compiling and trying to boot nothing works.
I am not surprised at all.
I started digging, and here are a few things that are not clear to me.
Issue number one.
Barebox consists of 2 bootloaders, the Pre-BootLoader (PBL) and Second-Stage BootLoader (SSBL).
However, in my case I use the First Stage BootLoader (FSBL) compiled by Vitis.
The FSBL does all the required hardware initialization.
In such a case, the PBL is superfluous.
I would like to disable it.
However, I can't disable PBL_IMAGE in menuconfig, it is forced to Y.
It is selected by PBL_MULTI_IMAGES [=y] && HAVE_PBL_MULTI_IMAGES [=y].
Moreover, I can't disable HAVE_PBL_MULTI_IMAGES, it is forced to Y by selecting ARM.
Disabling ARM of course makes no sense.
Is it even possible to configure barebox as a SSBL-only for the Zynq SoC?
How to achieve this?
The second issues is that the MYiR Z-turn board is not supported directly by barebox.
However, there is a valid dts description in the dts directory (Linux upstream device tree directory).
How can I tell barebox to use a dts from the Linux dts upstream directory?
I looked for some config in menuconfig but without success.
The third issue is that I can't compile dts in the dts directory.
The make help message says:
> src/<ARCH>/<DTS>.dtb Build a single device tree binary
However, when I try I get:
[user at host] make src/arm/xilinx/zynq-zturn-v5.dtb
DTC src/arm/xilinx/zynq-zturn-v5.dtb
/bin/sh: 1: -Wp,-MD,src/arm/xilinx/.zynq-zturn-v5.dtb.d.pre.tmp: not found
make: *** [Makefile:148: src/arm/xilinx/zynq-zturn-v5.dtb] Error 127
Of course the ARCH and CROSS_COMPILE are exported.
Regards,
Michał Kruszewski
More information about the barebox
mailing list