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.042.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 buildWSL2 无法直接访问 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-rules3.修缮完成之后指令
① 在 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