![重建内核时是否需要重建模块?](https://linux22.com/image/1220845/%E9%87%8D%E5%BB%BA%E5%86%85%E6%A0%B8%E6%97%B6%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E9%87%8D%E5%BB%BA%E6%A8%A1%E5%9D%97%EF%BC%9F.png)
... 如果您使用的是原始模块列表的子集?我最近尝试过这个,但内核无法启动,然后当我进行完全重建时,它显然起作用了。但由于我只尝试过一次,所以我不能完全确定在第一次和第二次重建之间我没有更改其他内容。我想我可以再试一次,但这需要时间 :P
答案1
是的,您需要重建所有模块。
答案2
有一些工作使模块(在某种程度上)版本独立,因为每个函数本质上都记录了其原型,并且如果存在任何不匹配,模块就会拒绝加载。我没有太仔细地关注这一点,所以我不知道这是否被删除了。
简短回答:最安全的做法是重新编译,内核黑客坚持不是内核中有一个稳定的 API(更不用说 ABI)。即使是配置更改也可能改变数据结构布局。