WSL编译新内核
bzImage重命名为kernel(第三步成功后会有bzImage的路径),并替换windows下的C:\Windows\System32\lxss\tools下的kernel文件。PS:Make menuconfig和make defconfig编译出来的内核大小都不对,需要用wsl-config作为编译的配置文件。cmd+r,依次输入以下命令,重启wsl,并开启wsl,如果wsl成功启动则内核
1.下载必要的工具
sudo apt install ncurses-dev
sudo apt install flex
sudo apt install bison
sudo apt install libssl-dev
2.下载gitee上的内核源码
git clone -b linux-msft-wsl-5.10.60.1 --depth=1 https://gitee.com/mirrors/WSL2-Linux-Kernel.git
3.menuconfig基于config-wsl修改配置,ubuntu上默认是基于.config的配置编译,menuconfig的修改会默认写入.config,但是wsl最好指定config-wsl编译
make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
4.指定config-wsl编译
cd WSL2-Linux-Kernel
make KCONFIG_CONFIG=Microsoft/config-wsl -j$(nproc)
PS:Make menuconfig和make defconfig编译出来的内核大小都不对,需要用WSL2-Linux-Kernel/Microsoft/config-wsl作为编译的配置文件
查看WSL2-Linux-Kernel/Microsoft/config-wsl,可以修改编译出来的内核路径的名称,以下,我将CONFIG_LOCALVERSION修改为-WSL,那么编译完成之后,就会在/lib/module/生成名称为5.10.x-WSL2的目录,以后makefile中uname -r指定的目录就是这个目录,也可以自行修改目录后缀名
编译完成后,会在
5.安装模块
sudo make KCONFIG_CONFIG=Microsoft/config-wsl modules_install -j$(nproc)
6.安装内核
sudo make KCONFIG_CONFIG=Microsoft/config-wsl install -j$(nproc)
6.替换kernel
bzImage重命名为kernel(第三步成功后会有bzImage的路径),并替换windows下的C:\Windows\System32\lxss\tools下的kernel文件,记得先将原来的kernel备份,如果wsl启动有问题,还能恢复
7.关闭WSL终端
cmd+r,依次输入以下命令,重启wsl,并开启wsl,如果wsl成功启动则内核替换成功
wsl --shutdown
wsl
成功后如下图
更多推荐
所有评论(0)