ahcbb6 / meta-freertos

FreeRTOS distro layer compatible with OpenEmbedded
MIT License
26 stars 10 forks source link

How to use with PetaLinux in a multiconfig setting...? #12

Closed madscientist42 closed 1 year ago

madscientist42 commented 1 year ago

While this is interesting and we'd like to help grow this, it's kind of hard to use when it's not working right- and it looks like it's all a PetaLinux thing...

No documentation here is a bit of a pain and it's not obvious if it's a bug in the sense of misusing the layer or if PetaLinux is actually breaking things.

madscientist42 commented 1 year ago

And I did make sure it worked with something other than PetaLinux before going there. ;)

I've my own layers, etc. and all.

ahcbb6 commented 1 year ago

Hi @madscientist42 ! , I'm afraid I'm not following what the issue is, this layer has nothing to do with Petalinux (neither the Petalinux Distro nor the Petalinux tool provided by Xilinx). I believe you are referring to the tool, the Petalinux tool might require some additional functionality to allow it to work with this layer, sadly that is something Xilinx would have to do and not something we can modify here.

This is meant to work with a Yocto Project/OE setup, the documentation/instructions are on the README file, following the provided instructions allow you to build either just freertos or both freertos and Linux at the same time using multiconfig in bitbake for qemuarmv5 and qemux86-64 respectively.

madscientist42 commented 1 year ago

Well, then, a bit of education is in order...

Yocto is used by Xilinx IN PetaLinux and PetaLinux is a wrapper around their gate logic generation code, etc. to help generate Device Tree source code, etc. The Yocto parts are just not laid out the way you think they are and expect them to be.

Here's a little sample of the tree output for one of those project directories...

zynqmp-iwg35m/ ├── build │ ├── cache │ ├── conf │ ├── downloads │ │ ├── git2 │ │ └── uninative │ ├── misc │ │ ├── config │ │ └── rootfs_config │ ├── sstate-cache │ └── tmp │ ├── buildstats │ ├── cache │ ├── deploy │ ├── hosttools │ ├── log │ ├── pkgdata │ ├── sstate-control │ ├── stamps │ ├── sysroots-components │ ├── sysroots-uninative │ ├── work │ └── work-shared ├── components │ ├── plnx_workspace │ │ └── device-tree │ └── yocto │ ├── cache │ ├── conf │ ├── downloads │ ├── layers │ ├── sysroots │ └── workspace ├── images │ └── linux │ └── pxelinux.cfg └── project-spec ├── configs │ ├── busybox │ ├── init-ifupdown │ └── systemd-conf ├── hw-description └── meta-user ├── conf ├── recipes-apps ├── recipes-bsp ├── recipes-core ├── recipes-graphics ├── recipes-kernel ├── recipes-modules └── recipes-support

DO note the "Yocto" directory there and a lot of metadata layers. So...let's start over, shall we?

On Wed, Nov 2, 2022 at 9:11 PM Alejandro Enedino Hernandez Samaniego < @.***> wrote:

Hi @madscientist42 https://github.com/madscientist42 ! , I'm afraid I'm not following what the issue is, this layer has nothing to do with Petalinux (neither the Petalinux Distro nor the Petalinux tool provided by Xilinx). I believe you are referring to the tool, the Petalinux tool might require some additional functionality to allow it to work with this layer, sadly that is something Xilinx would have to do and not something we can modify here.

This is meant to work with a Yocto Project/OE setup, the documentation/instructions are on the README https://github.com/aehs29/meta-freertos/blob/master/README.md file, following the provided instructions allow you to build either just freertos or both freertos and Linux at the same time using multiconfig in bitbake for qemuarmv5 and qemux86-64 respectively.

— Reply to this email directly, view it on GitHub https://github.com/aehs29/meta-freertos/issues/12#issuecomment-1301566925, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKF6CJNOBXB2ADIHUDDAE3WGMNO5ANCNFSM6AAAAAARVVHXIM . You are receiving this because you were mentioned.Message ID: @.***>

ahcbb6 commented 1 year ago

I'm aware of what the Petalinux tool does and what it is, what I'm trying to say is that its probably incompatible in its current state without some tweaks, the tool would need integration work from the vendor's side to allow it to work automatically. That being said, I dont see why you couldn't just add the layer to your bblayers.conf manually (the location really shouldn't matter as long as you point to it) along with the multiconfig dependency statement (like the one in the instructions) that would make it build, however, again do note that the current port works on qemuarmv5 and you would have to create your own port for your architecture whether that would be a microblaze or something else, at least you would need to create the freertos-. bbclass just like the one that exists in this layer along with specifying both the BSP_REPO and app repos to allow it to build your own app for a certain architecture.

ahcbb6 commented 1 year ago

I'm closing this, since this is work that has to be done by the Petalinux team at Xilinx/AMD.