WSL2编译使用6.6版本内核

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近出了一件不大不小的事,WSL2的内核又更新了,上次编译还是在5.10版本时,当时为了解决不能使用USB设备的问题,想想已经是好几年前的事情了。最近微软发布了6.6内核,今天就带着不太会的小伙伴体验下6.6的内核。


一、有什么变化

First WSL2 kernel release updated to v6.6 from v5.15
Release rolling-lts/wsl/6.6.36.3
Update to stable kernel version v6.6.36
New x86 and ARM64 configs including loadable modules
dxgkrnl: Do not print error messages when virtual GPU is not present
Fewer out of tree patches. Sets of patches now included from upstream:
page reporting commits (feature/page-reporting/5.15)
vpci commits (feature/vpci/5.15)
me

### 如何在WSL2编译自定义内核 #### 准备工作 为了能够在WSL2上成功编译自定义内核,首先需要确保安装了必要的工具链以及依赖项。这些工具包括但不限于 `build-essential` 和其他开发环境所需的软件包。 可以通过运行以下命令来安装所需的基础工具: ```bash sudo apt update && sudo apt install -y build-essential bc flex bison libssl-dev dkms ``` 这一步骤是为了准备一个适合构建Linux内核的工作环境[^1]。 #### 下载内核源码 微软已经将其用于WSL2Linux内核进行了开源处理,因此可以直接从官方GitHub仓库获取最新的内核源代码。具体操作如下: 执行以下命令克隆仓库并切换至目标分支: ```bash git clone https://github.com/microsoft/WSL2-Linux-Kernel.git cd WSL2-Linux-Kernel git checkout tags/linux-msft-wsl-<version> # 替换 <version> 为你当前使用的实际版本号 ``` 这里可以利用 `uname -r` 来确认正在运行的具体内核版本,并据此选择合适的标签进行检出[^2]。 #### 配置新内核选项 进入解压后的目录之后,需基于现有的配置文件创建一个新的`.config` 文件作为起点。通常推荐复制默认配置或者现有系统的配置来进行修改。 ```bash cp arch/x86/configs/wsl2_defconfig ./.config make olddefconfig ``` 如果计划增加对特定设备的支持(比如USB),则可能还需要手动编辑该 `.config` 文件启用相应的模块支持。例如对于 USB 设备来说,应该查找与之关联的各项开关并将它们设置为 `=m` 或者 `=y` 形式以激活对应功能[^3]。 完成上述更改后保存退出即可继续下一步流程。 #### 开始编译过程 一切就绪之后就可以正式开始编译新的定制化内核镜像啦!以下是具体的指令序列: ```bash make -j$(nproc) bzImage modules ``` 此命令会依据主机CPU核心数量自动调整并发作业数从而加速整个编译进程。完成后将会得到位于 `arch/x86/boot/bzImage` 路径下的最终产物——即压缩过的引导映象文件。 接着还需打包生成配套的initramfs档案供后续部署阶段使用: ```bash find . | cpio --create --format=newc > ../initrd.img gzip -9f ../initrd.img mv ../initrd.img.gz . ``` 最后记得把刚制作好的两份关键成果转移到适当位置等待进一步应用。 #### 更新WSL2启动参数 要让Windows Subsystem for Linux第二代能够识别刚刚建立的新版内核,则必须调整其注册表条目中的Kernel路径指向刚才生成的那个bzImage文件所在之处;同时也要指定正确的Initrd地址。假设我们已将所有东西都放到了C盘根目录下名为CustomKernel的子文件夹里边的话,那么对应的键值应当类似于这样写法: ``` "C:\CustomKernel\bzImage" "C:\CustomKernel\initrd.img.gz" ``` 重启服务使改动生效便可体验到最新改进效果了! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值