我想修补我的内核,以便它能够执行零拷贝。我在 github 上找到了这个不错的 repo,但我不太清楚如何去做。
https://github.com/Basler/linux-usb-zerocopy
wiki 上说只需要修改 drivers/usb/core/devio.c。要修补内核,我是否只需用新的 drivers/usb/core/devio.c 覆盖原始文件并构建新内核?
编辑:我发现https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel它告诉我如何构建自己的内核。但是,我不清楚如何将其与当前系统 (ubuntu 14.04) 合并。我能够在 找到我的内核源目录,/usr/src
并且能够找到drivers/usb/core
目录。但是,我找不到devio.c
。我找到的文件只有Kconfig
和Makefile
。我不确定如何devio.c
从 repo 复制并再次构建内核。
答案1
通过查看 GitHub 仓库,它似乎是内核源代码。如果只修改了该文件,请将该文件复制到来源并重新编译。
答案2
假设您想要修补 Ubuntu 内核(因为这是 askubuntu.com)。您可以按照此 wiki 轻松修补内核: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
要从另一个 Linux 存储库获取补丁,您应该找到该存储库和 Ubuntu 存储库之间的差异并合并这些更改。由于两者都在 中维护,因此git
您可以使用合并或挑选来完成此操作。
总结一下:
- 下载源代码到 Ubuntu 内核仓库
- 合并更改
- 构建并安装新的内核包