OPENWRT系统1. A1主板介绍与开发环境搭建

板子有丰富的外设接口,板载SOC性能强劲,可以提供中高端性能 SBC(Single Board Computer-卡片电脑)体验,智能路由器等,下面是一些对应的应用场景示例:
- 智能单机小电脑,具备办公,教育,编程开发,嵌入式开发等功能
- 个人git仓库,服务器,nas,软路由,私有云
- 机器人,无人机等项目
- 电视机盒子,智能家居中枢,家庭安防监控,智能音箱等智能设备
OpenWrt介绍
OpenWrt 是一个基于 Linux 的开源嵌入式操作系统,主要用于路由器等网络设备。与传统路由器固件相比,OpenWrt 不是固定功能的固件,而是可自由扩展的软件平台,用户可以通过 opkg 软件包系统安装各种组件,实现路由、防火墙、VPN、NAS、内网穿透等多种功能。它提供 SSH 命令行与 LuCI Web 界面,配置灵活,支持 VLAN、IPv6、QoS、多 WAN 等高级网络特性。OpenWrt 结构清晰、模块化,核心包括 UCI 配置系统、netifd 网络管理、dnsmasq、hostapd 和防火墙框架等。凭借高度可定制性和强大的社区支持,OpenWrt 适用于家庭、企业网络以及二次开发,是打造高功能路由器和网络应用平台的理想选择。 Lean 的 OpenWrt LEDE 仓库是一个由 Lean 所维护的开源项目,旨在为 OpenWrt 系统提供稳定、高效且功能丰富的支持。作为 OpenWrt 和 LEDE 项目的结合,Lean 版本为广泛的路由器和嵌入式设备提供了优化的固件及增强功能,广泛应用于家庭、企业及实验室环境。Lean 仓库包含了来自全球开源社区的众多补丁、优化、驱动程序以及各种第三方应用,极大地提升了 OpenWrt 系统的可定制性和性能。本次项目的目标是基于 DShanPl-A1 Education 单板构建一个轻量化 NAS(轻NAS)应用。最佳实现路径是采用成熟且高度可扩展的开源路由系统 OpenWrt LEDE。借助 OpenWrt 完整的 Linux 环境与丰富的生态插件,我们能够在系统中按需安装存储服务、网络服务、内网穿透、安全访问等功能模块。通过这些插件之间的协作配置,再结合 OpenWrt 强大的网络管理能力,即可构建一个基于软路由架构的轻NAS 方案。
开发环境
环境说明
编译openwrt官方推荐使用原生 GNU/Linux environment,但是也支持使用Windows WSL的模式进行编译。在Windows上使用WSL的开发环境,不用去配置虚拟机环境,在某些限制按照vmware的环境下也可以使用,估笔者的编译和开发环境大多数优先使用WSL进行。
WSL(Windows Subsystem for Linux)在 Windows 上提供原生级 Linux 环境,适合开发者进行跨平台或 Linux 相关项目开发。其主要优点包括:
- 轻量快速:无需虚拟机或双系统,启动和运行几乎与原生 Linux 一样快,资源占用低。
- 无缝集成 Windows:可以直接访问 Windows 文件系统、使用 Windows 工具(如 VSCode、浏览器)与 Linux 工具协同工作。
- 原生 Linux 体验:支持大多数 Linux 命令、包管理器、构建工具,可直接进行编译、调试、运行服务。
- 易于安装维护:从 Microsoft Store 一键安装,系统更新、环境切换都非常方便。
- 优秀的开发体验:支持 Docker(WSL2)、Git、Python、Node.js、C/C++ 等主流开发环境,适合嵌入式、服务器、网络、AI 等领域。
- 跨平台兼容性好:能在 Windows 上构建 Linux 可运行的软件,如编译 OpenWrt、构建驱动、生成交叉编译包等。
环境变量配置
参考官方文档:Build system setup WSL
在WSL环境下面,编译用户的.bashrc里面,按照下面说明增加对应的配置信息,解决默认环境下,Windows的环境变量也会在WSL里面默认生效的问题,这样设置过后,基本上环境和原生的GNU/LINUX环境保持一致,不会用WSL的机制导入的问题。
# GO编译配置,如果编译不了打开这个
#export GO111MODULE=on
#export GOPROXY=https://goproxy.cn
# proxy,这里替换成自己的Windows环境的代理服务IP:PORT
export http_proxy=http://192.168.31.50:6080
export https_proxy=http://192.168.31.50:6080
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
# Filter Windows PATH stuff
export PATH=$(echo $PATH | sed -e 's|:[^:]*WindowsApps[^:]*||g')
export PATH=$(echo $PATH | tr ':' '\n' | grep -v NVIDIA | tr '\n' ':')
export PATH=$(echo $PATH | tr ':' '\n' | grep -v 'Files' | paste -sd ':' -)
export PATH=$(echo $PATH | tr ':' '\n' | grep -v 'VS' | paste -sd ':' -)
export PATH=$(echo $PATH | tr ':' '\n' | grep -v '/mnt/' | paste -sd ':' -)
WSL网络代理设置
针对有的工具包在github上,默认网络下载可能会经常失败,我们可以选择在Windows上运行对应的代理软件,然后开启允许其它设备连接,然后在WSL中配置对应的http_proxy和https_proxy环境变量,就可以很方便的对github访问进行加速了。
下面是一些配置示例:
- 代理软件使能局域网设备连接
- WSL Settings中设置网络模式为Mirrored
更多说明请查阅微软的官方稳文档:使用 WSL 访问网络应用程序 - 镜像模式网络

