Linux header在哪裡?絕對難不倒你
實作暑期Linux 核心課程的前置遇到問題,記錄一下
問題
目前習慣用 WSL 開發,在建立環境的第一步就遇到 WSL 環境找不到 linux-headers 的問題
如何解
apt-cache 找不到就只能到官方 Repo 找
git clone & check
clone
1
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git
確認自己 WSL 的 kernel
1
2uname -r
# 4.19.128-microsoft-standardcheckout 版本
1
2cd WSL2-Linux-Kernel
git checkout 4.19.128-microsoft-standard
不想 Clone 也可以抓對應版本的 Release 下來 (optional)
uname
1
2uname -r
# 4.19.128-microsoft-standard抓 release
1
wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/4.19.128-microsoft-standard.tar.gz
解壓縮
1
tar zxvf 4.19.128-microsoft-standard.tar.gz
安裝必要套件
1
sudo apt-get install build-essential
安裝 linux header
從 google 上找到兩種安裝過程
LINUX kernel module under WSL2
1
2
3sudo zcat /proc/config.gz > .config
make -j $(nproc)
sudo make -j $(nproc) modules_install-
1
2
3
4
5cp Microsoft/config-wsl .config
make oldconfig && make prepare
make scripts
make modules
make modules_install
注: 缺少套件就用
apt-get install
解決,權限不夠就sudo
解決(誤)
後記
兩種安裝方法看不出有什麼差別,之後弄懂了再補上