谷动谷力

 找回密码
 立即注册
查看: 856|回复: 0
打印 上一主题 下一主题
收起左侧

【openwrt】基于 WSL的openwrt开发环境(构建系统)配置

[复制链接]
跳转到指定楼层
楼主
发表于 2023-7-4 10:13:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunsili 于 2023-7-28 16:23 编辑

【openwrt】基于 WSL的openwrt开发环境(构建系统)配置

【前言】

虽然此方法不受官方支持, 官方建议使用原生 GNU/Linux 环境。原生GNU/Linux 环境固然好,然我们大部人电脑安装的都是windows系统,还有的文法就是使用虚拟机,但用vmware等虚拟机效率低。所以, wsl做开发环境是一个不错的选择。

【开始配置】

OpenWrt构建系统基于WSL须安装Debian或ubuntu等linux子系统。

sudo apt update
sudo apt dist-upgrade


【查看环境变量】


为了能够构建 OpenWrt 映像,在 PATH 或驱动器上的工作文件夹中不得有空格。 但默认情况下,在 WSL 环境中也有窗口文件夹,这些文件夹在路径中有空格:
> echo ${PATH}
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files (x86)/GnuPG/bin:/mnt/c/Program Files (x86)/dotnet/:/mnt/c/Program Files/WireGuard/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/AOMEI/AOMEI Backupper/6.5.1:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/Bas Mevissen/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Bas Mevissen/.dotnet/tools
可以看到,wsl:ubuntu的环境变量包涵了windows的环境,如果这样的话,在这个环境下编译,是会出错的,那怎么样才能在这个环境编译呢?

【临时解决方案】


在 OpenWrt 构建系统文件夹中启动命令时,您可以仅使用所需的文件夹覆盖路径(即仅使用 Linux 文件夹,因为编译 OpenWrt 不需要来自 Windows 的任何内容)这是一个我们只是调用 :make
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make


【永久性解决方案】

配置 WSL,以便 Linux 发行版的 PATH 环境变量中没有 Windows 路径元素(以 开头)。 在 Linux 环境中创建:/etc/wsl.conf

sudo tee -a /etc/wsl.conf << EOF > /dev/null
[interop]
appendWindowsPath = false
EOF
exit


重新启动 WSL 以应用更改:
wsl --shutdown

在 Linux 环境中,通过以下命令验证 PATH 环境变量中是否未显示任何 Windows 路径元素。

echo ${PATH}/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:home/fan/openwrt_21.02.0_mt76x8_jotale_source/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin


额外
限制内存/CPU 使用率
另请参阅:使用 .wslconfig 配置全局选项

可以通过创建/编辑来限制 WSL2 对 RAM/CPU 资源的使用。%USERPROFILE%\.wslconfig

[wsl2]
memory=8GB # Limits VM memory in WSL 2 to 8 GB
processors=4 # Makes the WSL 2 VM use four virtual processors


重新启动 WSL 以应用更改:

wsl --shutdown

访问文件
默认情况下,WSL2 将 Windows 驱动器装载到 ,以便您可以从 WSL2 访问 Windows。/mnt/c

您可以从 Windows 2 访问 WSL10 文件系统.exe方法是打开资源管理器并输入 ,例如 。 您可以将其映射到驱动器号,以便从 Windows 程序(如 Atom 或其他图形 IDE 软件)轻松访问 WSL2 系统。\\wsl$\<name of WSL Instance>\\wsl$\Ubuntu-20.04

+10

本帖被以下淘专辑推荐:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-29 05:14 , Processed in 0.078868 second(s), 42 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表