我是 VyOS 开发的新手。我编写了一个补丁,它将从 VyOS 内核模块获取信息并将其写入 netlink 套接字。但问题是我不确定是否应该直接编辑内核模块代码来调用我定义的函数,或者我应该编写补丁。如果我必须为其制作补丁文件,那么我应该将它放在内核源代码中的哪里?我已经使用 diff 命令制作了一个补丁文件。
答案1
经过长时间的搜索,我解决了我面临的问题。以下是结论,以防你们中的任何人陷入同样的问题。
是的,您可以在 VyOS Development 中编辑内核模块代码。但这种方法并没有受到太多重视。
是的,您也可以为内核模块编写补丁。它应该是 GIT 格式,如中所述如何编写VyOS补丁。很快我将更新
.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 系统并在那里安装它们。
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
。