Fedora启动时加载内核模块

最近在封装Fedora的ISO作为产品的安装部署工具,发现之前使用CentOS的启动加载内核的方式已经不适用了,无法在启动时加载。经过搜索引擎的帮助,和官方文档,发现fedora的机制和centos不一致。

这里以8021q这个支持vlan的kmod为示例进行说明

CentOS方式

在CentOS中自动加载内核模块,需要在/etc/sysconfig/modules/目录中增加一个脚本,在此脚本中加载所需的模块,名为8021q.modules,用来自动加载8021Q模块:

#! /bin/sh

/sbin/modinfo -F filename 8021q > /dev/null 2>&1
if [ $? -eq 0 ]; then
    /sbin/modprobe 8021q
fi

重启之后就可以自动加载8021q了

Fedora方式

在fedora中增加预加载内核模块8021q,需要创建文件/etc/modules-load.d/8021q.conf,内容如下:

# Load 8021q.ko at boot
8021q

重启之后发现kmod已经成功加载

[root@server211 ~]# lsmod |grep 8021
cfg80211              851968  0
rfkill                 28672  2 cfg80211
8021q                  40960  0
garp                   16384  1 8021q
mrp                    20480  1 8021q

Fedora Working with Kernel Modules 详细文档

About the author

liuyuhang

View all posts

发表评论