无法加载内核模块

无法加载内核模块

所以,我刚刚开始经历设计 BSD Rootkit我似乎马上就遇到了问题。

你好ç:

#include <sys/param.h>
#include <sys/module.h>
#include <sys/kernel.h>
#include <sys/systm.h>

static int
load(struct module *module, int cmd, void *arg) {
    int error = 0;

    switch (cmd) {
    case MOD_LOAD:
        uprintf("hello, world!\n");
        break;
    case MOD_UNLOAD:
        uprintf("good-bye");
        break;
    default:
        error = EOPNOTSUPP;
        break;
    }

    return(error);
}

static moduledata_t hello_mod = {
    "hello", 
    load,
    NULL
};

DECLARE_MODULE(hello, hello_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE);

使用以下 Makefile 进行编译似乎工作得很好:

生成文件:

KMOD=   hello
SRCS=   hello.c

.include <bsd.kmod.mk>

但跑步时sudo kldload ./hello.ko它告诉我该模块已经:

kldload: can't load ./hello.ko: module already loaded or in kernel

跑步sudo kldstat -v | grep hello没有找到任何东西。

作为最后一步,我尝试使用卸载模块sudo kldunload hello我得到以下输出:

kldunload: can't find file hello.ko

我尝试运行上述命令,但都root没有freebsd成功。

为了完整起见,这里有更多信息

ls-la:

total 224 drwxr-xr-x  2 freebsd  freebsd     512 Dec  7 22:40 . drwxr-xr-x  4 freebsd  freebsd     512 Dec  7 22:16 ..
-rw-r--r--  1 freebsd  freebsd    1386 Dec  7 22:40 .depend.hello.o
-rw-r--r--  1 freebsd  freebsd      50 Dec  7 22:07 Makefile
-rw-r--r--  1 freebsd  freebsd       0 Dec  7 22:40 export_syms
-rw-r--r--  1 freebsd  freebsd     488 Dec  7 22:08 hello.c
-rw-r--r--  1 freebsd  freebsd    3176 Dec  7 22:40 hello.kld
-rwxr-xr-x  1 freebsd  freebsd  199904 Dec  7 22:40 hello.ko
-rw-r--r--  1 freebsd  freebsd    2864 Dec  7 22:40 hello.o lrwxr-xr-x  1 freebsd  freebsd      26 Dec  7 22:40 machine -> /usr/src/sys/arm64/include

uname-夫人:

FreeBSD 12.0-RELEASE arm64

平台

raspberry Pi 3B

我确实在上找到了类似的问题FreeBSD 论坛从去年开始,但没有解决。

知道发生了什么事以及我该如何继续吗?

相关内容