手把手教你编译属于自己的内核--->WSL-Linux子系统编译安装内核教程

准备步骤

前言:文章操作wsl子系统为ubuntu

1.到LINUX内核官网下载最新版的内核

Linux内核官网:Linux内核官网

点击黄色按钮即可下载最新版本内核

解压

tar xvJf linux-6.9.1.tar.xz

2.使用git clone到github下载WSL2内核源码

到终端输入

​
sudo git clone https://github.com/microsoft/WSL2-Linux-Kernel.git

​

克隆到ubuntu本地,过程可能会有点慢

3.进入WSL2-LINUX-Kernel文件夹在Microsoft文件夹内找到config-wsl把他复制到解压内核源码的目录并重命名为.config文件

cp /root/WSL2-Linux-Kernel/Microsoft/config-wsl /root/linux-6.9.1/.config

进入linux-6.9.1文件夹输入

ls -a

列出文件夹全部文件查看是否成功把文件复制该目录下

4.安装编译依赖

输入

apt install build-essential flex bison libssl-dev libelf-dev

安装相关依赖

到这里的话准备工作基本上就完成了,接下来可以开始编译内核了

编译内核

在开始之编译内核前我们可以找到刚才复制的.config文件使用vim打开它

vim .config

找到CONFIG_LOCALVERSION=

可以在其后面添加内容

添加完成后按esc输入:wq回车保存退出

如果出现保存不了就在q后面加!

还可以找到Makefile文件同样使用vim打开输入

vim Makefile

找到EXTRAVERSION =

同样可以在后面添加内容

添加完成后同上操作

现在可以开始编译内核了

输入并回车

make -j8;make modules -j8;make modules_install -j8;make install -j8

开始编译内核

tips:-j8是多线程编译,可以让你编译的速度快许多(否则它只是感人的单线程)

也可以使用

make -j$(nproc);make modules -j$(nproc);make modules_install -j$(nproc);make install -j$(nproc)

顶着电脑最大线程数去编译编译速度会更快一些

编译开始后会有一堆内核编译选项,我们一路回车下去全部使用默认的即可

接着,编译就正式开始了,编译时间的长短由电脑的性能决定

编译完成后会提示内核存放的路径 

找到Kernel: arch/x86/boot/bzImage is ready (#1)

这个就是内核存放的路径

我们找到这个bzImage文件把它复制到桌面或者其他文件夹

替换内核

接下来就是替换内核了

tips:替换内核之前我们先把wsl子系统关闭后在操作

开始操作:

方法一:

首先我们进入C:\WINDOWS\System32\lxss\tools文件夹

找到kernel文件把他重命名为kernel.back文件作为备份文件

接着把刚才复制出来的bzImage文件放到tools文件夹下并改名为kernel就完成了

最后重新打开wsl子系统

输入

uname -r

tips: uname -r是查看内核版本的意思

查看内核是否更新成功

这个是更新成功的样子

如果方法一替换内核不了就看方法二

方法二:

可以在c盘根目录下或者其他目录下创建一个文件夹用来存放内核

如在c盘创建一个WSL-kernel文件夹

把编译的内核放入此文件夹内

接着在window用户目录(默认是C:\Users\{username(你的用户名)})内创建一个.wslconfig文件

输入

[wsl2]
kernel=C:\\WSL-kernel\\bzImage # bzImage是你的内核名字

保存退出

最后重新打开wsl子系统

输入

uname -r

查看内核是否替换成功

好了,教程到这里就结束了,感谢大家的观看,谢谢

本文参考了知乎两位大佬的文章:

1.WSL2嵌入式开发随笔(2)——使用自己编译的WSL2系统内核 主要是内核替换问题

2.如何让WSL2使用自己编译的内核  主要是编译内核问题

感谢这两位大佬提供的灵感

  • 24
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值