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

installing bundle using streaming giving error : BLK_DEV_NBD not enabled in kernel #49

Closed abdo12007 closed 1 year ago

abdo12007 commented 1 year ago

i have bitbaked a core-image-base for the rspberry pi i have made sure that this options kernel are enable in the rauc.cfg :

CONFIG_BLK_DEV_LOOP=y CONFIG_SQUASHFS=y CONFIG_MD=y CONFIG_BLK_DEV_DM=y CONFIG_DM_VERITY=y CONFIG_CRYPTO_SHA256=y

then i generate the img , flashing it on an sd card and it works on the raspberry pi3 then i generate a bundle in the plain format and i installed it using rauc install ... and it works fine.

then

uncommenting this option on the .bb file RAUC_BUNDLE_FORMAT = "verity"

and i generated another bundle in the verity format and i installed it using streaming but i get this error :
failed mounting bundle: failed to resolve 'ndb' netlink family - BLK_DEV_NBD not enabled in kernel

why i got BLK_DEV_NBD not enabled in kernel although i have enable it on the rauc.cfg ? could that be because i am using an sd card ? how can i solve this ?

leon-anavi commented 1 year ago

Hi @abdo12007,

Which Yocto release and branch for meta-rauc-raspberrypi are you using?

Best regards, Leon

abdo12007 commented 1 year ago

hello @leon-anavi i am using Yocto Dunfell meta-rauc-raspberrypi = "dunfell:738db79bd714f7ca5969482a2c7cab80471d8e9f

leon-anavi commented 1 year ago

Hi @abdo12007,

Support for streaming installation from a HTTP(S) server for bundles in verity was added in RAUC version v1.7 and I see meta-rauc dunfell as of the moment provide v1.8 so in this aspect you should be ok.

Have you added CONFIG_BLK_DEV_NBD=y to the rauc.cfg kernel fragment for Raspberry Pi?

Best regards, Leon

abdo12007 commented 1 year ago

yes i have added CONFIG_BLK_DEV_NBD=y . this is the content of $PWD/poky-rpi-rauc/meta-rauc/recipes-kernel/linux/linux-yocto/rauc.cfg CONFIG_BLK_DEV_LOOP=y CONFIG_SQUASHFS=y CONFIG_MD=y CONFIG_BLK_DEV_DM=y CONFIG_DM_VERITY=y CONFIG_CRYPTO_SHA256=y CONFIG_BLK_DEV_NBD=y

always the same issue

abdo12007 commented 1 year ago

hello @leon-anavi after i rebuild the hole image now i am getting this error : Failed mounting bundle: failed to open /dev/mapper/control: no such file or directory

ejoerns commented 1 year ago

@abdo12007 please check if the kernel generated actually has DM enabled. It does not look like if this would be the case.

In your kernel build dir you should see the actual .config generated. If this looks fine, please check if the kernel built is actually the kernel installed on the target (e.g. by comparing checksums).

abdo12007 commented 1 year ago

hello, I verified and the DM is enable go this error : failed mounting bundle: failed to load dm table: invalid argument are you familiar with this error ?

ejoerns commented 1 year ago

hello, I verified and the DM is enable go this error : failed mounting bundle: failed to load dm table: invalid argument are you familiar with this error ?

This could mean you have enabled DM support but not DM_VERITY.

abdo12007 commented 1 year ago

hello @ejoerns yes i believe so , i tried to enable the Dm verity but i got several errors related to packages and etc ...

can you give a hint on how to do that ?