1

I have created and installed a kernel 4.19-rt patch on my embedded board using Yocto and use the meta-virtualization layer. In my config file, I have added the following lines

DISTRO_FEATURES_append = " virtualization"
IMAGE_INSTALL_append = " docker cgroup-lite"
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
IMAGE_ROOTFS_SIZE_ext4 = "64000000"
KERNEL_FEATURES_append = " features/cgroups/cgroups.scc "

However, after logging in to my board and start dockerd, i get the following error:

ERRO[2021-05-23T08:09:35.292169700Z] Failed to built-in GetDriver graph btrfs /var/lib/docker 
ERRO[2021-05-23T08:09:35.301461200Z] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded. 
ERRO[2021-05-23T08:09:35.319464500Z] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded. 
ERRO[2021-05-23T08:09:35.319629700Z] Failed to built-in GetDriver graph devicemapper /var/lib/docker 
INFO[2021-05-23T08:09:35.339165400Z] Graph migration to content-addressability took 0.00 seconds 
WARN[2021-05-23T08:09:35.339814100Z] Your kernel does not support cgroup memory limit 
WARN[2021-05-23T08:09:35.340049500Z] Your kernel does not support cgroup rt period 
WARN[2021-05-23T08:09:35.340145300Z] Your kernel does not support cgroup rt runtime 
WARN[2021-05-23T08:09:35.340185800Z] Unable to find blkio cgroup in mounts        
WARN[2021-05-23T08:09:35.626041100Z] Unable to find cpuset cgroup in mounts WARN[2021-05-23T08:09:35.626320800Z] mountpoint for pids not found                
Error starting daemon: Devices cgroup isn't mounted

How can i fix this problem?

1

2 Answers 2

1

I recently solved this issue on my board, and it looks like you need to enable the right kernel modules for this. Add IMAGE_INSTALL_append = " docker-contrib" to your local.conf and run the /usr/share/docker/check-config.sh on the board, after booting it up. It will list all the kernel modules you need to run docker successfully.

You can use menuconfig (https://www.yoctoproject.org/docs/2.4/kernel-dev/kernel-dev.html#configuring-the-kernel) to configure the kernel and add the missing kernel modules. Docker should run after this.

Hopefully this helps!

0

This issue seems to be fixed at least for the latest Kirkstone LTS. I get no such error using your local.conf.

Not the answer you're looking for? Browse other questions tagged or ask your own question.