导出内核头文件
Joel Fernandes 提交了一个模块,通过 /proc 目录导出内核头文件,以便用户更容易地扩展内核,而不必非得拥有源代码树。他说:
在 Android 和嵌入式系统中,通常会切换内核,但在文件系统上没有可用的内核头文件。原始内核头文件也不能像其他发行版那样复制到文件系统中,因为存在许可和其他问题。 Android 上没有 linux-headers 包。 此外,一旦启动了不同的内核,存储在文件系统上的任何头文件将不再有用。 通过将头文件作为压缩档案存储在内核中,我们可以避免长期以来的这些障碍。
Christoph Hellwig 直言不讳地说:“这似乎是一个非常糟糕的主意,并且浪费内核内存。 只要添加对 kbuild 的支持,以将压缩档案存储在 initramfs 中,并在正确的位置解压缩它。”
但是 Greg Kroah-Hartman 回复说:“只有当您希望它是浪费时,它才会浪费——也就是说,如果您加载内核模块。” 他指出,在内核配置的 /proc/config.gz 可用性方面,已经有先例可以做类似 Joel 的想法的事情。
与此同时,Daniel Colascione 正在跳一支小舞,他说 Joel 的功能会让他更容易玩转 Berkeley Packet Filter。 他建议导出整个源代码树,而不仅仅是内核头文件。 但 Joel 说这太大了,无法存储在内存中。
H. Peter Anvin 在肯定导出内核头文件的价值的同时,对正确的实现方式提出了一些问题。 特别是,他说:“我实际上 *没有* 看到通过实际将其制作为内核 ELF 对象来解决的任何社会或技术问题。”
相反,H. Peter 认为整个项目可以简化为一个简单的可挂载文件系统,其中包含头文件。
在讨论逐渐平息之前,进行了一些技术上的来回讨论。 显然,类似 Joel 的想法对许多人有用,尽管确切的范围和实现似乎完全悬而未决。
注意:如果您在上面被提及,并且想要在评论区上方发布回复,请将您的回复文本发送到 ljeditor@linuxjournal.com。