Re: [meta-xilinx] How to boot the ZynqMP?
Hi Giordon, https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xilinx-bootbin.bbclass The inputs to boot.bin creation for ZynqMP is here: https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc Please see bootgen tool help or documentation to understand the bif file and its parameters Thanks, Manju From: Giordon Stark [mailto:gst...@cern.ch] Sent: Thursday, November 16, 2017 11:32 AM To: Martin Siegumfeldt <m...@gomspace.com> Cc: Manjukumar Harthikote Matha <manju...@xilinx.com>; Mike Looijmans <mike.looijm...@topic.nl>; Brian Hutchinson <b.hutch...@gmail.com>; meta-xilinx@yoctoproject.org Subject: Re: [meta-xilinx] How to boot the ZynqMP? Hi Brian, all, I noticed you add some stuff in local.conf to specify the types of images being built, e.g. # add Boot.bin dependency IMAGE_CLASSES += " xilinx-bootbin" Where are these defined? How can I see a list of possible choices for this? Giordon On Fri, Sep 1, 2017 at 9:40 AM Martin Siegumfeldt <m...@gomspace.com<mailto:m...@gomspace.com>> wrote: Thanks Manju, I now have it building and it also seems to boot the artifacts. The missing display-variable exporting and the potentially also the missing reference to the tools-variant of the device-tree-generation seems to be the culprit. Br, Martin From: Manjukumar Harthikote Matha <manju...@xilinx.com<mailto:manju...@xilinx.com>> Sent: Friday, September 1, 2017 04:40 To: Manjukumar Harthikote Matha; Mike Looijmans; Brian Hutchinson; Martin Siegumfeldt Cc: meta-xilinx@yoctoproject.org<mailto:meta-xilinx@yoctoproject.org> Subject: RE: [meta-xilinx] How to boot the ZynqMP? Hi All, Sorry for writing on top. I wanted to summarize the flow which worked for me without meta-petalinux layer. I have poky, meta-xilinx, meta-openembedded and meta-xilinx-tools (all on master branch) If you have a build, please make sure to cleansstate fsbl,pmu-firmware, device-tree-generation, bitstream-extraction recipes before you start 1) Make sure you have meta-oe and meta-python in bblayers.conf (Will apply Mike's patch on meta-xilinx-tools) 2)Either copy https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc to local.conf or include this file from your custom machine 3) Provide the HDF file using a) Local path: HDF_BASE = "file://" HDF_PATH = "/system.hdf" b) Or using git https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/hdf/external-hdf.bb#L9-L10 4) Provide the path to the installed XSDK in local.conf XILINX_SDK_TOOLCHAIN = "" 5) I had to add export DISPLAY=:1 before this line here https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L48 and https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L56 https://avatars0.githubusercontent.com/u/3189299?v=4=400 Xilinx/meta-xilinx-tools github.com<http://github.com> Contribute to meta-xilinx-tools development by creating an account on GitHub. We did not observe this issue in Morty, seems to have changed in Pyro or master. I am still checking how to make a patch using WHITELIST rather than above approach. Any suggestions? 6) there are two device-tree recipes one in meta-xilinx and one meta-xilinx-tools, set the preferred provider to one in meta-xilinx-tools in local.conf PREFERRED_PROVIDER_virtual/dtb ?= "device-tree-generation" 7) bitbake the image Once the image builds you see the following BOOT.bin (this will contain fsbl, pmu, atf, bitstream and u-boot) fsbl-.elf pmu-firmware-.elf -system.dts (DTG generated dts using the HDF provided) -system.dtb (DTG generated dtb using the HDF provided) Other images pmu- is from meta-xilinx recipe Thanks, Manju > -Original Message- > From: > meta-xilinx-boun...@yoctoproject.org<mailto:meta-xilinx-boun...@yoctoproject.org> > [mailto:meta-xilinx-<mailto:meta-xilinx-> > boun...@yoctoproject.org<mailto:boun...@yoctoproject.org>] On Behalf Of > Manjukumar Harthikote Matha > Sent: Thursday, August 31, 2017 2:33 PM > To: Mike Looijmans <mike.looijm...@topic.nl<mailto:mike.looijm...@topic.nl>>; > Brian Hutchinson > <b.hutch...@gmail.com<mailto:b.hutch...@gmail.com>> > Cc: meta-xilinx@yoctoproject.org<mailto:meta-xilinx@yoctoproject.org> > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > [This sender failed our fraud detection checks and may not be who they appear > to > be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing] > > Hi Mike, > > > -Original Message- > > From: Mike Looijmans > > [mailto:mike.looijm...@topic.nl<mailto:mike.looijm...@topic.nl>] > > Sent: Thursday, August 31, 2017 10:52 AM >
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Brian, all, I noticed you add some stuff in local.conf to specify the types of images being built, e.g. # add Boot.bin dependency IMAGE_CLASSES += " xilinx-bootbin" Where are these defined? How can I see a list of possible choices for this? Giordon On Fri, Sep 1, 2017 at 9:40 AM Martin Siegumfeldt <m...@gomspace.com> wrote: > Thanks Manju, I now have it building and it also seems to boot the > artifacts. The missing display-variable exporting and the potentially also > the missing reference to the tools-variant of the device-tree-generation > seems to be the culprit. > > Br, > Martin > > > From: Manjukumar Harthikote Matha <manju...@xilinx.com> > Sent: Friday, September 1, 2017 04:40 > To: Manjukumar Harthikote Matha; Mike Looijmans; Brian Hutchinson; Martin > Siegumfeldt > Cc: meta-xilinx@yoctoproject.org > Subject: RE: [meta-xilinx] How to boot the ZynqMP? > > Hi All, > > Sorry for writing on top. I wanted to summarize the flow which worked for > me without meta-petalinux layer. > > I have poky, meta-xilinx, meta-openembedded and meta-xilinx-tools (all on > master branch) > > If you have a build, please make sure to cleansstate fsbl,pmu-firmware, > device-tree-generation, bitstream-extraction recipes before you start > > 1) Make sure you have meta-oe and meta-python in bblayers.conf (Will apply > Mike's patch on meta-xilinx-tools) > > 2)Either copy > https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc > to local.conf or include this file from your custom machine > > 3) Provide the HDF file using > a) Local path: > HDF_BASE = "file://" > HDF_PATH = "/system.hdf" > b) Or using git > https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/hdf/external-hdf.bb#L9-L10 > > 4) Provide the path to the installed XSDK in local.conf > XILINX_SDK_TOOLCHAIN = "" > > 5) I had to add export DISPLAY=:1 before this line here > > https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L48 > and > > https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L56 > > https://avatars0.githubusercontent.com/u/3189299?v=4=400 > > Xilinx/meta-xilinx-tools > github.com > Contribute to meta-xilinx-tools development by creating an account on > GitHub. > > > We did not observe this issue in Morty, seems to have changed in Pyro or > master. I am still checking how to make a patch using WHITELIST rather than > above approach. Any suggestions? > > 6) there are two device-tree recipes one in meta-xilinx and one > meta-xilinx-tools, set the preferred provider to one in meta-xilinx-tools > in local.conf > PREFERRED_PROVIDER_virtual/dtb ?= "device-tree-generation" > > 7) bitbake the image > Once the image builds you see the following > BOOT.bin (this will contain fsbl, pmu, atf, bitstream and u-boot) > fsbl-.elf > pmu-firmware-.elf > -system.dts (DTG generated dts using the HDF provided) > -system.dtb (DTG generated dtb using the HDF provided) > > Other images > pmu- is from meta-xilinx recipe > > Thanks, > Manju > > > > -Original Message- > > From: meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx- > > boun...@yoctoproject.org] On Behalf Of Manjukumar Harthikote Matha > > Sent: Thursday, August 31, 2017 2:33 PM > > To: Mike Looijmans <mike.looijm...@topic.nl>; Brian Hutchinson > > <b.hutch...@gmail.com> > > Cc: meta-xilinx@yoctoproject.org > > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > > > [This sender failed our fraud detection checks and may not be who they > appear to > > be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing] > > > > Hi Mike, > > > > > -Original Message- > > > From: Mike Looijmans [mailto:mike.looijm...@topic.nl] > > > Sent: Thursday, August 31, 2017 10:52 AM > > > To: Brian Hutchinson <b.hutch...@gmail.com>; Manjukumar Harthikote > > > Matha <manju...@xilinx.com> > > > Cc: Giordon Stark <kra...@gmail.com>; Jean-Francois Dagenais > > > <jeff.dagen...@gmail.com>; meta-xilinx@yoctoproject.org > > > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > > > > > On 30-08-17 22:20, Brian Hutchinson wrote: > > > > I too have been wrestling with generating the required images to > > > > boot the > > > > ZCU102 from SD Card using the Yocto + meta-xilinx + > meta-xilinx-tools method. > > > > > > > > I'm totally striking out. And I'm working w
Re: [meta-xilinx] How to boot the ZynqMP?
On Thu, Aug 31, 2017 at 5:02 AM, Manjukumar Harthikote Matha < manju...@xilinx.com> wrote: > > > I think this patch fixes the issue you are mentioning > https://github.com/Xilinx/meta-xilinx-tools/commit/ > ecb804aeb5f23156e36e32085a229883944b0b47 > > Thanks, > Manju > Thank you and Mike Looijmans for this clue! After applying that patch I discovered my problem was: | Building '/pmu-firmware' | 13:07:38 Build of configuration Release for project pmu-firmware | make all | Building file: ../src/idle_hooks.c | Invoking: MicroBlaze gcc compiler | mb-gcc -Wall -O2 -c -fmessage-length=0 -MT"src/idle_hooks.o" -Os -flto -ffat-lto-objects -I../../pmu-firmware_bsp/psu_pmu_0/include -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mcpu=v9.2 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/idle_hooks.d" -MT"src/idle_hooks.o" -o "src/idle_hooks.o" "../src/idle_hooks.c" | /home/hutch/Xilinx/SDK/2017.1/gnu/microblaze/lin/bin/../lib/gcc/microblaze-xilinx-elf/6.2.0/../../../../microblaze-xilinx-elf/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory | src/subdir.mk:181: recipe for target 'src/idle_hooks.o' failed | make: *** [src/idle_hooks.o] Error 1 So I added sudo dpkg --add-architecture i386 and installed the i386 libs but still initially missed one. The one I needed to get past the error was: sudo apt-get install lib32z1 Build completed and I see BOOT.bin now so I'm happy. Regards, Brian -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
Thanks Manju, I now have it building and it also seems to boot the artifacts. The missing display-variable exporting and the potentially also the missing reference to the tools-variant of the device-tree-generation seems to be the culprit. Br, Martin From: Manjukumar Harthikote Matha <manju...@xilinx.com> Sent: Friday, September 1, 2017 04:40 To: Manjukumar Harthikote Matha; Mike Looijmans; Brian Hutchinson; Martin Siegumfeldt Cc: meta-xilinx@yoctoproject.org Subject: RE: [meta-xilinx] How to boot the ZynqMP? Hi All, Sorry for writing on top. I wanted to summarize the flow which worked for me without meta-petalinux layer. I have poky, meta-xilinx, meta-openembedded and meta-xilinx-tools (all on master branch) If you have a build, please make sure to cleansstate fsbl,pmu-firmware, device-tree-generation, bitstream-extraction recipes before you start 1) Make sure you have meta-oe and meta-python in bblayers.conf (Will apply Mike's patch on meta-xilinx-tools) 2)Either copy https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc to local.conf or include this file from your custom machine 3) Provide the HDF file using a) Local path: HDF_BASE = "file://" HDF_PATH = "/system.hdf" b) Or using git https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/hdf/external-hdf.bb#L9-L10 4) Provide the path to the installed XSDK in local.conf XILINX_SDK_TOOLCHAIN = "" 5) I had to add export DISPLAY=:1 before this line here https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L48 and https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L56 https://avatars0.githubusercontent.com/u/3189299?v=4=400 Xilinx/meta-xilinx-tools github.com Contribute to meta-xilinx-tools development by creating an account on GitHub. We did not observe this issue in Morty, seems to have changed in Pyro or master. I am still checking how to make a patch using WHITELIST rather than above approach. Any suggestions? 6) there are two device-tree recipes one in meta-xilinx and one meta-xilinx-tools, set the preferred provider to one in meta-xilinx-tools in local.conf PREFERRED_PROVIDER_virtual/dtb ?= "device-tree-generation" 7) bitbake the image Once the image builds you see the following BOOT.bin (this will contain fsbl, pmu, atf, bitstream and u-boot) fsbl-.elf pmu-firmware-.elf -system.dts (DTG generated dts using the HDF provided) -system.dtb (DTG generated dtb using the HDF provided) Other images pmu- is from meta-xilinx recipe Thanks, Manju > -Original Message- > From: meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx- > boun...@yoctoproject.org] On Behalf Of Manjukumar Harthikote Matha > Sent: Thursday, August 31, 2017 2:33 PM > To: Mike Looijmans <mike.looijm...@topic.nl>; Brian Hutchinson > <b.hutch...@gmail.com> > Cc: meta-xilinx@yoctoproject.org > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > [This sender failed our fraud detection checks and may not be who they appear > to > be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing] > > Hi Mike, > > > -Original Message- > > From: Mike Looijmans [mailto:mike.looijm...@topic.nl] > > Sent: Thursday, August 31, 2017 10:52 AM > > To: Brian Hutchinson <b.hutch...@gmail.com>; Manjukumar Harthikote > > Matha <manju...@xilinx.com> > > Cc: Giordon Stark <kra...@gmail.com>; Jean-Francois Dagenais > > <jeff.dagen...@gmail.com>; meta-xilinx@yoctoproject.org > > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > > > On 30-08-17 22:20, Brian Hutchinson wrote: > > > I too have been wrestling with generating the required images to > > > boot the > > > ZCU102 from SD Card using the Yocto + meta-xilinx + meta-xilinx-tools > > > method. > > > > > > I'm totally striking out. And I'm working with a Xilinx FAE and > > > striking out! No problem at all doing this kind of thing for ZCU107 > > > or Zedboard but > > > ZCU102 is different beast for sure. > > > > > > I have Ubuntu 16.04 box, I've tried yocto 2.2.1 (morty) and 2.3 > > > (pyro) and I get the same result ... my builds die with: > > > > > ... > > > | DEBUG: Executing shell function do_deploy > > > | install: cannot stat > > > '/home/hutch/yocto_2.2.1- > > morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu- > > firmware/2017.1+gitAUTOINC+122565ec40-r0/build/pmu-firmware/Release/pm > > u- > > firmware.elf': > > > No such file or directory > > > > > > Most likely the problem is that the "Release&quo
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Mike, > -Original Message- > From: Mike Looijmans [mailto:mike.looijm...@topic.nl] > Sent: Thursday, August 31, 2017 10:52 AM > To: Brian Hutchinson <b.hutch...@gmail.com>; Manjukumar Harthikote Matha > <manju...@xilinx.com> > Cc: Giordon Stark <kra...@gmail.com>; Jean-Francois Dagenais > <jeff.dagen...@gmail.com>; meta-xilinx@yoctoproject.org > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > On 30-08-17 22:20, Brian Hutchinson wrote: > > I too have been wrestling with generating the required images to boot > > the > > ZCU102 from SD Card using the Yocto + meta-xilinx + meta-xilinx-tools > > method. > > > > I'm totally striking out. And I'm working with a Xilinx FAE and > > striking out! No problem at all doing this kind of thing for ZCU107 > > or Zedboard but > > ZCU102 is different beast for sure. > > > > I have Ubuntu 16.04 box, I've tried yocto 2.2.1 (morty) and 2.3 (pyro) > > and I get the same result ... my builds die with: > > > ... > > | DEBUG: Executing shell function do_deploy > > | install: cannot stat > > '/home/hutch/yocto_2.2.1- > morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu- > firmware/2017.1+gitAUTOINC+122565ec40-r0/build/pmu-firmware/Release/pmu- > firmware.elf': > > No such file or directory > > > Most likely the problem is that the "Release" directory was not created yet. > I have > seen this race condition several times in makefiles. > As a workaround, add a do_compile_prepend with "mkdir Release" or so. > > However, this seems to happen in the "do_install" phase, so that's probably > not the > case here. > > Another issue can be that actually the "compile" failed. Most of Xilinx' > tools don't > return error codes, so bitbake thinks everything went fine but it didn't > actually > produce outputs. And since do_compile was okay, it won't run again and install > keeps failing. > > Add a do_compile_append() that contains something like: > test -e Release/pmu-firmware.elf > and that would cause do_compile to fail if there's no output. > I think this patch fixes the issue you are mentioning https://github.com/Xilinx/meta-xilinx-tools/commit/ecb804aeb5f23156e36e32085a229883944b0b47 Thanks, Manju -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
On 30-08-17 22:20, Brian Hutchinson wrote: I too have been wrestling with generating the required images to boot the ZCU102 from SD Card using the Yocto + meta-xilinx + meta-xilinx-tools method. I'm totally striking out. And I'm working with a Xilinx FAE and striking out! No problem at all doing this kind of thing for ZCU107 or Zedboard but ZCU102 is different beast for sure. I have Ubuntu 16.04 box, I've tried yocto 2.2.1 (morty) and 2.3 (pyro) and I get the same result ... my builds die with: ... | DEBUG: Executing shell function do_deploy | install: cannot stat '/home/hutch/yocto_2.2.1-morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu-firmware/2017.1+gitAUTOINC+122565ec40-r0/build/pmu-firmware/Release/pmu-firmware.elf': No such file or directory Most likely the problem is that the "Release" directory was not created yet. I have seen this race condition several times in makefiles. As a workaround, add a do_compile_prepend with "mkdir Release" or so. However, this seems to happen in the "do_install" phase, so that's probably not the case here. Another issue can be that actually the "compile" failed. Most of Xilinx' tools don't return error codes, so bitbake thinks everything went fine but it didn't actually produce outputs. And since do_compile was okay, it won't run again and install keeps failing. Add a do_compile_append() that contains something like: test -e Release/pmu-firmware.elf and that would cause do_compile to fail if there's no output. 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.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
I too have been wrestling with generating the required images to boot the ZCU102 from SD Card using the Yocto + meta-xilinx + meta-xilinx-tools method. I'm totally striking out. And I'm working with a Xilinx FAE and striking out! No problem at all doing this kind of thing for ZCU107 or Zedboard but ZCU102 is different beast for sure. I have Ubuntu 16.04 box, I've tried yocto 2.2.1 (morty) and 2.3 (pyro) and I get the same result ... my builds die with: Build Configuration: BB_VERSION= "1.32.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Ubuntu-16.04" TARGET_SYS= "aarch64-poky-linux" MACHINE = "zcu102-zynqmp" DISTRO= "poky" DISTRO_VERSION= "2.2.1" TUNE_FEATURES = "aarch64" TARGET_FPU= "" meta meta-poky meta-yocto-bsp= "heads/morty-16.0.1:6a1f33cc40bfac33cf030fe41e1a8efd1e5fad6f" meta-perl meta-systemd meta-gpe meta-python meta-efl meta-ruby meta-filesystems meta-gnome meta-multimedia meta-networking meta-webserver meta-xfce meta-initramfs meta-oe = "morty-16.0.1:fe5c83312de11e80b85680ef237f8acb04b4b26e" meta-xilinx = "rel-v2017.1:ea7a5915702079634581c100abb7f3c9643b506e" meta-xilinx-tools = "rel-v2017.1:26e34432e9a3ce89d97675a1de08581d559ed3d5" Initialising tasks: 100% || Time: 0:00:05 NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: pmu-firmware-2017.1+gitAUTOINC+122565ec40-r0 do_deploy: Function failed: do_deploy (log file is located at /home/hutch/yocto_2.2.1-morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu-firmware/2017.1+gitAUTOINC+122565ec40-r0/temp/log.do_deploy.8000) ERROR: Logfile of failure stored in: /home/hutch/yocto_2.2.1-morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu-firmware/2017.1+gitAUTOINC+122565ec40-r0/temp/log.do_deploy.8000 Log data follows: | DEBUG: Executing python function sstate_task_prefunc | DEBUG: Python function sstate_task_prefunc finished | DEBUG: Executing shell function do_deploy | install: cannot stat '/home/hutch/yocto_2.2.1-morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu-firmware/2017.1+gitAUTOINC+122565ec40-r0/build/pmu-firmware/Release/pmu-firmware.elf': No such file or directory | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_deploy (log file is located at /home/hutch/yocto_2.2.1-morty_zcu102/layers/poky/build/tmp/work/zcu102_zynqmp-poky-linux/pmu-firmware/2017.1+gitAUTOINC+122565ec40-r0/temp/log.do_deploy.8000) ERROR: Task (/home/hutch/yocto_2.2.1-morty_zcu102/layers/meta-xilinx-tools/recipes-bsp/pmu/pmu-firmware_git.bb:do_deploy) failed with exit code '1' NOTE: Tasks Summary: Attempted 2149 tasks of which 9 didn't need to be rerun and 1 failed. Summary: 1 task failed: /home/hutch/yocto_2.2.1-morty_zcu102/layers/meta-xilinx-tools/recipes-bsp/pmu/pmu-firmware_git.bb: do_deploy Summary: There was 1 ERROR message shown, returning a non-zero exit code In my local.conf I've added: MACHINE ?= "zcu102-zynqmp" HDF_BASE = "file://" #HDF_PATH = "/home/hutch/yocto_pyro_zcu102/layers/poky/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf" #HDF_PATH = "/home/hutch/Downloads/Xilinx/Xilinx-zcu102-zynqmp.hdf" HDF_PATH = "/home/hutch/Downloads/from_emil/config_mpsoc_wrapper.hdf" XILINX_SDK_TOOLCHAIN = "/home/hutch/Xilinx/SDK/2017.1/" XILINX_VER_MAIN = "2017.1" # add Boot.bin dependency IMAGE_CLASSES += " xilinx-bootbin" ... and I even added a bunch of BIF_ settings before I learned those were for 2016.4 Pretty much no matter what my FAE tells me to try (it apparently works for him) I always get this error about "pmu-firmware.elf': No such file or directory" ... and I've tried all kind of things. I'd really like to understand what I'm doing wrong here and find a path that lets me generate the required images the same way I build images for every other board I support using the yocto flow. Regards, Brian On Tue, Aug 22, 2017 at 2:25 PM, Manjukumar Harthikote Matha < manju...@xilinx.com> wrote: > Hi Giordon, > > meta-xilinx-tools with xsct in your path would enable the same way , > instead of using the Vivado GUI to generate fsbl/pmu/boot.bin > > > > http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer > > > > Thanks, > > Manju > > > > *From:* meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx-bounces@ > yoctoproject.org] *On Behalf Of *Giordon Stark > *Sent:* Tuesday, August 22, 2017 7:46 AM > *To:* Mike Looijmans <mike.looijm...@topic.nl>; Jean-Francois Dagenais < &g
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Mike, One trick I do is have the machine inherit from the zynq-mpsoc and override whatever I need... then I usually can just build like normal and expect the boot.bin as usual. EG: something like # add MACHINEOVERRIDES .= ":zc706-zynq7" to your machine config otherwise those # overrides in recipes won't apply since the machine name is different require conf/machine/zc706-zynq7.conf MACHINEOVERRIDES .= ":zc706-zynq7" MACHINE_DEVICETREE := " \ gfex/prototype2/skeleton.dtsi \ gfex/prototype2/pl.dtsi \ gfex/prototype2/zynq-7000.dtsi \ gfex/prototype2/system.dts \ " could be sufficient enough to override for your machine correctly. On Thu, Aug 24, 2017 at 12:36 AM Mike Looijmans <mike.looijm...@topic.nl> wrote: > On 23-08-17 22:46, Manjukumar Harthikote Matha 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 <+31%20499%20336%20979> > E-mail: mike.looijm...@topicproducts.com > Website: www.topicproducts.com > > Please consider the environment before printing this e-mail > > > > -Original Message- > >> From: meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx- > >> boun...@yoctoproject.org] On Behalf Of Mike Looijmans > >> Sent: Tuesday, August 22, 2017 11:02 PM > >> To: Manjukumar Harthikote Matha <manju...@xilinx.com>; Giordon Stark > >> <kra...@gmail.com>; Jean-Francois Dagenais <jeff.dagen...@gmail.com> > >> Cc: meta-xilinx@yoctoproject.org > >> Subject: Re: [meta-xilinx] How to boot the ZynqMP? > >> > >> I managed to get it booting with some manual work. > >> > >> - The meta-xilinx overlay delivers the ATF and PMU firmware. > >> - My own layer delivers u-boot and kernel and devicetree for my own > board > >> > >> The FSBL I've manually built using Vivado/SDK. The trick to get that > working was that > >> Vivado version >= 2017.1 was required. It doesn't work (any more) with > the 2016 > >> versions. I installed 2017.2 and only then the FSBL was able to load > the PMU and > >> ATF. Apparently there's a dependency there. > >> > >> So all that is left is to automate the process of generating fsbl and > boot.bin. > >> > >> I'm pretty sure this can be done using just u-boot, since u-boot has > support for ATF > >> loading and, as I gather from various commits, the PMU as well. It can > also create a > >> boot.bin without the aid of bootgen. It provides the first-stage loader > as well. > >> However, it seems to a well-kept secret how to actually integrate the > PMU. I can > >> generate a bootloader this way, but I don't know where to put the ATF > and PMU. I > >> suspect they're to be stored in a FIT image. > >> > >> So for now I'm stuck with the much less streamlined FSBL flow. > >> > >> > >> On 22-08-17 20:25, Manjukumar Harthikote Matha wrote: > >>> Hi Giordon, > >>> > >>> meta-xilinx-tools with xsct in your path would enable the same way , > >>> instead of using the Vivado GUI to generate fsbl/pmu/boot.bin > >>> > >>> http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer > >>> > >> > >> So how does one use this layer to just generate the FSBL and boot.bin? > >> > > Basically on dependencies, > > > https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc > > > > The dependency is to build boot.bin once this layer is included by the > above file. > > Boot.bin defines dependencies for zynqmp as > > > https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc#L10 > > > > Meaning boot.bin has dependencies on fsbl, bitstream (if it exists), pmu > firmware, atf and u-boot to be built and will create a bif file according > to these settings > > > > Each of these BIF_PARTITION_ATTR is associated with additional > attributed. For example : > > > https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc#L14-L16 > > BIF_PARTITION_ATTR[fsbl] ?= "bootloader" > > This defines the attrition attribute in the bif > > BIF_PARTITION_IMAGE[fsbl] ?= "${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf" > > This defines where to find the binary generated > > BIF_PARTITION_DEPENDS[fsbl] ?= "virtual/fsbl" > > This defines which recipe it
Re: [meta-xilinx] How to boot the ZynqMP?
On 23-08-17 22:46, Manjukumar Harthikote Matha 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.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail -Original Message- From: meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx- boun...@yoctoproject.org] On Behalf Of Mike Looijmans Sent: Tuesday, August 22, 2017 11:02 PM To: Manjukumar Harthikote Matha <manju...@xilinx.com>; Giordon Stark <kra...@gmail.com>; Jean-Francois Dagenais <jeff.dagen...@gmail.com> Cc: meta-xilinx@yoctoproject.org Subject: Re: [meta-xilinx] How to boot the ZynqMP? I managed to get it booting with some manual work. - The meta-xilinx overlay delivers the ATF and PMU firmware. - My own layer delivers u-boot and kernel and devicetree for my own board The FSBL I've manually built using Vivado/SDK. The trick to get that working was that Vivado version >= 2017.1 was required. It doesn't work (any more) with the 2016 versions. I installed 2017.2 and only then the FSBL was able to load the PMU and ATF. Apparently there's a dependency there. So all that is left is to automate the process of generating fsbl and boot.bin. I'm pretty sure this can be done using just u-boot, since u-boot has support for ATF loading and, as I gather from various commits, the PMU as well. It can also create a boot.bin without the aid of bootgen. It provides the first-stage loader as well. However, it seems to a well-kept secret how to actually integrate the PMU. I can generate a bootloader this way, but I don't know where to put the ATF and PMU. I suspect they're to be stored in a FIT image. So for now I'm stuck with the much less streamlined FSBL flow. On 22-08-17 20:25, Manjukumar Harthikote Matha wrote: Hi Giordon, meta-xilinx-tools with xsct in your path would enable the same way , instead of using the Vivado GUI to generate fsbl/pmu/boot.bin http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer So how does one use this layer to just generate the FSBL and boot.bin? Basically on dependencies, https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc The dependency is to build boot.bin once this layer is included by the above file. Boot.bin defines dependencies for zynqmp as https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc#L10 Meaning boot.bin has dependencies on fsbl, bitstream (if it exists), pmu firmware, atf and u-boot to be built and will create a bif file according to these settings Each of these BIF_PARTITION_ATTR is associated with additional attributed. For example : https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc#L14-L16 BIF_PARTITION_ATTR[fsbl] ?= "bootloader" This defines the attrition attribute in the bif BIF_PARTITION_IMAGE[fsbl] ?= "${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf" This defines where to find the binary generated BIF_PARTITION_DEPENDS[fsbl] ?= "virtual/fsbl" This defines which recipe it depends on to build the required binary This would translate as [bootlader] fsbl.elf in the bif file at the end Similarly we have defined the attributes required for bitstream, pmu, atf and u-boot The bif file will be compiled using the bootgen by xilinx-bootbin.bbclass https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xilinx-bootbin.bbclass#L77 Below provides the information regarding how fsbl builds using the HDF and xsct: bif partition attributes the need to build virtual/fsbl virtual/fsbl is provided by https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/fsbl/fsbl_git.bb#L6 This recipe depends on HDF being provided and xsct in the path. https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/fsbl/fsbl_git.bb#L8 https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctapp.bbclass#L1 https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L48 xsctbase looks for xsct using https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L1 similary depends on hdf https://github.com/Xilinx/meta-xilinx-tools/blob/34e96ca0dfd2cfe101d07bc6db06fc9ae1629ce4/classes/xsctbase.bbclass#L22 If I have my own board, and my own machine.conf in my own bitbake layer, what do I need to do to build a "boot.bin" for that in a scripted flow? -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Mike, > -Original Message- > From: meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx- > boun...@yoctoproject.org] On Behalf Of Mike Looijmans > Sent: Tuesday, August 22, 2017 11:02 PM > To: Manjukumar Harthikote Matha <manju...@xilinx.com>; Giordon Stark > <kra...@gmail.com>; Jean-Francois Dagenais <jeff.dagen...@gmail.com> > Cc: meta-xilinx@yoctoproject.org > Subject: Re: [meta-xilinx] How to boot the ZynqMP? > > I managed to get it booting with some manual work. > > - The meta-xilinx overlay delivers the ATF and PMU firmware. > - My own layer delivers u-boot and kernel and devicetree for my own board > > The FSBL I've manually built using Vivado/SDK. The trick to get that working > was that > Vivado version >= 2017.1 was required. It doesn't work (any more) with the > 2016 > versions. I installed 2017.2 and only then the FSBL was able to load the PMU > and > ATF. Apparently there's a dependency there. > > So all that is left is to automate the process of generating fsbl and > boot.bin. > > I'm pretty sure this can be done using just u-boot, since u-boot has support > for ATF > loading and, as I gather from various commits, the PMU as well. It can also > create a > boot.bin without the aid of bootgen. It provides the first-stage loader as > well. > However, it seems to a well-kept secret how to actually integrate the PMU. I > can > generate a bootloader this way, but I don't know where to put the ATF and > PMU. I > suspect they're to be stored in a FIT image. > > So for now I'm stuck with the much less streamlined FSBL flow. > > > On 22-08-17 20:25, Manjukumar Harthikote Matha wrote: > > Hi Giordon, > > > > meta-xilinx-tools with xsct in your path would enable the same way , > > instead of using the Vivado GUI to generate fsbl/pmu/boot.bin > > > > http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer > > > > So how does one use this layer to just generate the FSBL and boot.bin? > Basically on dependencies, https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc The dependency is to build boot.bin once this layer is included by the above file. Boot.bin defines dependencies for zynqmp as https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc#L10 Meaning boot.bin has dependencies on fsbl, bitstream (if it exists), pmu firmware, atf and u-boot to be built and will create a bif file according to these settings Each of these BIF_PARTITION_ATTR is associated with additional attributed. For example : https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc#L14-L16 BIF_PARTITION_ATTR[fsbl] ?= "bootloader" This defines the attrition attribute in the bif BIF_PARTITION_IMAGE[fsbl] ?= "${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf" This defines where to find the binary generated BIF_PARTITION_DEPENDS[fsbl] ?= "virtual/fsbl" This defines which recipe it depends on to build the required binary This would translate as [bootlader] fsbl.elf in the bif file at the end Similarly we have defined the attributes required for bitstream, pmu, atf and u-boot The bif file will be compiled using the bootgen by xilinx-bootbin.bbclass https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xilinx-bootbin.bbclass#L77 Below provides the information regarding how fsbl builds using the HDF and xsct: bif partition attributes the need to build virtual/fsbl virtual/fsbl is provided by https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/fsbl/fsbl_git.bb#L6 This recipe depends on HDF being provided and xsct in the path. https://github.com/Xilinx/meta-xilinx-tools/blob/master/recipes-bsp/fsbl/fsbl_git.bb#L8 https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctapp.bbclass#L1 https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L48 xsctbase looks for xsct using https://github.com/Xilinx/meta-xilinx-tools/blob/master/classes/xsctbase.bbclass#L1 similary depends on hdf https://github.com/Xilinx/meta-xilinx-tools/blob/34e96ca0dfd2cfe101d07bc6db06fc9ae1629ce4/classes/xsctbase.bbclass#L22 Thanks, Manju -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Mike, On Wed, 2017-08-23 at 08:02:00 +0200, Mike Looijmans wrote: > I managed to get it booting with some manual work. > > - The meta-xilinx overlay delivers the ATF and PMU firmware. > - My own layer delivers u-boot and kernel and devicetree for my own board > > The FSBL I've manually built using Vivado/SDK. The trick to get that working > was that Vivado version >= 2017.1 was required. It doesn't work (any more) > with the 2016 versions. I installed 2017.2 and only then the FSBL was able > to load the PMU and ATF. Apparently there's a dependency there. > > So all that is left is to automate the process of generating fsbl and > boot.bin. > > I'm pretty sure this can be done using just u-boot, since u-boot has support > for ATF loading and, as I gather from various commits, the PMU as well. It > can also create a boot.bin without the aid of bootgen. It provides the > first-stage loader as well. > However, it seems to a well-kept secret how to actually integrate the PMU. I > can generate a bootloader this way, but I don't know where to put the ATF > and PMU. I suspect they're to be stored in a FIT image. I cannot help much with a SPL-based flow, but generally, ATF and PMUFW go into the boot.bin (see below for a sample bif file that could be used with bootgen). In that case, the PMUFW will be loaded by ROM code, so that should work independently of whether you use SPL or FSBL, but ATF etc. are loaded by the FSBL in the Xilinx boot flow and I don't know how that works in the SPL flow. The bl31.elf is the ATF, bl32.elf would be, a, optional, TEE (e.g. OP-TEE). boot.bif: the_ROM_image: { [fsbl_config] a5x_x64 [pmufw_image] xpfw.elf [bootloader] fsbl.elf [destination_cpu=a53-0,exception_level=el-3,trustzone] bl31.elf [destination_cpu=a53-0,exception_level=el-2] u-boot.elf [destination_cpu=a53-0,exception_level=el-1,trustzone] bl32.elf } I think the syntax is changing a bit. I also have another .bif that specifies the bootloader like this: [destination_cpu=a53-0, bootloader] zynqmp_fsbl.elf I hope it helps a little bit. Sören > > So for now I'm stuck with the much less streamlined FSBL flow. > > > On 22-08-17 20:25, Manjukumar Harthikote Matha wrote: > > Hi Giordon, > > > > meta-xilinx-tools with xsct in your path would enable the same way , > > instead of using the Vivado GUI to generate fsbl/pmu/boot.bin > > > > http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer > > > > So how does one use this layer to just generate the FSBL and boot.bin? > > > 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.looijm...@topicproducts.com > Website: www.topicproducts.com > > Please consider the environment before printing this e-mail > > > > -- > ___ > meta-xilinx mailing list > meta-xilinx@yoctoproject.org > https://lists.yoctoproject.org/listinfo/meta-xilinx -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
I managed to get it booting with some manual work. - The meta-xilinx overlay delivers the ATF and PMU firmware. - My own layer delivers u-boot and kernel and devicetree for my own board The FSBL I've manually built using Vivado/SDK. The trick to get that working was that Vivado version >= 2017.1 was required. It doesn't work (any more) with the 2016 versions. I installed 2017.2 and only then the FSBL was able to load the PMU and ATF. Apparently there's a dependency there. So all that is left is to automate the process of generating fsbl and boot.bin. I'm pretty sure this can be done using just u-boot, since u-boot has support for ATF loading and, as I gather from various commits, the PMU as well. It can also create a boot.bin without the aid of bootgen. It provides the first-stage loader as well. However, it seems to a well-kept secret how to actually integrate the PMU. I can generate a bootloader this way, but I don't know where to put the ATF and PMU. I suspect they're to be stored in a FIT image. So for now I'm stuck with the much less streamlined FSBL flow. On 22-08-17 20:25, Manjukumar Harthikote Matha wrote: Hi Giordon, meta-xilinx-tools with xsct in your path would enable the same way , instead of using the Vivado GUI to generate fsbl/pmu/boot.bin http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer So how does one use this layer to just generate the FSBL and boot.bin? 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.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Manju, Were there changes recently to get this working? When I tried meta-xilinx-tools back when I wrote the wiki as a second option instead of going through the GUI -- I kept getting stuck on the PMU FW portion and was unable to get the board to continue booting (instead it would do a kernel panic) and I never figured out what happened, especially since I got it working with XSDK. Are you saying it should work now? If so, I can look into it. Does anyone know how to make the partitioning step a bit easier for SD Card? It seems needlessly complex right now, but I guess it'll improve later on? Thanks, Giordon On Tue, Aug 22, 2017 at 1:25 PM Manjukumar Harthikote Matha < manju...@xilinx.com> wrote: > Hi Giordon, > > meta-xilinx-tools with xsct in your path would enable the same way , > instead of using the Vivado GUI to generate fsbl/pmu/boot.bin > > > > http://www.wiki.xilinx.com/Using+meta-xilinx-tools+layer > > > > Thanks, > > Manju > > > > *From:* meta-xilinx-boun...@yoctoproject.org [mailto: > meta-xilinx-boun...@yoctoproject.org] *On Behalf Of *Giordon Stark > *Sent:* Tuesday, August 22, 2017 7:46 AM > *To:* Mike Looijmans <mike.looijm...@topic.nl>; Jean-Francois Dagenais < > jeff.dagen...@gmail.com> > *Cc:* meta-xilinx@yoctoproject.org > *Subject:* Re: [meta-xilinx] How to boot the ZynqMP? > > > > Hi, > > > > I'll share my experiences as it has been somewhat painful -- but I did > manage to have success booting from an SD card directly for MPSOC. I'm > working on QSPI boot -- but I wrote my experiences/guide here: > https://github.com/kratsg/meta-l1calo/wiki/ZynqMP:-Prepare-and-Boot-Hardware > > > > > You can also compare it to how I did it for the Zynq-7 -- to see the > differences. But this might help you get a bit further if you haven't > already. > > > > Giordon > > On Tue, Aug 22, 2017 at 12:47 AM Mike Looijmans <mike.looijm...@topic.nl> > wrote: > > On 22-08-17 02:25, Jean-Francois Dagenais wrote: > > > >> > > 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 <+31%20499%20336%20979> > E-mail: mike.looijm...@topicproducts.com > Website: www.topicproducts.com > > Please consider the environment before printing this e-mail > > > > On Aug 21, 2017, at 04:20, Mike Looijmans <mike.looijm...@topic.nl> wrote: > >> > >> > >> 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. > > > > Xilinx "official" support is in FSBL for zynqmp. They removed the SPL > zynqmp stuff from their u-boot fork if I am not mistaken. And they > configure everything using their own stack including other layers such as > meta-linaro and meta-petalinux. > > > > I'm not sure they removed it, the u-boot-xlnx fork is about 8 months > behind on > mainline u-boot. > > Stangely, the mainline version has SPL support, an I actually can get the > board to boot with SPL. But I can't figure out how to make it load PMU and > ATF. > > There have been dozens of commits from Xilinx to support the zynqmp in > u-boot > mainline. None of these are in the Xilnx fork, so I assumed that Xilinx had > seen the light... Apparently the opposite is true. > > >> > >> 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. > > > > Had the same problem. This is because we are hanging on to the old trail > (without the extra layers Xilinx wants us to use). > > > >> > >> 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. > > > > I had to fork a machine from zcu102 in u-boot (so I forked u-boot-xlnx) > in my env. Also forked meta-xilinx-tools such that my machine does the same > configuration of xilinx-bootbin as zcu102 so the ATF and PMU firmware are > bundled inside boot.bin. My fork of > u-boot-xlnx/include/configs/xilinx_zynqmp_zcu102.h is where I tie it all > together with the right file names for linux image and dtb to match what I > have put into the partition using wic, and the default names that yocto > uses for those. > > > > It was a bit of a hassle, and a annoyance co
Re: [meta-xilinx] How to boot the ZynqMP?
Hi, I'll share my experiences as it has been somewhat painful -- but I did manage to have success booting from an SD card directly for MPSOC. I'm working on QSPI boot -- but I wrote my experiences/guide here: https://github.com/kratsg/meta-l1calo/wiki/ZynqMP:-Prepare-and-Boot-Hardware You can also compare it to how I did it for the Zynq-7 -- to see the differences. But this might help you get a bit further if you haven't already. Giordon On Tue, Aug 22, 2017 at 12:47 AM Mike Looijmanswrote: > On 22-08-17 02:25, Jean-Francois Dagenais wrote: > > > >> > > 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 <+31%20499%20336%20979> > E-mail: mike.looijm...@topicproducts.com > Website: www.topicproducts.com > > Please consider the environment before printing this e-mail > > > > On Aug 21, 2017, at 04:20, Mike Looijmans wrote: > >> > >> > >> 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. > > > > Xilinx "official" support is in FSBL for zynqmp. They removed the SPL > zynqmp stuff from their u-boot fork if I am not mistaken. And they > configure everything using their own stack including other layers such as > meta-linaro and meta-petalinux. > > > > I'm not sure they removed it, the u-boot-xlnx fork is about 8 months > behind on > mainline u-boot. > > Stangely, the mainline version has SPL support, an I actually can get the > board to boot with SPL. But I can't figure out how to make it load PMU and > ATF. > > There have been dozens of commits from Xilinx to support the zynqmp in > u-boot > mainline. None of these are in the Xilnx fork, so I assumed that Xilinx had > seen the light... Apparently the opposite is true. > > >> > >> 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. > > > > Had the same problem. This is because we are hanging on to the old trail > (without the extra layers Xilinx wants us to use). > > > >> > >> 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. > > > > I had to fork a machine from zcu102 in u-boot (so I forked u-boot-xlnx) > in my env. Also forked meta-xilinx-tools such that my machine does the same > configuration of xilinx-bootbin as zcu102 so the ATF and PMU firmware are > bundled inside boot.bin. My fork of > u-boot-xlnx/include/configs/xilinx_zynqmp_zcu102.h is where I tie it all > together with the right file names for linux image and dtb to match what I > have put into the partition using wic, and the default names that yocto > uses for those. > > > > It was a bit of a hassle, and a annoyance compared to the ease of build > of the zynq7 series board, but in the end, learned a lot and am more than > ever the master of my domain! ;) > > > > At least now I understand why there's so little interest in the MPSOC. The > licensing alone is a nightmare. > -- > ___ > meta-xilinx mailing list > meta-xilinx@yoctoproject.org > https://lists.yoctoproject.org/listinfo/meta-xilinx > -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
On 22-08-17 02:25, Jean-Francois Dagenais wrote: 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.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail On Aug 21, 2017, at 04:20, Mike Looijmanswrote: 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. Xilinx "official" support is in FSBL for zynqmp. They removed the SPL zynqmp stuff from their u-boot fork if I am not mistaken. And they configure everything using their own stack including other layers such as meta-linaro and meta-petalinux. I'm not sure they removed it, the u-boot-xlnx fork is about 8 months behind on mainline u-boot. Stangely, the mainline version has SPL support, an I actually can get the board to boot with SPL. But I can't figure out how to make it load PMU and ATF. There have been dozens of commits from Xilinx to support the zynqmp in u-boot mainline. None of these are in the Xilnx fork, so I assumed that Xilinx had seen the light... Apparently the opposite is true. 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. Had the same problem. This is because we are hanging on to the old trail (without the extra layers Xilinx wants us to use). 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. I had to fork a machine from zcu102 in u-boot (so I forked u-boot-xlnx) in my env. Also forked meta-xilinx-tools such that my machine does the same configuration of xilinx-bootbin as zcu102 so the ATF and PMU firmware are bundled inside boot.bin. My fork of u-boot-xlnx/include/configs/xilinx_zynqmp_zcu102.h is where I tie it all together with the right file names for linux image and dtb to match what I have put into the partition using wic, and the default names that yocto uses for those. It was a bit of a hassle, and a annoyance compared to the ease of build of the zynq7 series board, but in the end, learned a lot and am more than ever the master of my domain! ;) At least now I understand why there's so little interest in the MPSOC. The licensing alone is a nightmare. -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
> On Aug 21, 2017, at 04:20, Mike Looijmanswrote: > > > 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. Xilinx "official" support is in FSBL for zynqmp. They removed the SPL zynqmp stuff from their u-boot fork if I am not mistaken. And they configure everything using their own stack including other layers such as meta-linaro and meta-petalinux. > > 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. Had the same problem. This is because we are hanging on to the old trail (without the extra layers Xilinx wants us to use). > > 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. I had to fork a machine from zcu102 in u-boot (so I forked u-boot-xlnx) in my env. Also forked meta-xilinx-tools such that my machine does the same configuration of xilinx-bootbin as zcu102 so the ATF and PMU firmware are bundled inside boot.bin. My fork of u-boot-xlnx/include/configs/xilinx_zynqmp_zcu102.h is where I tie it all together with the right file names for linux image and dtb to match what I have put into the partition using wic, and the default names that yocto uses for those. It was a bit of a hassle, and a annoyance compared to the ease of build of the zynq7 series board, but in the end, learned a lot and am more than ever the master of my domain! ;) Hope this helps a bit. Cheers! /jfd -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
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.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail On Aug 18, 2017, at 08:25, Mike Looijmanswrote: 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. -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] How to boot the ZynqMP?
Hi Mike, > On Aug 18, 2017, at 08:25, Mike Looijmanswrote: > > 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 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: I made zynq-wic-sdcard.bbclass automatically inherited by all images through IMAGE_CLASSES with this content: WKS_FILES = "zynq-wic-sdcard.wks" IMAGE_DEPENDS_wic += "dosfstools-native mtools-native e2fsprogs-native" do_image_wic[depends] += "\ xilinx-bootbin:do_deploy \ " python () { initRdImage = d.getVar("INITRD_IMAGE", True) if initRdImage: d.appendVarFlag("do_image_wic", "depends", " " + initRdImage + ":do_image_complete") } IMAGE_CMD_wic_append() { cd ${DEPLOY_DIR_IMAGE} ln -sfv ${IMAGE_LINK_NAME}.wic.lz4 ${IMAGE_LINK_NAME}.sdcard.lz4 } === And here's zynq-wic-sdcard.wks: # short-description: Create SD card image with a boot partition # long-description: Creates a partitioned SD card image. Boot files # are located in the first vfat partition. # !! the partition alignment must match that found in test files # we add 6MB to the boot partition to allow devs to copy a fpga.bin for example part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label ZBOOT --active --align 4096 --extra-space 6 part / --source rootfs --ondisk mmcblk --fstype=ext4 --label rootfs --align 4096 --extra-space 5 You can find my patch on meta-xilinx which turns xilinx-bootbin into a recipe (https://www.mail-archive.com/meta-xilinx@yoctoproject.org/msg01664.html). This is for the do_image_wic[depends] += "xilinx-bootbin:do_deploy" to work ;) Enjoy! -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
[meta-xilinx] How to boot the ZynqMP?
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. 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.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx