當我們需要使用乙個核心模組的時候,在當前使用版本核心編譯的時候又沒有加進去,在不改變核心版本的時候,再編譯整個核心,可能會覆蓋原來的核心,導致系統無法啟動
現在我們能夠單獨選擇需要的模組,然後載入進核心
首先進入你當前使用的系統檢視當前的使用核心版本,在這裡是 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 支援 不等條件...