在 Raspberry Pi 4 上,运行 Ubuntu Focal 64 位。LXD 不断出现故障,似乎是因为缺少内核模块 veth.ko。
为了尝试恢复它,我做了以下操作:
sudo apt install linux-modules-5.4.0-1012-raspi --reinstall
这可恢复 veth.ko 并使 LXD 正常工作。但是,如果我重新启动,veth.ko 将被删除。我是否需要更改某些配置,以便当前因“原因”而删除 veth.ko?
答案1
该软件包cloud-initramfs-copymods
从 /boot/firmware 中的 initramfs 设置 /usr/lib/modules。您可以选择添加所需的模块/etc/initramfs-tools/modules
并重新生成 initramfs,或者删除该cloud-initramfs-copymods
软件包以停止此行为。
我选择删除该cloud-initramfs-copymods
包,所有问题都消失了。
答案2
我必须安装
linux-modules-extra-5.13.0-1008-raspi_5.13.0-1008.9_arm64.deb
才能在我的系统上安装 veth.ko。
答案3
显然,至少在一年多的时间里,树莓派的 Ubuntu 镜像都没有包含必要的模块。尽管至少在最新版本中默认包含 LXC/LXD.......
错误消息:~lxc 启动容器
Error: Failed preparing container for start: Failed to start device “eth0”: Failed to create the veth interfaces veth34cbc1ee and veth84f13473: Failed to run: ip link add veth34cbc1ee type veth peer name veth84f13473: Error: Unknown device type.
在 Ubuntu 21.10 上,我通过运行以下命令修复了此问题:
sudo apt install linux-modules-extra-raspi
注意:我不需要删除提到的“cloud-initramfs-copymods”包,我的新模块在重启后仍然可用。所以至少取得了一些进展。