手把手教你编译属于自己的内核--->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
    评论
### 回答1: Windows子系统WSL)是微软开发的一种工具,旨在在Windows操作系统上提供对Linux环境的支持。将WSL与LxRunOffline-v3.5.0-11-gfdab71a-msvc进行结合使用,可以更加方便地管理和运行Linux发行版。 LxRunOffline是一种开源工具,允许用户在Windows系统上安装和管理Linux发行版。V3.5.0-11-gfdab71a-msvc版本为最新版本,已经在性能、兼容性和稳定性方面做出了明显的改进。这个版本还在一些方面进行了更新,例如优化了PSRP支持,修复了网络支持中的一些漏洞。总的来说,使用这个版本的LxRunOffline可以更加不受干扰地使用WSL,从而进一步提高LinuxWindows上的可用性和使用体验。 可以通过从LxRunOffline的官方网站或源代码库下载并安装最新版进行更新。例如,可以使用命令提示符或PowerShell来运行安装脚本,这些脚本会自动获取最新版本并执行安装过程。在完成安装后,您就可以使用LxRunOffline-v3.5.0-11-gfdab71a-msvc版本管理并运行Linux发行版了。 总之,LxRunOffline-v3.5.0-11-gfdab71a-msvc版本是WSL用户的重要工具,它能帮助用户更加方便地管理和运行他们喜欢的Linux发行版,并提供更加愉悦的使用体验。 ### 回答2: Windows子系统WSL)是一项由微软开发的技术,它允许在Windows系统上运行Linux操作系统。这是一项非常强大的功能,可以帮助用户在Windows环境中运行Linux应用程序,无需双重启动。WSL由lxrunoffline(v3.5.0-11-gfdab71a-msvc)程序来管理。这是一种管理WSL实例的实用工具,可以启动、停止、重新安装、卸载和备份WSL实例。此工具也可以升级WSL实例,然后重新安装WSL操作系统的不同版本。该工具还提供了一些简单而有用的命令,例如列出WSL实例、列出可用的WSL发行版、列出已安装WSL实例的成分等。此外,lxrunoffline还支持在WSL环境中其他Linux发行版的使用。它允许用户添加其他发行版或从WSL环境中删除已安装的发行版。总的来说,lxrunoffline是一种非常强大的工具,可以帮助用户管理他们的WSL实例,并帮助他们轻松地使用WSL中的Linux环境。 ### 回答3: Windows子系统Windows Subsystem for Linux,简称WSL)是微软公司在Windows 10操作系统中加入的强大功能,它能够在Windows系统中运行Linux操作系统,并且提供完整的Linux shell体验。 WSL的核心组件是一个名为lxrunoffline的软件,它能够在Windows系统上创建Linux发行版的文件系统,并与Windows系统无缝运行。而lxrunoffline-v3.5.0-11-gfdab71a-msvc是lxrunoffline的一个版本,这个版本修复了之前版本的一些漏洞,增强了它的性能和稳定性,同时还为新版的Linux发行版提供了更好的支持。 使用lxrunoffline-v3.5.0-11-gfdab71a-msvc,用户可以下载和安装各种不同的Linux发行版,比如Ubuntu、Debian、Kali Linux等等,而不需要在系统中安装复杂的虚拟机或容器软件。这使得开发者和管理员能够更方便地进行代码编译、测试和运行,同时也能够更好地管理自己的系统资源。 总的来说,lxrunoffline-v3.5.0-11-gfdab71a-msvc是WSL的一个重要组成部分,它为Windows系统用户提供了一个完整的Linux环境,让用户能够轻松访问和使用Linux命令行工具和应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值