立创泰山派tspi-Windows11安装与配置WSL2用于Linux开发

Windows11安装与配置WSL

什么是WSL?

Windows 的 Windows Subsystem for Linux (WSL)

官方介绍:比较 WSL 版本 | Microsoft Learn

AI解释:WSL 2允许用户在 Windows 系统上运行一个完整的 Linux 内核。

与 WSL 1 相比,WSL 2 使用了更高度虚拟化的架构。WSL 1 主要是通过为 Windows 提供一个兼容层来运行 Linux 二进制文件,而 WSL 2 则是在 Windows 中运行一个真正的 Linux 内核,这也使得 WSL 2 具备更好的性能和更好的兼容性。

WSL 2 提供了以下主要特性:

  1. 真正的 Linux 内核:WSL 2 使用了真正的 Linux 内核,而不是在 Windows 上模拟一个内核。这使得 WSL 2 支持更多的系统调用,并提供更好的兼容性和性能。
  2. 多层分发包装格式:WSL 2 使用了新的多层分发包装格式(DistroLauncher),该格式允许用户在不同的 Linux 发行版之间进行切换。
  3. 支持 Docker:WSL 2 提供了与 Docker 的紧密集成,使得用户可以在 Windows 上运行 Linux 容器。
  4. 增强的性能:WSL 2 运行在虚拟机管理器中,并采用了虚拟化技术,这使得它能够获得比 WSL 1 更好的性能和更高的文件系统性能。

使用 WSL 2,用户可以在 Windows 10 上同时享受到 Windows 和 Linux 的优势。它使得开发人员可以在 Windows 上使用他们熟悉的开发工具,并无缝地与 Linux 生态系统进行交互。

开始安装

在立创开发板的泰山派训练第一课的教程也给出了WSL的安装教程十分详细。贴在这里:

使用WSL2安装Ubuntu说明文档 - Lark云文档 (feishu.cn)

我是之前就安装了WSL2,因此我也结合我的环境给出安装教程和一些问题的解决方法。

本人系统是Windows11 - Microsoft Windows [版本 10.0.22621.3007]专业版

一般教程都要先打开开发者模式,但是我并没有找到,所以直接开始

1.启用Linux的Windows子系统

在控制面版->程序->程序与功能下

2.在微软应用商店直接安装ubuntu

注意:在应用商店安装的默认在c盘,如果你c盘空间不够,参考立创的教程安装在别的地方使用WSL2安装Ubuntu说明文档 - Lark云文档 (feishu.cn)

3.解决打开WSL报错0x80370102

安装好后右下角会弹出,可以直接打开。也可以使用powershell打开

打开后报错

WslRegisterDistribution failed with error: 0x80370102

出现这个问题是因为VMware16、Hyper-v、WSL2、Docker之间出现了兼容性的问题导致报错。

先检查虚拟化是否打开。打开任务管理器查看:

如果没有启用需要在BIOS中设置,具体设置方法可以在搜索引擎搜索xxx(电脑牌子)启动虚拟化方法

然后,在管理员权限下打开powershell,执行以下命令:

# 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

使用浏览器下载Linux 内核更新包:

# 下载 Linux 内核更新包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

最后,重启电脑

4.启动WSL2

现在可以正常启动,它会让我等待一会儿,然后设置UNIX用户名和密码。

这样我们就安装好了,但是这是一个纯洁的ubuntu,我们需要安装gcc等操作。

5.配置vscode终端为WSL(可选)

这里是可选的,配置后打开vscode终端就是WSL,不配置每次要多点一下(点➕旁边的下拉按钮,选择Ubuntu,就可以打开一个WSL终端)。

点➕旁边的下拉按钮,选择设置默认,然后在上方候选框中选择Ubuntu。

6.彩蛋

我们进入/mnt/目录

cd /mnt/

/mnt/ 目录充当了 Windows 驱动器与 Linux 文件系统之间的挂载点。此目录下的文件和子目录通常代表了 Windows 系统中可用的磁盘驱动器。

当你在 WSL 中安装并运行一个 Linux 分发版时,WSL 会自动将你的 Windows 文件系统中的每个卷(通常是你的硬盘驱动器的分区,如 C:、D: 等)挂载到 /mnt/ 下。例如,如果你有 C: 驱动器和 D: 驱动器,WSL 默认会在 /mnt/c//mnt/d/ 下创建挂载点,以便你可以直接在 Linux 环境中访问这些磁盘上的文件和目录。

具体来说,以下是你在 WSL 的 /mnt/ 目录下可能看到的内容:

/mnt/c/  - 挂载了 Windows 的 C: 驱动器
/mnt/d/  - 挂载了 Windows 的 D: 驱动器
...      - 其他 Windows 驱动器的挂载点

这种集成允许用户在 Windows 和 WSL 中的 Linux 分发版之间共享文件和工作。

WSL2换源与安装gcc

因为在国内直接使用apt软件包管理器的默认源,会访问超时失败,所以我们需要换成国内的服务器源。

这里以阿里源为例。

1.查看自己的ubuntu版本

cheng@cheng:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

2.在阿里源官网找到对应的配置代码

阿里源地址:ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com)

我的版本呢是Ubuntu 22.04.3 LTS jammy对应ubuntu 22.04 LTS (jammy)

我们在windows的任意一个地方(你要找得到)创建文件sources.list

然后使用vscode编辑,把上面的内容粘贴进去

保持,然后我们直接在这里打开终端。我刚才创建的sources.listC:\resource\Linux,那么WSL中的路径就是/mnt/c/resource/Linux

我们直接拷贝sources.list/etc/apt/目录下

sudo cp /mnt/c/resource/Linux/sources.list /etc/apt/

然后执行

sudo apt update

如果出现错误The following signatures couldn’t be verified because the public key is not available然后有一串PUBKEY代码

可以先执行

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [换成你显示的PUBKEY]

在重新执行

sudo apt update

3.安装gcc测试

sudo apt install gcc

安装好gcc后,我们在windows桌面创建一个test文件夹

使用vscode打开test,创建一个mian.c,随便写一个主函数:

#include <stdio.h>

int main(int argc, char const *argv[])
{
    printf("hello cheng!\n");
    return 0;
}

编译

gcc -o main main.c

在这里插入图片描述

所以使用wsl,我们基本不用配置虚拟机网络,ssh等,也不需要文件互传。

至此我们完成配置。后面会更新在WSL上面编译立创泰山派tspi-repo版本SDK的全过程笔记。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值