what role does graphdriver and AUFS play in building a balena image

Hi,
I was planning on porting Balena to a new device, to sanity check my build environment I test built banlena-intel and balena-raspberrypi.
I looks like in balena-intel all builds passed apart from generic-x86_64, and an raspberrypi all builds failed. All fails had the same error.

 time="2020-04-24T04:06:42.388593768Z" level=error msg="AUFS was not found in /proc/filesystems" storage-driver=aufs
| Error starting daemon: error initializing graphdriver: driver not supported

Upon a bit of google, looks like the aufs-driver was never upstreamed and on ubuntu(based) OS support it with a patched kernel. I use fedora 31, and the only way forward for me is to use a Ubuntu VM since this being a kernel module a ubuntu container does’nt cut it.

So what I wanted to know was how can I avoid using aufs and it seems its not super necessary as generic-x86_64-ext and surfacebook targets got built just fine.

Hi,

yes a lot of our devices default to the Aufs storage driver for “legacy” reasons. You can use BALENA_STORAGE to set overlayfs as the default driver: https://github.com/balena-os/meta-balena/blob/development/meta-balena-common/conf/distro/include/balena-os.inc#L70

1 Like