簡體   English   中英

在啟動時加載linux內核模塊

[英]Load linux kernel module at boot

我已經為一個研究項目編寫了一個內核模塊,該模塊是連接到Raspberry Pi的七個分段顯示器的驅動程序(我對內核開發還很陌生)。 我想永久安裝模塊並在編譯時在引導時加載它,因此我將install目標添加到了我的Makefile中,該Makefile允許用戶直接編譯並安裝它。

我發現所有內核模塊都位於/lib/modules/<kernel version>/kernel內的某個位置,所以我想我只需要將編譯后的模塊復制到一個子目錄中,並在modules.ordermodules.dep列出該模塊。文件。 但是,這種方法行不通,並且由於我找不到該主題的任何資源,所以我有些絕望。

這是我的Makefile當前的樣子:

# All source files are inside the src directory
obj-m := src/sevenseg.o

all:
    make -C /lib/modules/$(shell uname -r)/build EXTRA_CFLAGS=-I$(PWD)/src M=$(PWD) modules
    mv src/sevenseg.ko .

install:
    make -C /lib/modules/$(shell uname -r)/build EXTRA_CFLAGS=-I$(PWD)/src M=$(PWD) modules
    mkdir -p /lib/modules/$(shell uname -r)/kernel/drivers/sevenseg
    cp src/sevenseg.ko /lib/modules/$(shell uname -r)/kernel/drivers/sevenseg
    echo "kernel/drivers/sevenseg/sevenseg.ko:" >> /lib/modules/$(shell uname -r)/modules.dep
    echo "kernel/drivers/sevenseg/sevenseg.ko" >> /lib/modules/$(shell uname -r)/modules.order
    insmod src/sevenseg.ko
    make clean

clean:
    rm -rf src

我如何告訴內核它應該在引導時加載模塊sevenseg.ko

tldr;

# echo 'my-module-name' >> /etc/modules

更長的解釋:

請查閱有關insmodmodprobemodprobe.conf的文檔。

這是一個不錯的教程: https : //www.cyberciti.biz/faq/linux-how-to-load-a-kernel-module-automatically-at-boot-time/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM