UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
68 Views
Registered: ‎05-14-2019

Generate U-Boot configuration for custom board

Hi,

I have a custom ZynqMP board (i.e., custom FPGA design and custom PCB) and want to boot Linux on it. To gain more flexibility and control over the software stack, I'm building FSBL, U-Boot, etc. myself (as described in the Wiki) instead of using PetaLinux.

I'm kind of stuck at configuring U-Boot. PetaLinux uses the ZCU102 as a one-size-fits-all configuration for U-Boot, but it also generates the platform-top.h and platform-auto.h header files from the *.hdf file. How can I do this without PetaLinux? Is there a tool in the SDK that creates an appropriate U-Boot configuration for my design?

Should I instead create a U-Boot configuration manually, based on the ZCU102 template? I guess I have to copy psu_init_gpl.c/.h to the appropriate folders in the U-Boot source tree, is that correct?

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
41 Views
Registered: ‎09-01-2014

Re: Generate U-Boot configuration for custom board

We don’t recommend to build the kernel out of Petalinux flow since there is plenty of setting.
We had a lot of experiences that customers thought they could build Linux by themselves but finally returned to Petalinux flow.
Because it’s hard to find the problem if your Linux is not booting.

If you want to build our own kernel and u-boot with petalinux, Petalinux also supports external source. Please check “Configuring Out-of-tree Build” section
https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug1144-petalinux-tools-reference-guide.pdf



0 Kudos
Moderator
Moderator
29 Views
Registered: ‎09-12-2007

Re: Generate U-Boot configuration for custom board

Correct, the Petalinux does alot of config work for the user. In the case with the u-boot, it extracts the info from the HDF, and creates the platform-user.h.

If you are using the OSL flow, then you could create this manually. However, most of this is board level info that you would need to create manually anyway for a custom board.

For your custom u-boot, you would need to manually create the 

u-boot-xlnx\arch\arm\dts\<custom_board>.dts

Update the Makefile to add your DTS:

DTS_MAKEFILE.PNG

u-boot-xlnx\configs\<CUSTOM_BOARD>_defconfig

u-boot-xlnx\include\configs\<CUSTOM_BOARD>.h (this is referenced in the defconfig)

The OSL flow is covered here:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841722/ZCU102+Image+creation+in+OSL+flow

0 Kudos