在 Raspberry Pi 4 上,在下載的 vanilla 上19.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
/boot/firmware/btcmd.txt
如果某些魔法(也許啟用 BT?)將 cmdline 更改為因此可能值得將更改添加到該文件,我不會感到驚訝。
答案3
在 Raspbian 上我必須添加以下內容/boot/cmdline.txt
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
您必須將其添加到現有行的末尾;如果您將其新增至文件底部的新行中,則它將無法運作。
答案4
也許您正在使用帶有 microSD 的外部 USB 磁碟作為啟動裝置?在這種情況下,變更必須在 microSD 分割區中完成,而不是在 USB 中完成。