rauc / meta-rauc-community

Yocto/OpenEmbedded meta layer with examples for integration of RAUC, the embedded Linux A/B update framework
MIT License
48 stars 52 forks source link

Adding example for nxp cubox-i/hummingboard board. #46

Closed AtanasBunchev closed 1 year ago

AtanasBunchev commented 1 year ago

This layer demonstrates A/B updates with RAUC for cubox-i/hummingboard boards.

leon-anavi commented 1 year ago

Hi @ejoerns,

I am not yet sure if we should name this layer meta-rauc-nxp since it does not only sound quite official but also covers only one specific board and I am unsure if there is much more to share with other nxp platforms.

I hope that over the time there will be opportunities to extend the RAUC support in this sub-layer for other dev boards with i.MX6 and i.MX8 SoC. Layer meta-freescale has its name due to historical reasons but nowadays having freescale in the name for a new sublayer may create confusion.

In general, I have to say that I am not a huge fan of meta-freescale (or vendor layers in general) since it adds very much overhead to the BSP that is not needed in 90% of the use cases, but on the other hand, it is a simple reference for an integration of some platforms and so we don't have to provide our own machine config, yet.

I have just tried out this pull request and it works fine in terms of RAUC.

It is interesting that my Hummingboard doesn't boot properly if there is a HDMI cable connected to it and u-boot complains for Unknown command 'fastboot' - try 'help'. This is weird but it is BSP issues and not related to RAUC. It happens with and without meta-rauc & meta-rauc-community.

@AtanasBunchev could you please address the minor issues pointed out in Enrico's code review?

Thanks, Leon

ejoerns commented 1 year ago

Hi @ejoerns,

I am not yet sure if we should name this layer meta-rauc-nxp since it does not only sound quite official but also covers only one specific board and I am unsure if there is much more to share with other nxp platforms.

I hope that over the time there will be opportunities to extend the RAUC support in this sub-layer for other dev boards with i.MX6 and i.MX8 SoC. Layer meta-freescale has its name due to historical reasons but nowadays having freescale in the name for a new sublayer may create confusion.

Yes, I know, but this was not my point. My thought was more about if we should name this meta-rauc-nxp or meta-rauc-cubox-i.

But also note that there are only a few example boards in the nxp/freescale layer (and they are actually in meta-freescale-3rdparty). For others, I do not see too much benefit in adding meta-freescale since i.MX processors are well-supported by mainline u-boot and kernel. For i.MX8 and its firmware, meta-freescale might however make a little more sense.

In general, I have to say that I am not a huge fan of meta-freescale (or vendor layers in general) since it adds very much overhead to the BSP that is not needed in 90% of the use cases, but on the other hand, it is a simple reference for an integration of some platforms and so we don't have to provide our own machine config, yet.

I have just tried out this pull request and it works fine in terms of RAUC.

So you have a Cubox-I? Great! I have only compile-tested it but this looks fine.

It is interesting that my Hummingboard doesn't boot properly if there is a HDMI cable connected to it and u-boot complains for Unknown command 'fastboot' - try 'help'. This is weird but it is BSP issues and not related to RAUC. It happens with and without meta-rauc & meta-rauc-community.

@AtanasBunchev could you please address the minor issues pointed out in Enrico's code review?

Thanks, Leon

leon-anavi commented 1 year ago

Yes, I know, but this was not my point. My thought was more about if we should name this meta-rauc-nxp or meta-rauc-cubox-i.

I don't insist but I prefer to think about the long-term future and group together support for devices with NXP i.mx6/i.mx8. At the moment cubox-i is the first one but hopefully there will be more to follow.

So you have a Cubox-I? Great! I have only compile-tested it but this looks fine.

I have both HummingBoard and cubox. However, only Hummingboard has convenient pins for attaching UART to USB. As I mentioned there is an U-Boot issue with the HDMI which affects both devices so I tested only on Hummingboard. Unfortunately I don't have enough time for debugging this in the BSP and based on my tests it is definitely not related to RAUC.

AtanasBunchev commented 1 year ago

I changed the bundle format to verity and added description about updating with HTTP Streaming.

leon-anavi commented 1 year ago

Hi @AtanasBunchev,

Awesome! Great work! It is always welcome to extend the list of supported hardware in meta-rauc-community. Now with the enabled verity format we should be good to go so I will merge this GitHub pull request. Thank you!

Thanks, Leon