概述
上一節,我們講述了Linux驅動開發的基本的模塊代碼編寫和手動執行模塊加載的操作, 這一節,我們講述嵌入式設備上使用Sysvint引導方式下如何開機自動加載模塊的步驟。感興趣的同學看下使用systemd引導方式的開啟自動加載模塊的步驟
操作步驟
1、拷貝編譯好的內核模塊
將上一節編譯好的內核模塊helloworld.ko文件,放置到文件系統lib/modules/5.10.170-rt83目錄下,如下所示:
注: 這里只是一個演示操作,由于文件是脫離內核源碼樹開發的,放置的位置不規范,下一節,我們講述如何將驅動代碼加入linux源碼樹進行編譯部署。
2、編寫開始初始化腳本
編寫開機初始化腳本S10modules文件,添加加載helloworld文件的命令,如下所示:
#!/bin/shcase "$1" instart)printf "Starting load kernel modules: "modprobe helloworld;;stop);;*)echo "Usage: $0 {start|stop}"exit 1;;
esac
exit 0
3、將開機腳本拷貝到etc/init.d目錄下,如下所示:
4、啟動驗證
執行完上述步驟后,啟動linux系統,在系統初始化過程中,可以看到helloworld模塊的輸出信息:
總結
本文主要講述了如何在嵌入式arm Linux系統中sysvinit引導方式的開機自動加載驅動模塊的步驟。
工程鏈接
https://gitee.com/yanl1229/Taurus_Linux.git