怎樣完成內核模塊編譯?
大部分程序員都研究內核模塊編譯,在當今社會Linux越來越成為主流,你是Linux系統的應用者么?本文為你詳細介紹內核模塊編譯,為你在學習內核模塊編譯時起一定的作用。
1.進入新內核源代碼目錄
#cd /usr/src/kernels/linux-2.6.26.2
2.讀取配置過程中生成配置文件,創建對應于配置的依賴關系樹,從而決定哪些需要編譯與哪些不需要編譯
#make dep
3.完全刪除上步留下來的文件,避免發生錯誤。(如果是新下載內核沒有編譯過,可以跳過)
#make clean
4.編譯內核
#make bzImage
在上面的命令成功編譯以后會在/usr/src/kernels/linux-2.6.26.2/arch/x86/boot/
目錄下產生新內核的映像bzImage
5.編譯可加載內核模塊
#make modules
6.把生成的模塊拷貝到需要的目錄下
#make modules_install
7.生成模塊間的依賴關系,這樣在啟動新內核以后,使用modprobe命令加載模塊時候能夠正確定模塊。
#depmod
-a注意第5-7步,只有在進行內核配置時候選上了Enable loadable module support (CONFIG_MODULES)才是必要的。
經過以上的步驟終于生成了新的內核和模塊,為了能夠使用上新版內核,還要做以下工作。
- #cp /usr/src/kernels/linux-2.6.26.2/System.map /boot
- #cp /usr/src/kernels/linux-2.6.26.2/arch/x86/boot/bzImage /boot
- #cd /boot #mv bzImage vmlinuz-2.6.26
注意上面的前面兩條命令沒有像網上其他很多是帖子一樣覆蓋了原來內核的映像和內核符號隱射表。把新的直接放在/boot下面,這樣能在新內核啟動不了的情況下,可以啟動新內核。希望通過本文對內核模塊編譯有所幫助。
【編輯推薦】