9

On a Raspberry Pi 4, on a vanilla downloaded 19.10 image of Ubuntu 19 arm64, I failed trying to enable cgroup memory, needed for Kubernetes.

I created (because I don't understand well the real one, I think the 4th)

  • /boot/cmdline.txt
  • /boot/firmware/cmdline.txt
  • /boot/firmware/btcmd.txt (modified)
  • /boot/firmware/usercfg.txt (modified)

to append:

cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1

but in vain.

If I check cat /proc/cgroups the cgroup memory is disabled.

If I check cat /proc/cmdline there isn't.

How can I fix that?

9

I've just had this exact problem after picking up a new rpi4 on Ubuntu 19.10. After a quick poke...

The /boot/firmware/README file appears to detail the updated boot process. The second step in the process is to load /boot/firmware/config.txt which specifies /boot/firmware/nobtcmd.txt as the current cmdline.

So modify /boot/firmware/nobtcmd.txt and append: cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1. Reboot and cat /proc/cmdline

I wouldn't be surprised if some magic (maybe enabling BT?) changes the cmdline to /boot/firmware/btcmd.txt so it might be worth adding the change to that file too.

14

Following @kremerol solution, I was able to get my RPI 4 with Ubuntu 20.04 working.

  1. Run sudo nano /boot/firmware/cmdline.txt

  2. Edit the default file to look like below.

     net.ifnames=0 dwc_otg.lpm_enable=0 console=serial0,115200 cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc
    

    NOTE: These are the 3 settings to add:

    • cgroup_enable=cpuset
    • cgroup_enable=memory
    • cgroup_memory=1
  3. Save the file and reboot and the node status will change to ready.

  4. You can check the status by running sudo microk8s.kubectl get nodes

2

On Raspbian I had to add the following in /boot/cmdline.txt

cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory

You must add this to the end of the existing line; if you add it at the bottom of file in a new line it doesn't work.

1
  • specific to Rasbpian – karel Aug 9 '20 at 8:19
1

On my Raspberry Pi 4 (ubuntu-server-20.10/arm64) I had to append the following lines to /boot/firmware/cmdline.txt:

cgroup_enable=memory cgroup_memory=1

0

Maybe you're using an external USB disk with a microsd as boot device? In that case, the change must be done in the microsd partition and not in the USB.

1
  • I'm using the microsd slot available in the raspberry as a primary storage, attaching that sd to the pc i can see 2 partitions: boot and another one not readable from windows, i think the os one. Maybe i miss some basics. – Luca Mazzanti Nov 17 '19 at 13:59
0

Reading in the boot partition the config.txt the settings of cmdline point to a file nobtcmd.txt, which is exactly what I can see at runtime from /proc/cmdline. Changed inside that and now it works properly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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