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!

Sign up to request clarification or add additional context in comments.

Comments

0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.