第十二期-Linux内核模块依赖关系图绘制(1)

作者:罗宇哲,中国科学院软件研究所智能软件研究中心

在上一期中,我们介绍了如何查看Linux内核中各个模块之间的依赖关系,这一期我们将介绍一下根据模块的依赖关系如何绘制模块依赖图。

一、使用freemind绘制模块依赖图

Freemind是一款常用的思维导图绘制软件,可以使用freemind来绘制模块依赖图。在Ubuntu 16.04环境下运行命令:sudo snap install freemind安装freemind。然后输入freemind可以打开freemind:
在这里插入图片描述
我们用一个简单的例子来介绍如何使用freemind软件。
打开/lib/modules/4.19.94/modules.dep 文件,搜索ip_tables我们可以看到如下图所示的依赖关系:
在这里插入图片描述
从上图可以看出,ip_tables模块依赖x_tables模块;iptable_filter模块依赖ip_tables模块和x_tables模块。为了表示这个依赖关系,首先我们在图中加入iptable_filter节点:
在这里插入图片描述
然后通过insert菜单下面的New Child Node选项为iptable_filter节点增加子节点ip_tables:
在这里插入图片描述
为了使节点更加明显,我们可以右击ip_tables节点并在format一栏中将节点的格式设置为Bubble。用同样的方法我们可以为ip_tables节点增加子节点x_tables,表示ip_tables模块依赖于x_tables模块。
在这里插入图片描述
由于iptable_filter模块也依赖于x_tables模块,因此我们也需要增加一条从iptable_filter模块指向x_tables模块的边。方法为:选中x_tables模块和iptable_filter模块,然后按Ctrl+L。到这里,我们构建了一个关于iptable_filter、ip_tables和x_tables模块的简单依赖关系图。
在这里插入图片描述

二、结语

本期我们介绍了根据模块依赖关系使用freemind绘制模块依赖图的方法,下一期我们将介绍Linux内核分布式编译环境的搭建方法。
在这里插入图片描述

发布了20 篇原创文章 · 获赞 0 · 访问量 249

猜你喜欢

转载自blog.csdn.net/liucw900716/article/details/105302250