Lot of people are using Raspberry Pi 4 devices as home router/firewall because of their cpu power and cheap price, intersting in particular with gigabit connections and SQM shaping. I think this is very cool for the openwrt project as it brings lot of visibility and user base, thus more devs and interest to this awesome project.
Even running SQM and some other stuff doesnt use the full capability of that device: lot of free ram and cpu power ready to be used for more opkg's, and also free space as the device is used with external storage of many gigabytes (sdcards, usb, etc.).
Basically, this device is an awesome target to use some dockerization with extra apps, like for example ntopng, but many others. It is pretty painful to port any new package even if the SDK is great. This device/target could be greatly promoted and used if docker support was working.
However, on the default built target, there are missing items for docker to work correctly, in particular stuff related to cgroups on the kernel. Oddly, some cgroup options are enabled, others not, which leads to docker, dockerman, and other ipkg's to not work on it.
I was wondering if the devs (Noltari, rsalvaterra or whoever) or someone already contributor could just enable the necessary for this target be a great docker candidate, awesome home router replacement, and finally unleash its full potential.
I saw from my sdk build that by default lot of cgroup options are disabled:
CONFIG_KERNEL_CGROUPS=y # CONFIG_KERNEL_CGROUP_DEBUG is not set # CONFIG_KERNEL_CGROUP_FREEZER is not set # CONFIG_KERNEL_CGROUP_DEVICE is not set # CONFIG_KERNEL_CGROUP_HUGETLB is not set CONFIG_KERNEL_CGROUP_PIDS=y CONFIG_KERNEL_CGROUP_RDMA=y CONFIG_KERNEL_CGROUP_BPF=y CONFIG_KERNEL_CGROUP_CPUACCT=y # CONFIG_KERNEL_CGROUP_PERF is not set CONFIG_KERNEL_CGROUP_SCHED=y CONFIG_KERNEL_BLK_CGROUP=y # CONFIG_KERNEL_DEBUG_BLK_CGROUP is not set # CONFIG_KERNEL_NET_CLS_CGROUP is not set # CONFIG_KERNEL_CGROUP_NET_CLASSID is not set # CONFIG_KERNEL_CGROUP_NET_PRIO is not set CONFIG_PACKAGE_libcgroup=m CONFIG_PACKAGE_cgroup-tools=m CONFIG_PACKAGE_cgroupfs-mount=m # CONFIG_CGROUPFS_MOUNT_KERNEL_CGROUPS is not set # CONFIG_DOCKER_CGROUP_OPTIONS is not set CONFIG_PACKAGE_lxc-cgroup=m
I know I can enable them locally but this wont lead to help this target be more developed and adpoted by others, and will also make my kmods and device updates more painful.
So, can a charitable soul just enable everything for it to be docker-compatible ?
Thank you !