※ 本文轉寄自 ptt.cc, 文章原始頁面
看板Soft_Job
標題

[請益] docker build kernel module 問題

最新2023-12-05 00:23:00
留言18則留言,9人參與討論
推噓8 ( 918 )
目前遇到的問題是 Host: Ubuntu 18.04 (kernel version 5.4) 跑一個 docker container (ubuntu 22.10, kernel version 6.5.0-10) 然後在這個container裡面 我想要 自行編譯 OpenVPN ovpn-dco https://github.com/OpenVPN/ovpn-dco 可以編譯成功 (我在make 的時候有代入 make KERNEL_SRC=指向6.5的路徑) 但在載入ko時,Kernel log會說版本不一致 是不是在docker 編譯kernel module並載入時,有需要注意或修改的地方 先感謝大大們 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.101.202 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1701186974.A.A7C.html

18 則留言

※ 編輯: ice0803 (223.137.101.202 臺灣), 11/28/2023 23:59:32
※ 編輯: ice0803 (223.137.101.202 臺灣), 11/29/2023 00:00:44

Bencrie, 1F
你 build 6.5 的 module 給 5.4 去 load 不可能會過啊

Bencrie, 2F
docker 在 Linux 下只有用 namespace 隔離而已沒有虛擬化

Bencrie, 3F
全部的 container 都是跟 host 用同一個 kernel

ice0803, 4F
感謝

B0988698088, 5F
在舊系統跑新軟體然後錯誤log都跟你講為什麼了還在

B0988698088, 6F
那為什麼不會過==

Arbin, 7F
你這個需求比較需要VM

Bencrie, 8F
在 host 裝 driver。docker 內裝 userspace 軟體

labbat, 9F
kvm虛擬化實在

tonytonyjan, 10F
docker 不是 vm

new122851, 11F
我把你問的直接複製去問ChetGPT,就得到一樓的答案了,

new122851, 12F
10秒鐘的事跑來版上問還要等人回==

peter9s3b, 13F
裝qemu

borting, 15F
可以用這個方式去騙過 uname 獲得的 kernel module 版本

borting, 16F
當然, 你也要先 apt install 對應的 kernel header

Bencrie, 17F
他已經加了 KERNEL_SRC 不需要去騙 uname

Bencrie, 18F
一定要跨版本的話就只有 vm 一途