我目前正在尝试安装netmap,它需要修改内核。但是,在安装内核头之后,我注意到在/lib/linux-kbuild-5.10/scripts中,一些预期会出现的脚本丢失了。这包括pahole-flags.sh和mkmakefile,因此我分别得到“未找到”和“没有这样的文件”错误。
我发现了这最近的bug报告,指出这是一个稳定的回归。它还声明,它已经通过这提交修复了以前的版本。但是,提交所做的所有工作都是修改make文件。
是否有一个简单的修复方法,比如“只需将脚本从repo复制到这个目录”,还是需要以某种方式重新编译/升级内核的部分?我在使用linux系统时还不是那么多才多艺,所以我们非常感谢你的帮助。
发布于 2023-01-07 19:11:44
你提到的承诺修改Makefile中用于构建Debian包(linux-headers-<kernel version>-<package version>_<arch>.deb)的部分。换句话说,它使pahole-flags.sh脚本在以后的内核版本中包含到适当的包中。
由于内核配置和构建过程似乎没有对脚本进行任何更改,所以您可以从相应版本的Linux内核源代码(例如这里是5.10系列内核)中获取脚本,并将其放置到netmap希望找到的/lib/linux-kbuild-5.10/scripts中。
mkmakefile脚本(这里是5.10系列内核)也是如此。
然而,您应该知道,构建内核所需的mkmakefile's功能在大约5.15内核系列(这是差异)时被合并到主内核Makefile中,并且mkmakefile不再作为一个单独的脚本存在。因此,如果netmap仍然依赖于它,它将需要自己实现它所需要的功能。然而,似乎即使在内核版本5.10中,mkmakefile也只是输出一个两行Makefile,而其中的一行只是一个注释,所以替换mkmakefile应该是微不足道的。
https://unix.stackexchange.com/questions/730904
复制相似问题