要求
1、開發板中的linux的zImage必須是自己編譯的
2、內核源碼樹,其實就是一個經過了配置編譯之后的內核源碼。
3、nfs掛載的rootfs,主機ubuntu中必須搭建一個nfs服務器。
內核源碼樹
解壓
tar -jxvf x210kernel.tar.bz2
編譯
make x210ii_qt_defconfig
make
Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
make[1]: *** [/home/aston/workspace/driver/kernel/kernel/Makefile:138: kernel/timeconst.h] Error 255
make: *** [Makefile:883: kernel] Error 2
make
編譯完成
內核源碼樹目錄:
zImage目錄:
常用的模塊操作命令
- lsmod(list module)
功能:此命令會把當前內核中已經安裝的模塊列表打印出來。它讀取 /proc/modules 文件,該文件會記錄當前內核加載的所有模塊信息。
用法示例:在終端輸入 lsmod 即可。
lsmod
輸出示例:
Module Size Used by
nls_iso8859_1 16384 1
ext4 786432 1
jbd2 131072 1 ext4
輸出解釋:輸出內容包含三列,第一列是模塊名,第二列是模塊占用的內存大小(單位為字節),第三列是使用該模塊的其他模塊數量。
- insmod(install module)
功能:該命令的作用是向當前內核中安裝一個模塊。不過它不會處理模塊之間的依賴關系,若模塊有依賴項,需手動先加載這些依賴模塊。
用法示例:假設存在一個名為 my_module.ko 的內核模塊,可使用以下命令進行加載:
insmod my_module.ko
注意事項:運行此命令需要有 root 權限,否則會提示權限不足的錯誤。
- modinfo(module information)
功能:此命令能打印出一個內核模塊的自帶信息,像模塊的作者、描述、版本、依賴項等內容。
用法示例:若要查看 my_module.ko 模塊的信息,可使用如下命令:
modinfo my_module.ko
輸出示例:
filename: /lib/modules/5.15.0-72-generic/kernel/drivers/net/wireless/intel