我是新来的VyOS development
。我已经编写了一个代码,它将从VyOS kernel module
获取信息并在netlink socket
上编写
我可以直接编辑内核模块代码来调用我定义的函数,或者我必须编写补丁。
如果我必须为它制作一个补丁文件,那么将它放在内核源代码中的位置。我已经用diff
命令制作了一个补丁文件。
关于这个问题我找了很多遍,但找不到满意的解决办法。
谢谢。
最佳答案
经过长时间的搜寻,我解决了我所面临的问题。下面是一些结论,以防你们陷入同样的问题。
是的,您可以在VyOS开发中编辑内核模块代码。但这种方法不太受欢迎。
是的,您也可以为内核模块编写补丁。它应该采用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
检查修改。