我需要做什么才能将Linux内核模块导入python,以便我可以在我想要构建的应用程序中使用它的功能。
我的目标是使用更好的方法移动Ad-Hoc网络(B.A.T.M.A.N)内核模块,该模块自2.6以来已包含在Linux内核中,用于包含Raspberry Pis的网状网络的路由。我将使用Twisted进行所有网络编程。
答案 0 :(得分:2)
您不想加载内核模块。内核模块具有许多极其奇怪的属性(例如,某些指令被编译为无操作,然后在加载时根据处理器进行替换。)
相反,将代码重新编译到用户空间库中可以更简单,你可以从Python调用它。
更简单的是,你可以抓住用户空间" BATMAN算法的分支,称为batmand并使用它。 http://www.open-mesh.org/projects/open-mesh/wiki/BranchesExplained
答案 1 :(得分:0)
触发将该模块加载到内核中。将其加载到用户空间进程可能是徒劳的。从理论上讲,你可以使用内核模块的源代码在C中构建一个Python模块,但是仍然没有给你提供。硬件访问,您也必须模拟/复制内核基础结构的大部分内容。听起来不错。