如何为 VyOS 内核编写补丁

How to write a Patch for VyOS kernel

我是 VyOS development 的新手。我写了一个代码,它会从 VyOS kernel module 获取信息并写在 netlink socket 上。但问题是我不确定是否

  1. 我可以直接编辑内核模块代码来调用我定义的函数吗?还是我必须写补丁。

  2. 如果我必须为它制作补丁文件,那么将它放在内核源代码中的什么位置。我已经使用 diff 命令制作了补丁文件。

关于这个问题我已经搜索了很多,但找不到满意的解决方案。

谢谢。

经过长时间的搜索,我解决了我面临的问题。以下是结论,以防你们中的任何人陷入同样的​​问题。

  1. 是的,您可以在 VyOS Development 中编辑内核模块代码。但是这种方法并没有得到太多的赞赏。

  2. 是的,您也可以为内核模块编写补丁。它应该是 GIT 甲酸盐,如 How to write VyOS Patch 中所述。很快我会更新,在 VyOS 内核代码中放置 .patch 文件的位置。

要使用 dmesg 检查调试输出,请使用 KERN_DEBUG 选项。因为我不确定其他人。

printk(KERN_DEBUG "%s: Debuging info \n", __FUNCTION__);

此外,要检查 VyOS 内核中的修改,您不需要一直制作完整的 ISO 文件。您只需要 运行 遵循命令。

*注意每条路径都是 每次都从主 iso 构建目录进行描述,以避免路径问题。

cd build-iso/
sudo make clean-linux-image
sudo make linux-image

然后

cd buil-iso/pkgs/

在这里您可以找到这些 debian 软件包。

buil-iso/pkgs/linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
buil-iso/pkgs/linux-libc-dev_999.dev_amd64.deb
buil-iso/pkgs/linux-vyatta-kbuild_999.dev_amd64.deb

将这些文件复制到已安装的 VyOS 系统并在那里安装它们。

dpkg -i linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
dpkg -i linux-libc-dev_999.dev_amd64.deb
dpkg -i linux-vyatta-kbuild_999.dev_amd64.deb

reboot 系统并使用 dmesg.

检查您的修改