커널 모듈을 로드할 수 없습니다.

커널 모듈을 로드할 수 없습니다.

그래서 저는 이제 막 시작했어요BSD 루트킷 설계당장 문제가 생긴 것 같았습니다.

안녕하세요 c:

#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-Mrs.:

FreeBSD 12.0-RELEASE arm64

플랫폼

raspberry Pi 3B

나는 비슷한 질문을 찾았습니다.FreeBSD 포럼작년부터 시작했지만 해결되지 않았습니다.

무슨 일이 일어나고 있고 어떻게 진행할 수 있는지 아시나요?

관련 정보