記錄一次ko編譯

2021-08-31 21:04:58 字數 1130 閱讀 9985

最近接觸乙個專案,需要編譯ko檔案,從來沒有接觸過,先問自己四個問題:

1.什麼是ko檔案

.ko檔案是kernel object檔案(核心模組),該檔案的意義就是把核心的一些功能移動到核心外邊, 需要的時候插入核心,不需要時解除安裝。

2.如何製作ko檔案

環境配置:

1.) export path="$path:/media/msy/d1f626d8-c58c-415d-910c-39bd89f08b2b/d9p/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin"

2.) make arch=arm64 cross_compile=aarch64-linux-android-

3.)編譯引用檔案:

1. 中間檔案:  d9p/out/target/product/clover/obj/kernel/msm-4.4

2. 原始碼:  /media/msy/d1f626d8-c58c-415d-910c-39bd89f08b2b/d9p/kernel/msm-4.4

3. makefile:  

kernel_source := kernel編譯中間檔案/msm-4.4

prefix = 編譯連工具/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-

4.)編譯

make arch=arm64 cross_compile=aarch64-linux-android-

3.如何載入ko檔案

insmod

4.遇到的問題

核心從3.7後開始支援模組簽名,這個功能使能以後,核心只允許安裝特定key簽名的模組,核心配置項如下所示:

config_module_sig=y 表示開啟了簽名機制,但是這時候模組簽名或不簽名都可以使用。

config_module_sig_force=y 如果上述配置項使能,則模組必須有正確的簽名才能正常使用。

config_module_sig_all=y 核心在編譯的時候,並不會主動去給模組簽名,除非你把上述配置項開啟。

為了測試:在配置檔案中將config_module_sig_force=y注釋掉

記錄一次面試

怎麼觀察系統中 記憶體 行為 a.通過 proc zoneinfo 檔案,可以看到 free high low min pages 關係 free high 時候 一般不開啟 kswapd 執行緒 high free low 時,開啟 kswapd 執行緒 low free min時,alloc p...

記錄一次oracle使用記錄

使用oracle資料庫的專案到我這邊,需要修改,咱雖然 學過 oracle,但那畢竟已經過去了。哈哈。使用database configuration assistant 建立資料庫,建立快完的時候,說我沒有監聽啥的,然後 通過 net manager 建立了,qizhong1 其中選中的那個就是建...

記錄一次 Linux Mysql 安裝

mysql client 5.6.24 1.el6.x86 64.rpm mysql server 5.6.24 1.el6.x86 64.rpm正規操作rpm ivh 安裝 server和client後 提示密碼存放在了 root mysql secret下 service mysql start...