[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