如何为VyOS内核编写补丁

时间:2015-11-11 12:30:48

标签: c linux module kernel patch

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

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

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

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

    感谢。

1 个答案:

答案 0 :(得分:1)

经过长时间的搜索,我解决了我面临的问题。如果你们遇到同样的问题,这就是结论。

  1. 是的,您可以在VyOS Development中编辑内核模块代码。但是这种方法并不受欢迎。

  2. 是的,您也可以为内核模块编写补丁。它应该是How to write VyOS Patch中描述的GIT格式。很快我将更新,将.patch文件放在VyOS内核代码中的哪个位置。

  3. 要使用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 Sytem并在那里安装它们。

    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检查修改。