編譯linux overlayfs模塊

當我們需要使用一個內核模塊的時候,在當前使用版本內核編譯的時候又沒有加進去,在不改變內核版本的時候,再編譯整個內核,可能會覆蓋原來的內核,導致系統無法啓動

現在我們能夠單獨選擇需要的模塊,然後加載進內核

準備工作

首先進入你當前使用的系統查看當前的使用內核版本,在這裏是 2.3.39

下載對應內核源碼包 linux-2.6.39.tar.bz2 將源碼包放入 /usr/src/ 下

解壓源碼包,更新編譯工具包

apt-get install bzip2 libncurses5-dev kernel-package zlib1g-dev gcc make kernel-package wget module-init-tools procps libncurses5-dev

進入到你需要的模塊的文件夾下面

cd /usr/src/linux-4.4.131/fs/overlayfs/

進入 Makefile 查看模塊信息,編譯模塊

root@kylinos:/usr/src/linux-4.4.131/fs/overlayfs# make CONFIG_OVERLAY_FS=m -C /lib/modules/`uname -r`/build M=`pwd` modules

可能會報錯

找不到編譯的文件路徑,做一個軟連接

ln -s /usr/src/linux-headers-4.4.131/ /lib/modules/2.6.39/build

再做一次

$ make CONFIG_OVERLAY_FS=m -C /lib/modules/`uname -r`/build M=`pwd` modules

就生成了兩個模塊 ,將這兩個模塊拷到你的當前使用內核的模塊的路徑

# mkdir /lib/modules/2.6.39/kernel/fs/overlayfs
root@kylinos:/usr/src/linux-4.4.131/fs/overlayfs# cp ext4.mod.o /lib/modules/$(uname -r)/kernel/fs/overlayfs
root@kylinos:/usr/src/linux-2.6.39/fs/overlayfs# cp ext4.ko /lib/modules/$(uname -r)/kernel/fs/overlayfs
root@kylinos:/usr/src/$(uname -r)/fs/overlayfs# depmod
root@kylinos:/usr/src/$(uname -r)/fs/overlayfs# modprobe overlay

就可以看到 overlayfs 模塊了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章