Windows系统下使用WSL编译TuyaOS
什么是WSL
Windows Subsystem for Linux(简称WSL),Windows 下的 Linux 子系统,是一个在 Windows 10 上能够运行原生 Linux 二进制可执行文件(ELF格式)的兼容层。它是由微软与 Canonical 公司合作开发,其目标是使纯正的 Ubuntu、Debian 等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
微软官方文档:https://docs.microsoft.com/zh-cn/windows/wsl
WSL安装
WSL有 WSL1 和 WSL2 两个版本,推进使用 WSL2。WSL 2 仅在 Windows 11 或 Windows 10 版本 1903、内部版本 18362 或更高版本中可用。
1、确认Windows系统版本
选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。
如显示系统版本低于以上 WSL 要求的系统版本,需要先使用 Windows Update 助手手工更新 Windows 版本,可以选择在线更新或下载升级工具升级。
2、一键安装
Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 可以使用以下命令一键安装。
使用管理员权限打开 powershell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运
行”)。输入安装命令开始一键安装,并等待安装完成。
Code: Select all
wsl --install
默认安装的版本为Ubuntu 22.04
重启 windows 系统。
3、手动安装
如一键安装失败,或系统版本为 Windows 10 版本 1903 或更高版本,内部版本为 18362.1049 或更高版本,可手动安装 WSL。
使用管理员权限打开 powershell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运
行”)。启用适用于 Linux 的 Windows 子系统
Code: Select all
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
启用虚拟机功能
Code: Select all
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启 windows 系统。
4、启动
在 Windows 开始菜单中点击 ubuntu 开启 WSL 下的 Ubuntu。
第一次启动会进行初始化,并根据提示输入用户名及密码。
进入系统后,即可正常使用。
5、WSL命令
列出可用的 Linux 发行版
Code: Select all
wsl --list --online 以下是可安装的有效分发的列表。 使用 'wsl.exe --install <Distro>' 安装。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 openSUSE-Leap-15.5 openSUSE Leap 15.5 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5 openSUSE-Tumbleweed openSUSE Tumbleweed
安装指定发行版本
Code: Select all
wsl --install Ubuntu-20.04
列出已安装的 Linux 发行版
Code: Select all
wsl --list --verbose
设置默认 Linux 发行版
Code: Select all
wsl --set-default Ubuntu
更新 WSL
Code: Select all
wsl --update
设置默认 WSL 版本
Code: Select all
wsl --set-default-version 2
关闭wsl
Code: Select all
wsl --shutdown
注销或卸载 Linux 发行版
Code: Select all
wsl --unregister Ubuntu
Ubuntu开发环境配置
修改软件源
编辑 /etc/apt/sources.list 文件,修改为阿里云软件源。
Code: Select all
$ sudo cp /etc/apt/sources.list /etc/apt/sources_back.list $ sudo vim /etc/apt/sources.list //替换为阿里云软件源 deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
完成后执行以下命令更新。
Code: Select all
$ sudo apt-get update $ sudo apt-get -y upgrade
开发环境配置
使用以下命令安装编译基础命令
Code: Select all
$ sudo apt-get install -y build-essential wget git unzip python3 python3-pip libc6-i386 $ pip3 install ruamel.yaml -i https://pypi.tuna.tsinghua.edu.cn/simple
其他命令可按需安装。
Tuya Wind IDE 插件安装
WSL 插件安装
在 VSCode 应用商店中搜索 wsl,并点击安装按钮开始安装
安装完成后,可在资源管理器中发现 WSL目标。
在 WSL 的 Ubuntu 命令行中输入 code .即可通过 VSCode 打开当前文件夹。
C/C++ 插件安装
Tuya Wind IDE 插件安装
安装完成后即可登录。
完成登录后即可下载对应的开发框架。
FAQ
启动 Ubuntu 时报错:WslRegisterDistribution failed with error: 0x80370102
解决方案:在powershell 管理员模式下执行以下命令启用 hyper
Code: Select all
bcdedit /set hypervisorlaunchtype auto