我的计划如下:从较新的Linux发行版中获取crypto_api,然后编译它并将模块加载到我的centos中。
现在我希望你们中的一些人可以告诉我需要做些什么来重建和替换该模块。当然,我确实拥有来自较新内核的所有源文件。 (只是提醒你:我不能简单地重新编译并使用更新的内核,b / c centos以这种方式糟透了) 谢谢
FWIW:这是确切的错误
警告:“crypto_destroy_tfm”[/home/Chris/digsig-patched/digsig_verif.ko]未定义!
答案 0 :(得分:0)
很有可能在较旧的内核中向后移植API更改会导致一连串的问题。假设您将版本2.6.Y的crypto api反向移植到本地版本2.6.X
现在您遇到以下情况:
但是等等,我可以将最近的内核代码反向移植到所有抱怨的模块中,这里我们去...哎呀,但是我们有前一种情况,但现在每个后向模块都可能触发类似的情况。
如果你不能更新CentOS内核,因为CentOS内核有很多自定义代码你害怕在使用“vanilla”内核时松动,那么你可能会发现“降级”更容易“你的外部模块:
在任何情况下,你可能无法用香草替换你的内核,但你至少应该能够重建它,然后修补它并重建它等等......如果你做不到这个简单的任务,那么我认为向后移动任何东西都不会成功。
答案 1 :(得分:0)
尝试从较新版本的CentOS下载SRC RPM,该版本具有该模块并在CentOS 5上重新编译RPM:
rpmbuild --rebuild kernel-X.XX-X.src.rpm
我没有CentOS的副本可供比较,因此您需要阅读rpm / rpmbuild上的手册页,但我发现重新编译整个包,其中包含内核及其所有模块比试图从一个较新的内核移植一个模块。当我需要更新的软件包时,我偶尔会在Debian / Ubuntu上这样做。