将 .ko 文件预加载到 linux 文件系统

Preload .ko file to linux file system

我有一个非常慢的仿真系统,其中 linux 需要很长时间才能启动。 我想在此系统上开发一个设备驱动程序,但每次都重新启动它以添加修改后的 .ko 不是一个选项。

我正在寻找一种无需重新启动即可更新我的 .ko 文件的方法。我应该提一下,除了 DRAM,我没有任何外部接口,所以我使用的是 ramfs

但是我可以暂停系统并将任何内容注入 DRAM。所以我想也许我可以将 .ko 加载到预定义的内存区域并将其映射,以便我可以从文件系统中使用它

欢迎提出任何建议

谢谢!

除非您正在构建一个非常疯狂的内核,否则它将支持可以在运行时加载、卸载和重新加载的动态内核模块,对吗?我认为只需注入新的内核驱动程序和 unload/reload 模块即可。

具有挑战性的部分似乎是在内存中找到新模块。不过我想,如果您知道模块在内存中的确切大小和物理内存偏移量,如果您的内核支持,您可以从 /dev/mem 中读取它,然后写入您选择的文件。