如何为 VyOS 内核编写补丁
How to write a Patch for VyOS kernel
我是 VyOS development
的新手。我写了一个代码,它会从 VyOS kernel module
获取信息并写在 netlink socket
上。但问题是我不确定是否
我可以直接编辑内核模块代码来调用我定义的函数吗?还是我必须写补丁。
如果我必须为它制作补丁文件,那么将它放在内核源代码中的什么位置。我已经使用 diff
命令制作了补丁文件。
关于这个问题我已经搜索了很多,但找不到满意的解决方案。
谢谢。
经过长时间的搜索,我解决了我面临的问题。以下是结论,以防你们中的任何人陷入同样的问题。
是的,您可以在 VyOS Development 中编辑内核模块代码。但是这种方法并没有得到太多的赞赏。
是的,您也可以为内核模块编写补丁。它应该是 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
.
检查您的修改
我是 VyOS development
的新手。我写了一个代码,它会从 VyOS kernel module
获取信息并写在 netlink socket
上。但问题是我不确定是否
我可以直接编辑内核模块代码来调用我定义的函数吗?还是我必须写补丁。
如果我必须为它制作补丁文件,那么将它放在内核源代码中的什么位置。我已经使用
diff
命令制作了补丁文件。
关于这个问题我已经搜索了很多,但找不到满意的解决方案。
谢谢。
经过长时间的搜索,我解决了我面临的问题。以下是结论,以防你们中的任何人陷入同样的问题。
是的,您可以在 VyOS Development 中编辑内核模块代码。但是这种方法并没有得到太多的赞赏。
是的,您也可以为内核模块编写补丁。它应该是 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
.