編譯linux overlayfs模組

2021-10-04 22:41:03 字數 1343 閱讀 7766

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

現在我們能夠單獨選擇需要的模組,然後載入進核心

首先進入你當前使用的系統檢視當前的使用核心版本,在這裡是 4.4.131

解壓原始碼包,更新編譯工具包

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 overlay.mod.o /lib/modules/$(uname -r)/kernel/fs/overlayfs

root@kylinos:/usr/src/linux-2.6.39/fs/overlayfs# cp overlay.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 模組了

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

核心編譯 模組編譯

目前是嵌入式 linux 的初學者感覺有所體會 1.從demo 學起 tiny 6410 上的開發,我的任務不斷是新增小模組。交叉編譯器,以及其它一系列 tool chains 可直使用產商提供的工具。避免過多細節的好處在於,你可以從整體處著手你從書本學到的理論知識。2.kernel 編譯其它很簡單...

Golang 編譯 條件編譯

條件編譯 標籤編譯 build tag build build linux and 386 or darwin and not cgo 以 開始,例如 build 支援 goos 與 goarch 並可以具有多個值,用 分割,例如 build linux,darwin,freebsd 支援 不等條件...