[meta-xilinx] How to boot the ZynqMP?

Mike Looijmans mike.looijmans at topic.nl
Mon Aug 21 00:20:22 PDT 2017



On 19-08-17 03:20, Jean-Francois Dagenais wrote:
> Hi Mike,
> 
>> 

Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: mike.looijmans at topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail



On Aug 18, 2017, at 08:25, Mike Looijmans <mike.looijmans at topic.nl> wrote:
>>
>> I have a zcu102 board. I built "core-image-minimal" for the board. This succeeded. Now I have a bunch of files in the image deploy directory.
>>
>> What do I do with these files to boot the board from an SD card?
>>
>> For the Zynq, one needed boot.bin, u-boot.img and uImage.
>>
>> For the zynqmp, there's also the arm-trusted-firmware and pmu-firmware. I have no idea whatsoever what I'm supposed to do with these. There is no boot.bin at all.
>>
>>
>> The wiki pages aren't any help either, they're either outdated or just plain wrong.
>>
> 
> Yeah, on zynq7, things were simpler with u-boot providing both the SPL (or first stage boot.bin file), and the proper u-boot loader for the kernel. Things were all nicely tied together. Now, one has to tie a few knots to get "burnable" products ready-made by yocto.
> 
> Take a look at https://github.com/Xilinx/meta-xilinx-tools/blob/master/README.md
> 

Oh, there's another meta.


> Basically, I switched to meta-xilinx-tools. This wasn't pretty since I am bound to building everything in docker containers through gitlab-ci. I finally managed to get things working the way we need it to.
> 
> It's not a pretty tool stack, the Xilinx SDK is pretty hacky (cmd line tools have dependencies to X11 and run a fake gui to execute commands), but the trail is pretty beaten by now and most of the kinks have been run over a number of times! ;)
> 
> Basically, through IMAGE_CLASSES, xilinx-bootbin tasks are added to every images (which is being debated on meta-xilinx now, I submitted a patch where xilinx-bootbin becomes a proper recipe). Anyway, once you have the boot.bin, simply copying it to the first fat partition of SD (or eMMC) is good enough. I use a slightly modified version of http://git.yoctoproject.org/cgit.cgi/poky/tree/scripts/lib/wic/canned-wks/sdimage-bootpart.wks where I add more files to the boot partition:
> 
...

It's generating the boot.bin where my problem is now. From there on, it's just 
u-boot and Linux again, and I'm on familiar territory again...

I recall having done this stuff about half a year ago, and at least then I 
could create an SPL based loader that actually booted. The layer above looks 
like regression to me.

Current state is that if I generate FSBL using Vivado SDK I can make it load 
u-boot by generating a boot.bin containing the FSBL and u-boot.elf. But then I 
don't have the PMU firmware and ATF and thus the kernel won't run.

I tried putting ATF and PMU firmware from the meta-xilinx build into the 
boot.bin using the proper attributes, but that results in complete and utter 
quiet hangup after power-up. I only see the FSBL start message on the uart.





More information about the meta-xilinx mailing list