我在 qemu arm64 虚拟机上安装了 ubuntu 20.04。这是基于 qemu 的 arm64 'virt' 机器,我在虚拟机中添加了一个外围设备。现在要测试设备驱动程序,我需要构建内核模块,并且必须在我的 x86_64 ubuntu 20.04 机器上执行此操作。
在虚拟机内部,该uname -r
命令给了我5.4.0-77-generic
.我了解到我需要这个版本的内核源代码(或者只有内核头就足够了?这说我需要内核源代码。)。我过去在下载特定内核版本时遇到了麻烦,现在我不确定应该如何获取该版本。
从https://launchpad.net/ubuntu/focal/+source/linux-signed我可以在和5.4.0-77.86
下看到一些版本,但我不确定这些版本与.请任何人告诉我如何获得这个内核版本源。我们将不胜感激逐步指导,但欢迎任何评论。谢谢! (kernel.org 站点仅显示一些选定的或最新的版本。)security
main
5.4.0-77-generic
5.4.0-77-generic
添加:
在apt-cache search 5.4.0
我尝试sudo apt install linux-cloud-tools-5.4.0-77-generic
并安装之后
/.
/usr
/usr/lib
/usr/lib/linux-tools
/usr/lib/linux-tools/5.4.0-77-generic
/usr/share
/usr/share/doc
/usr/share/doc/linux-cloud-tools-5.4.0-77-generic
/usr/share/doc/linux-cloud-tools-5.4.0-77-generic/copyright
/usr/lib/linux-tools/5.4.0-77-generic/hv_fcopy_daemon
/usr/lib/linux-tools/5.4.0-77-generic/hv_kvp_daemon
/usr/lib/linux-tools/5.4.0-77-generic/hv_vss_daemon
/usr/lib/linux-tools/5.4.0-77-generic/lsvmbus
/usr/share/doc/linux-cloud-tools-5.4.0-77-generic/changelog.Debian.gz
我认为这不包含内核源代码。
答案1
要构建独立的内核驱动程序,您只需要内核的标头。它可以通过包安装linux-headers-5.4.0-77-generic
。不要介意存储库中的内容,只需:
- 以 root 身份运行,确保您的包数据库是最新的
apt update
- 仍以 root 身份安装所需的软件包
apt install linux-headers-5.4.0-77-generic
。
通常,在基于 ubuntu 的发行版上,您将拥有:
linux-image-<version>
:内核本身。linux-headers-<version>
:内核的头文件。linux-source-<version>
:内核的全部源代码。