rauc / meta-rauc-community

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

Kirkstone support #34

Closed bboozzoo closed 2 years ago

bboozzoo commented 2 years ago

I've noticed that the repository has no kirkstone branch, and at least meta-rauc-raspberrypi/conf/layer.conf does not list kirkstone as a compatible layer series.

For the record, honister is listed in compatible series, which is after the syntax changes. I'll add that to kirkstone there and maybe open a PR if the image builds successfully.

om26er commented 2 years ago

@leon-anavi Do have any plan for the krikstone branch ?

leon-anavi commented 2 years ago

Hi @bboozzoo, @om26er,

Yes, absolutely, let's create krikstone branch. I am on the go and away from the keyboard today. I will do it tomorrow.

Thanks, Leon

leon-anavi commented 2 years ago

Actually, we have a krikstone branch: https://github.com/rauc/meta-rauc-community/tree/krikstone

Best regards, Leon

ejoerns commented 2 years ago

Well, I guess the confusion originates from the fact that we have a collection of several layers, but not all of them support kirkstone at the moment. At least the rasperrypi does not (in LAYERSERIES_COMPAT).

zpfvo commented 2 years ago

I wanted to add, that the yocto release is called kirkstone and the branch is called krikstone. I guess this is a typo.

d-s-e commented 2 years ago

Would it be possible to rename the branch krikstone to kirkstone, because this is really confusing. Apart from that, what is missing for full kirkstone support?

ejoerns commented 2 years ago

I have renamed the branches now.

ejoerns commented 2 years ago

Apart from that, what is missing for full kirkstone support?

Adding kirkstone to LAYERSERIES_COMPAT_<meta-layer> for the individual layers and testing if this is not just an empty promise would be great imho :smirk:

So if you would like to build one of these layers against kirkstone, just add the release name to the variable list (or replace the original one) and see if it works. If it works, submit a PR for the adaption.

Since this is a layer mainly maintained by 'community' any help is appreciated.

caglarkilimci commented 2 years ago

I start building it. I will test, too. I let you know and can create a PR.

caglarkilimci commented 2 years ago

The build was successful but the RAUC does not work properly. The problem is in environments. These are the output of the fw_printenv. Do you have any suggestion where to start? fw_printenv_dunfell.md fw_printenv_kirkstone.md

ejoerns commented 2 years ago

The only difference I see is that the RAUC-specific variables are not set in the kirkstone case.

What does 'not properly work' mean? Do you get an error message when running RAUC?

caglarkilimci commented 2 years ago

As far as I test, did not see any problem with RAUC itself. The RAUC-specific variables related problems are the main issue. As an example, rauc could not get primary slot.

root@raspberrypi3:~# rauc status

(rauc:360): rauc-WARNING **: 08:06:14.632: Failed getting primary slot: Failed getting primary slot: Unable to find primary boot slot

=== System Info ===
Compatible:  RaspberryPi3
Variant:     
Booted from: rootfs.0 (/dev/mmcblk0p2)

=== Bootloader ===
Activated: (null) ((null))

=== Slot States ===
o [rootfs.1] (/dev/mmcblk0p3, ext4, inactive)
    bootname: B
    boot status: bad

o [rootfs.0] (/dev/mmcblk0p2, ext4, booted)
    bootname: A
    mounted: /
    boot status: bad
ejoerns commented 2 years ago

Have a look if https://github.com/rauc/meta-rauc-community/blob/master/meta-rauc-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in is missing in your u-boot

caglarkilimci commented 2 years ago

It is actually in place. Maybe, I need fully clean build. I also notice that another boot.com.in file is in place at meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in

d-s-e commented 2 years ago

Looks good here:

root@raspberrypi4:~# rauc status
=== System Info ===
Compatible:  RaspberryPi4
Variant:     
Booted from: rootfs.0 (A)

=== Bootloader ===
Activated: rootfs.0 (A)

=== Slot States ===
o [rootfs.1] (/dev/mmcblk0p3, ext4, inactive)
        bootname: B
        boot status: good

x [rootfs.0] (/dev/mmcblk0p2, ext4, booted)
        bootname: A
        mounted: /
        boot status: good

Is there anything else that should be checked?

caglarkilimci commented 2 years ago

Yes, you are right. I build and run on core-image-minimal now and it works. I also confirm that rauc install works.

ejoerns commented 2 years ago

Should be fixed by #36 now.