Điểm:0

Không thể chèn mô-đun qua 'sudo insmod ' trên Ubuntu 20.04.3 LTS

lá cờ cn

Tôi có một mô-đun linux đơn giản mà tôi muốn xây dựng và chèn vào nhân, nhưng gặp một số sự cố ở phần 'sudo insmod <module_name>'. Ubuntu đang chạy trên máy chủ Win10 thông qua VirtualBox.

Hai người bạn khác đã làm các bước tương tự và nó đã hiệu quả với họ. Một cái có phiên bản kernel 5.11.0-40 trong khi cái kia có phiên bản giống như tôi, 5.11.0-41.

Mô-đun 'linux_module.c' trông như thế này:

#include <linux/kernel.h>
#include <linux/module.h>

MODULE_LICENSE("GPL");

__init int init_module(void)
{
    printk (KERN_INFO "Xin chào thế giới từ linux_module\n");
    trả về 0;
}

__exit void cleanup_module(void)
{
}

Tệp Makefile: obj-m = obj-m += linux_module.o

KVERSION = $(shell uname -r)

tất cả các mô-đun:
        tạo các mô-đun -C /lib/modules/$(KVERSION)/build M=$(PWD)
dọn dẹp:
        làm sạch -C /lib/modules/$(KVERSION)/build M=$(PWD)

Sử dụng 'make all' trả về cho tôi cái này:

tạo các mô-đun -C /lib/modules/5.11.0-41-generic/build M=/home/soberflow/Documents/BS/KernelModule/LinuxModule

make[1]: Nhập thư mục '/usr/src/linux-headers-5.11.0-41-generic'

CC [M] /home/soberflow/Documents/BS/KernelModule/LinuxModule/linux_module.o

MODPOST /home/soberflow/Documents/BS/KernelModule/LinuxModule/Module.symvers

CC [M] /home/soberflow/Documents/BS/KernelModule/LinuxModule/linux_module.mod.o

LD [M] /home/soberflow/Documents/BS/KernelModule/LinuxModule/linux_module.ko

make[1]: Rời khỏi thư mục '/usr/src/linux-headers-5.11.0-41-generic'

Tôi nhận được lỗi sau:

insmod: LỖI: không thể chèn mô-đun linux_module.ko: Định dạng mô-đun không hợp lệ

Với 'modprobe <module_name>' nó báo như sau:

modprobe: FATAL: Không tìm thấy mô-đun linux_module.ko trong thư mục /lib/modules/5.11.0-41-generic

Có ai có ý tưởng vấn đề có thể là gì không?

Bodo avatar
lá cờ pt
Tệp `linux_module.ko` ở đâu? Bạn đã cài đặt tệp mô-đun hạt nhân vào `/lib/modules/5.11.0-41-generic` chưa? Xem https://www.kernel.org/doc/html/latest/kbuild/modules.html
lá cờ cn
`linux_module.ko` nằm trong cùng thư mục với `linux_module.c` và `Makefile` trong `/home/soberflow/Documents/BS/KernelModule/LinuxModule/` Tôi chưa cài đặt tệp mô-đun hạt nhân nào cả, nhưng tôi đoán là tôi có thể thử. Điều kỳ lạ duy nhất là hai người bạn kia không cần phải làm bước đó, nếu đó là vấn đề của tôi. Nhưng tôi sẽ thử nó bất kể, cảm ơn bạn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.