编译Linux内核时出现错误:找不到目标规则。

7

我正在尝试编译我的Linux内核,在自定义内核配置后,我输入指令“make”开始编译,但是出现了以下错误:

asma@ubuntu:/usr/src/linux$ make 
make[1]: *** No rule to make target `/usr/src/linux-headers-3.5.0-23/arch/x86/syscalls/syscall_32.tbl', needed by `arch/x86/syscalls/../include/generated/asm/unistd_32.h'.  Stop.
make: *** [archheaders] Error 2

我该如何解决这个问题?

你从哪里获取源代码的?你是在遵循任何维基/网站上的说明吗?... - TheCodeArtist
是的,我正在遵循来自链接的指导。 但是该教程使用的是linux-2.6.12版本,而我正在使用linux-headers-3.5.0-23版本。我已经通过make menuconfig调整了配置。 - asma
从链接中的说明来看,似乎是权限问题。您能否检查是否使用 sudo make 进行编译可以解决这个问题?... - TheCodeArtist
我认为这是版本的问题,我下载了一个新的内核包,现在它可以工作了,感谢您的帮助。 - asma
好的。 :-) 请将您解决问题所采取的步骤作为新答案更新到此问题中,并将其标记为已接受。 - TheCodeArtist
抱歉,我尝试按照你的要求去做,但是我认为我不被允许这样做,因为我还是论坛的新手。您能否代替我完成此事,以便每个人都受益。 - asma
1个回答

7

要为Ubuntu构建Linux内核,可以通过运行以下命令获取适当的补丁源:

sudo apt-get install linux-source

在旧版本的Ubuntu中,软件包名称为linux-tree

源代码安装在/usr/src/linux-source-<version-num>/目录下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接