我是Linux内核开发新手。我有一个任务是编写系统调用并编译内核。在这项工作中,我必须使用服务器上的另一个内核源,例如 kernel.org,我想知道为什么需要它?我们可以直接编译原始内核(运行操作系统上的本地内核)吗?
答案1
有两件事让你感到困惑:
- 正在运行的内核(这为您的系统提供动力)
- 可用于构建内核的内核源代码。
正在运行的内核通常作为压缩的二进制文件分发。您通常可以在/boot
系统的目录中找到它,并作为linux
软件包的一部分分发。
用于构建该内核的 Linux 源代码是独立的,并且通常位于单独的包中。例如,ubuntu 将它们分发到linux-source
包裹。如果您要下载该软件包,您会发现它只是内核源代码的重新打包,您可以直接在作业中使用它。