在 Raspberry Pi 4 上,下载了 vanilla19.10Ubuntu 19 arm64 的图像,我尝试启用 Kubernetes 所需的 cgroup 内存失败。
我创建了(因为我不太了解真正的,我认为是第四个)
/boot/cmdline.txt
/boot/firmware/cmdline.txt
/boot/firmware/btcmd.txt
(修改的)/boot/firmware/usercfg.txt
(修改的)
附加:
cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
但徒劳无功。
如果我检查cat /proc/cgroups
cgroup 内存已被禁用。
如果我检查的话,cat /proc/cmdline
没有。
我该如何修复它?
答案1
按照@kremerol 的解决方案,我能够让我的 RPI 4 与 Ubuntu 20.04 一起工作。
跑步
sudo nano /boot/firmware/cmdline.txt
编辑默认文件使其如下所示。
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
笔记:以下是需要添加的 3 个设置:
cgroup_enable=cpuset
cgroup_enable=memory
cgroup_memory=1
保存文件并重新启动,节点状态将变为就绪。
您可以通过运行来检查状态
sudo microk8s.kubectl get nodes
答案2
我在 Ubuntu 19.10 上购买新的 rpi4 后遇到了同样的问题。快速戳了一下后...
该/boot/firmware/README
文件似乎详细描述了更新后的启动过程。该过程的第二步是加载/boot/firmware/config.txt
指定/boot/firmware/nobtcmd.txt
为当前的cmdline
。
因此修改/boot/firmware/nobtcmd.txt
并附加:cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
。重新启动并cat /proc/cmdline
如果某些魔法(也许是启用 BT?)将命令行更改为,我不会感到惊讶,/boot/firmware/btcmd.txt
因此可能值得将更改也添加到该文件中。
答案3
在 Raspbian 上我必须添加以下内容/boot/cmdline.txt
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
您必须将其添加到现有行的末尾;如果将其添加到文件底部的新行中,则不起作用。
答案4
也许您正在使用带有 microSD 的外部 USB 磁盘作为启动设备?在这种情况下,更改必须在 microSD 分区中进行,而不是在 USB 中进行。