agherzan / meta-chip

Yocto BSP layer for C.H.I.P. boards
MIT License
15 stars 21 forks source link

UBI image is not reserving enough PEBs #11

Open koenkooi opened 7 years ago

koenkooi commented 7 years ago

When booting I get the following warning:

UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 20, need 120

Researching the issue on the interwebs I get a lot of "You're doing it wrong, you idiot" posts from the UBIfs maintainer, but no real solutions. The solution that is mentioned a lot is to no specify a _volsize and set the autoresize flag. But OE-core already does both. The only difference I could spot between the mtd-utils docs and OE is this one:

koen@beast:/build/v2016.12/layers/openembedded-core$ git diff
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 3bfa60b..66eb598 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -154,6 +154,7 @@ multiubi_mkfs() {
        echo vol_id=0 >> ubinize${vname}-${IMAGE_NAME}.cfg
        echo vol_type=dynamic >> ubinize${vname}-${IMAGE_NAME}.cfg
        echo vol_name=${UBI_VOLNAME} >> ubinize${vname}-${IMAGE_NAME}.cfg
+       echo vol_alignment=1 >> ubinize${vname}-${IMAGE_NAME}.cfg
        echo vol_flags=autoresize >> ubinize${vname}-${IMAGE_NAME}.cfg
        mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
        ubinize -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubi ${ubinize_args} ubinize${vname}-${IMAGE_NAME}.cfg

And that doesn't make a difference. I suspect the problem is in u-boot and/or in CHIP-tools.