我是VyOS development
的新手。我编写了一段代码,该代码将从VyOS kernel module
获取信息并将其写在netlink socket
上。但问题是我不确定是否
我可以直接编辑内核模块代码来调用我定义的函数,或者我必须编写补丁。
如果我必须为它创建补丁文件,那么将它放在内核源代码中的位置。我已经使用diff
命令创建了一个补丁文件。
我已经搜索了很多关于这个问题但是找不到令人满意的解决方案。
感谢。
答案 0 :(得分:1)
经过长时间的搜索,我解决了我面临的问题。如果你们遇到同样的问题,这就是结论。
是的,您可以在VyOS Development中编辑内核模块代码。但是这种方法并不受欢迎。
是的,您也可以为内核模块编写补丁。它应该是How to write VyOS Patch中描述的GIT格式。很快我将更新,将.patch
文件放在VyOS内核代码中的哪个位置。
要使用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
检查修改。