- 配置好后,先wsl --shutdown,然后再重新启动wsl ubuntu
- 检查环境变量WSL_PAC_URL是否已经配置成功,成功的示例如下:
- 配置终端http和https代理,自动PAC过滤
export http_proxy=$WSL_PAC_URL
export https_proxy=$WSL_PAC_URL
Tips: 可以直接写入当前用户的.bashrc里面,这样不用每次都执行一遍代理设置。
刷机测试方法
这里介绍刷入LEDE镜像的基础方法,需要提前掌握刷入镜像的方法,下面是详细步骤介绍。
硬件连接
烧录系统镜像,除了dshanpi-a1板子,还需要准备 TypeC USB线 、30W PD电源适配器 (建议韦东山店铺购买),如下所示:

安装驱动和刷机软件
需要下载的工具包和镜像文件如下:
- OpenWrt 系统镜像: DshanPi-A1_OpenWrt_Image(百问网提供的)
- 烧录工具 RKDevTool: RKDevTool_Release_v3.32.zip
- 驱动安装工具包 DriverAssitant: DriverAssitant_v5.1.1.zip
- DshanPi-A1 引导固件: rk3576_spl_loader_v1.09.107.bin
解压前面下载链接下载的烧录工具RKDevTool_Release_v3.32.zip,然后直接双击RKDevTool.exe即可。

开始烧录
准备工作完成后,按照下面的步骤操作,使设备进如MASKROM烧录模式:① 接上 usb2.0/3.0 otg 线(也即type-c烧录数据线,数据线另一端接电脑的 USB2.0/3.0 蓝色接口);
② 按住 **<font style={{color: 'rgb(28, 30, 33)', backgroundColor: 'rgb(246, 247, 248)'}}>MASKROM</font>** 按键,先不松开 ;
③ 再接上电源,dshanpi-a1 就会进入 **<font style={{color: 'rgb(28, 30, 33)', backgroundColor: 'rgb(246, 247, 248)'}}>MASKROM</font>** 烧录模式;


jason@ubuntu24:~/LEDE/bin/targets/rockchip/armv8$ gunzip -k openwrt-rockchip-armv8-100ask_dshanpia1-squashfs-sysupgrade.img.gz -f
gzip: openwrt-rockchip-armv8-100ask_dshanpia1-squashfs-sysupgrade.img.gz: decompression OK, trailing garbage ignored
# 待输入img镜像文件
jason@ubuntu24:~/LEDE/bin/targets/rockchip/armv8$ ls -lh openwrt-rockchip-armv8-100ask_dshanpia1-squashfs-sysupgrade.img
-rw-r--r-- 1 jason jason 640M Nov 28 02:24 openwrt-rockchip-armv8-100ask_dshanpia1-squashfs-sysupgrade.img