WSL相关安装

WSL相关安装

1.WSL2内Ubuntu安装

首先命令窗口cmd(PowerShell)内输入

wsl --list --online

这样可以看到微软官方支持的所有 Linux 发行版列表

像这样

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Ubuntu-24.04                    Ubuntu 24.04 LTS
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-16.0              openSUSE Leap 16.0
SUSE-Linux-Enterprise-15-SP7    SUSE Linux Enterprise 15 SP7
SUSE-Linux-Enterprise-16.0      SUSE Linux Enterprise 16.0
kali-linux                      Kali Linux Rolling
Debian                          Debian GNU/Linux
AlmaLinux-8                     AlmaLinux OS 8
AlmaLinux-9                     AlmaLinux OS 9
AlmaLinux-Kitten-10             AlmaLinux OS Kitten 10
AlmaLinux-10                    AlmaLinux OS 10
archlinux                       Arch Linux
FedoraLinux-43                  Fedora Linux 43
FedoraLinux-42                  Fedora Linux 42
eLxr                            eLxr 12.12.0.0 GNU/Linux
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_10                Oracle Linux 8.10
OracleLinux_9_5                 Oracle Linux 9.5
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6

之后选择版本命令进行安装

wsl --install -d <你想安装的版本名称>

示例:

wsl --install -d Ubuntu-24.04

2.WSL2内安装Linux环境下的ESP32环境

# 更新软件包列表
sudo apt-get update

# 升级已安装的软件包(可选,但推荐)
sudo apt-get upgrade -y

# 安装必要的依赖包
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 -y

创建工作目录并下载ESP-IDF

mkdir -p ~/esp
cd ~/esp
#这里下载的是v5.4.1版本
git clone -b v5.4.1 --recursive https://github.com/espressif/esp-idf.git
#这个过程可能耗时5-10分钟

安装ESP32-S3工具链

cd ~/esp/esp-idf
./install.sh esp32s3
#这个过程可能耗时5-10分钟

设置环境变量

echo "alias get_idf='. \$HOME/esp/esp-idf/export.sh'" >> ~/.bashrc
source ~/.bashrc

设置完环境变量之后,就可以直接用这个名字激活ESP-IDF环境

# 打开终端,激活 ESP-IDF 环境
get_idf

测试是否环境安装成功

# 测试编译一下
cd ~/esp/workspace
cp -r ~/esp/esp-idf/examples/get-started/hello_world .
cd hello_world
idf.py set-target esp32s3
idf.py build

WSL2 无法直接访问 Windows 主机的 USB 设备
所以要需要配置 USB 转发才能让 WSL2 识别你的 ESP32-S3 开发板

在 Windows 端安装 usbipd(以管理员身份打开 PowerShell)

# 安装 usbipd-win
winget install --interactive --exact dorssel.usbipd-win

#或者找github安装下载

之后在管理员模式下的命令串口输入

usbipd list           # 查看 BUSID

会看到


C:\Windows\System32>usbipd list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
2-3    1a86:55d3  USB-Enhanced-SERIAL CH343 (COM10)                             Not shared
2-7    04f2:b7b8  Integrated Camera                                             Not shared
2-9    048d:c982  USB 输入设备                                                  Not shared
2-10   8087:0033  英特尔(R) 无线 Bluetooth(R)                                   Not shared

Persisted:
GUID                                  DEVICE

找到你的esp32开发板接口
这里是2-3

在 Windows PowerShell(管理员)中执行:

# 1. 绑定设备(共享)
usbipd bind --busid 2-3

# 2. 附加到 WSL(使用 --auto-attach 防止烧录时断开)
usbipd attach --wsl --busid 2-3 --auto-attach

在 WSL2 Ubuntu 中执行:
如果失败的话,可以用ch341 驱动 兼容 CH343 芯片

# 1. 安装驱动(你的 ESP32-S3 用的是 CH343 芯片)
sudo apt update
sudo apt install linux-modules-extra-$(uname -r)

# 2. 加载 CH343 驱动
sudo modprobe ch341

# 3. 设置永久加载驱动(可选)
echo "ch341" | sudo tee -a /etc/modules

# 4. 检查设备是否识别
lsusb
# 应该看到:ID 1a86:55d3 QinHeng Electronics 

# 5. 查看串口设备
ls /dev/ttyUSB*
# 应该显示:/dev/ttyUSB0

# 6. 给串口设备添加权限
sudo chmod 666 /dev/ttyUSB0

# 7. 创建 udev 规则(永久生效)
echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d3", MODE="0666"' | sudo tee /etc/udev/rules.d/99-ch343.rules
sudo udevadm control --reload-rules

3.修缮完成之后指令

① 在 PowerShell(管理员)中

# 1. 打开管理员 PowerShell
# 按 Win + X → 选择"Windows PowerShell(管理员)" 或 "终端(管理员)"

# 2. 连接 USB 设备到 WSL2
usbipd attach --wsl --busid 2-3 --auto-attach
#记得同时打开WSL

# 看到成功提示:
# usbipd: info: Device 2-3 is now attached
# 这个窗口保持打开,不要关!

# 查看设备状态    usbipd list

② 第二步:在 WSL2 终端中

# 1. 检查设备是否连接成功
ls -l /dev/ttyACM0
# 应该显示:crw-rw-rw- 1 root dialout ... /dev/ttyACM0

# 2. 激活 ESP-IDF 环境
get_idf
# 看到提示:Done! You can now compile ESP-IDF projects.

# 3. 进入你的项目目录
cd ~/esp/esp-idf/hello_world

# 4. 编译项目(如果代码有修改)
idf.py build

# 5. 烧录到开发板
idf.py -p /dev/ttyACM0 flash

# 6. 查看运行结果
idf.py -p /dev/ttyACM0 monitor

# 7. 退出监视器(按 Ctrl + ])

③ 一键完成(最常用)

# 1. 先进入你的项目目录
cd ~/esp/esp-idf/hello_world

# 编译 + 烧录 + 监视 一步到位
idf.py -p /dev/ttyACM0 flash monitor

工作流程示例

# 1. 插上开发板
# 2. 打开管理员 PowerShell,输入:
usbipd attach --wsl --busid 2-3 --auto-attach

# 3. 回到 WSL2 终端
get_idf
cd ~/esp/esp-idf/hello_world
idf.py -p /dev/ttyACM0 flash monitor

添加新评论