alistair23 / meta-pine64

OpenEmbedded/Yocto layer for the Pine64 boards
MIT License
22 stars 21 forks source link

Start adding PineNote support #21

Closed csonsino closed 1 year ago

csonsino commented 2 years ago

This is a pretty good start on support for the PineNote A55 device.

I tried to keep everything constrained to the PineNote A55 machine, but I would appreciate it (and highly suggest) if someone else could run a few builds with the other machines to make sure that I didn't unintentionally pollute anything.

csonsino commented 2 years ago

Regarding the old vs new overrides, I originally started my own new meta layer with only honister support (LAYERSERIES_COMPAT_pinenote-layer = "honister" in layer.conf), and builds seemed to fail with the old style so I was only using the new style. When I started working against your meta layer, I noticed that it didn't support honister and supports several older releases. I wasn't sure how far back the new style support went, and I saw a few files that used the old style - particularly recipes-bsp/u-boot/u-boot_%.bbappend, recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend and recipes-kernel/linux/linux-yocto_%.bbappend so I thought that it would be safer to use the old style. But I'll go through and make sure that everything I'm adding uses the new style.

csonsino commented 2 years ago

What are your thoughts on the "level of support" that meta-pine64 should provide? Should this layer only include barebones configuration to get the device to boot, or should it contain higher level configuration like packagegroups, images, distros, etc?

I'd like to start building out more full-featured images- a phosh-based distro for example, but that introduces other layer dependencies and extra packages. Maybe I should create a separate layer for distro configuration and some of the things that I started dropping in here, like the images & packagegroups that are probably considered optional?

alistair23 commented 2 years ago

Regarding overrides, I meant there should first be a separate PR to do the conversion. No worries though, I'm prepping one now, will test and push in the next day or so. For everything new please keep with the new style.

As for level of support, I generally think the less the better. Ideally this layer would have as little as possible with everything else in other relevant layers. This layer should mostly focus on just enabling the hardware.

So for example a phosh packagegroup should probably go in meta-openembedded so it benefits everyone instead of just pine devices.

In saying that, if something makes sense to be included here, then that's fine

csonsino commented 2 years ago

In that case I think I'm going to remove some of the "extra stuff" out of this layer that I was adding (mostly image and packagegroup recipes). There's already an existing meta-phosh layer which I've been playing with (although it does require honister or newer due to updates in meson.bbclass around compiling with rust).