Gadget snaps for MTD devices

Can someone direct me to example/sample work done for gadget snaps on MTD devices (NAND/NOR)?

The Ubuntu Core boot process completely relies on partition labels currently (the writable and the system-boot partition need to be possible to be found by label from the initramfs). If you want to use MTD for bootloader files, this is definitely possible (though we lack a public example) by defining multiple volumes in the gadget.yaml file (i.e. to create a sperate u-boot.img file or some SPL img that you can flash raw to an MTD device).

For the boot partition we are sadly currently bound to vfat, for the rootfs we use ext4 and there is no support for ubifs images yet, so here you might need to use something else than MTD.

I see. I was pitching snaps where I work to migrate the traditional embedded software development and packaging. We are embarking on CI/CD transformation. Snaps seem to fit the bill but it’s documentation is limited and lacks enterprise usecases are missing. UBIFS/JFFFS support are hard requirements and thus so it appears that I must look for alternatives. Thanks for your response.

Well, we are surely technically able to implement UBIFS/JFFS support, its a matter of either having a paying customer wanting to fund it or getting a code contribution from the community (or a code contribution from a paying/non-paying customer :slight_smile: ) to actually implement it (Core is completely opensource, if there is a regression-free implementation in form of a merge proposal on github it will surely not be refused).

By experience (with existing customers) most creators of hardware nowadays go with the far cheaper eMMC options and thus NAND/NOR didnt really come up in the last years (except for a minimal bootloader device which some actually have in use).

Thanks for the suggestion @ogra. I will try to explore possibility if my company is willing to sponsor adding support for UBIFS/JFFS support. Perhaps I can also motivate one of my team mates for this :slight_smile:.

Devices in enterprise domain tend to go with NAND/NOR due to security policies and compliance. I’ll update this thread further in case I find favorable response for UBIFS/JFFS support in Core.


@ogra @onexay
Also have a device with MTD/UBIFS and was wondering if you already have a solution.
Could you estimate how much effort it would be to add UBIFS/JFFS support?