SeedLabs 防火墙实验室:实现一个简单的内核模块,构建内核模块失败

Posted

技术标签:

【中文标题】SeedLabs 防火墙实验室:实现一个简单的内核模块,构建内核模块失败【英文标题】:SeedLabs Firewall Lab: Implement a Simple Kernel Module, failure to build a kernel module 【发布时间】:2021-12-24 13:55:19 【问题描述】:

我正在按照 3.1 任务 1.A:实现简单内核模块的步骤进行操作: https://seedsecuritylabs.org/Labs_20.04/Files/Firewall/Firewall.pdf 在我运行 make 命令之前,一切都很好。没有生成 hello.ko 文件,我不知道出了什么问题。

make -C /lib/modules/5.11.0-38-generic/build M=/home/seed/Downloads/Labsetup/Files/kernel_module modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-38-generic'
  CC [M]  /home/seed/Downloads/Labsetup/Files/kernel_module/hello.o
  MODPOST /home/seed/Downloads/Labsetup/Files/kernel_module/Module.symvers
ERROR: modpost: missing MODULE_LICENSE() in /home/seed/Downloads/Labsetup/Files/kernel_module/hello.o
make[2]: *** [scripts/Makefile.modpost:124: /home/seed/Downloads/Labsetup/Files/kernel_module/Module.symvers] Error 1
make[2]: *** Deleting file '/home/seed/Downloads/Labsetup/Files/kernel_module/Module.symvers'
make[1]: *** [Makefile:1753: modules] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-38-generic'
make: *** [Makefile:4: all] Error 2

【问题讨论】:

【参考方案1】:
ERROR: modpost: missing MODULE_LICENSE() in /home/seed/Downloads/Labsetup/Files/kernel_module/hello.o

您必须在hello.c 中添加许可证。

例如

MODULE_LICENSE("GPL");

【讨论】:

以上是关于SeedLabs 防火墙实验室:实现一个简单的内核模块,构建内核模块失败的主要内容,如果未能解决你的问题,请参考以下文章

iptables简单介绍

如何安装SEED的虚拟机实验环境?

NFS文件系统实验

Unix课程设计 基于Linux内核的防火墙的分析与设计

iptables 简单介绍及应用 Linux防火墙

iptables 简单使用