高通IPQ系列定制U-Boot,源自开源的QSDK 12.5。支持以下功能:
- 集成U-Boot的webfailsafe模式
- 集成DHCP服务
- 集成Web页面修改环境变量
- 支持U-Boot更新、固件更新、CDT更新、MIBIB更新、GPT更新、ART更新、initramfs启动进行调试和恢复
- 支持在环境变量中自定义reset_key=<GPIO_NUM>,(覆盖模式)以方便在没有添加支持的设备上启用按压reset按键进入uboot的webfailsafe模式进行相应的升级操作
- 设置方法:①ttl下输入
- 'setenv reset_key x && saveenv'
- 设置方法:②或者环境变量页面变量名框中输入'reset_key',变量值框中输入'x',然后点'修改变量'重启后永久生效
- 注:'x'为你已知的gpio值。
- 支持在环境变量中自定义config_name=config@xxx,(覆盖模式)以方便夸机型,夸型号,夸固件进行测试
- 设置方法:①ttl下输入‘setenv config_name config@x && saveenv’
- 设置方法:②或者环境变量页面变量名框中输入'config_name',在变量值框中输入'config@xxx',然后点‘修改变量’重启后永久生效
- 取消覆盖的变量名以及值reset_key/config_name,在ttl下输入'setenv reset_key''saveenv' / 'setenv config_name''saveenv'重启即调用dtb中的默认条目
- Ubuntu 20.04 LTS 或更高版本
- 现代浏览器(用于访问Webfailsafe界面)
- 为优化web页面占用大小以及降低对设备资源的使用,HTTP页面采用zopfli的极限压缩gz格式
- 推荐浏览器:Chrome 60+、Firefox 55+、Safari 11+、Edge 15+
- 部分旧版浏览器可能无法正确处理并显示压缩的页面内容,不兼容IE浏览器,请使用支持gzip自解压缩的最新版本的现代浏览器
首次构建前,请安装以下依赖(Python3/2.7 自适应,默认推荐安装Python3)
sudo apt-get update
sudo apt-get install -y build-essential libncurses5-dev gawk git gettext libssl-dev python3 wget cpio flex bison bc rsync nodejs npm gzip zopfli device-tree-compilermakefsdatac脚本处理Web界面文件,需要用的Node.js工具,以及该工具的以下组件:
npm install -g html-minifier-terser clean-css tersergit clone https://github.com/1980490718/u-boot-2016.git
git clone https://github.com/1980490718/toolchain-arm_cortex-a7_gcc-5.2.0.git staging_dir
cd u-boot-2016
./build.sh clean./build.sh [platform] # 编译平台所有板子
./build.sh [board] # 构建单个板子
./build.sh clean # 深度清理
./build.sh clean_all # 仅清理输出文件| 平台 | 配置_defconfig | 设备型号(配置) | machid | 是否测试 | 编译命令 |
|---|---|---|---|---|---|
| IPQ40xx | ipq40xx_aliyun_ap4220 | 阿里云 AP4220 | 0x9000010 | ✓ | ./build.sh ipq40xx_aliyun_ap4220 |
| IPQ40xx | ipq40xx_standard | 公版标准 | --- | ✓ | ./build.sh ipq40xx_standard |
| IPQ40xx | ipq40xx_p2w_r619ac | P2W R619AC | 0x8010006 | ✓ | ./build.sh ipq40xx_p2w_r619ac |
| IPQ40xx | ipq40xx_thinkplus_fogpod800 | ThinkPlus FogPod800 | 0x8010100 | ✓ | ./build.sh ipq40xx_thinkplus_fogpod800 |
| IPQ40xx | ipq40xx | 公版基础 | --- | ✓ | ./build.sh ipq40xx |
| IPQ5018 | ipq5018_cmcc_rax3000q | CMCC RAX3000Q | 0x8040000 | × | ./build.sh ipq5018_cmcc_rax3000q |
| IPQ5018 | ipq5018_cucc_vs010 | 中国联通 CUCC VS010 | 0x8040000 | × | ./build.sh ipq5018_cucc_vs010 |
| IPQ5018 | ipq5018_gl_b3000 | GLINET GL-B3000 | 0x8040004 | × | ./build.sh ipq5018_gl_b3000 |
| IPQ5018 | ipq5018_mr3000d_04 | CMCC MR3000D-04 | 0x8040702 | × | ./build.sh ipq5018_mr3000d_04 |
| IPQ5018 | ipq5018_mr3000d_ci | CMCC MR3000D-CI | 0x8040802 | ✓ | ./build.sh ipq5018_mr3000d_ci |
| IPQ5018 | ipq5018_pz_l8 | CMCC PZ-L8 | 0x8040000 | × | ./build.sh ipq5018_pz_l8 |
| IPQ5018 | ipq5018_ruijie_ma3063 | 锐捷 RG-MA3063 | 0x8040000 0x8040004 |
× | ./build.sh ipq5018_ruijie_ma3063 |
| IPQ5018 | ipq5018_skspruce_ap8330c | 西加云杉 SKSPRUCE AP8330C | 0x8040202 | × | ./build.sh ipq5018_skspruce_ap8330c |
| IPQ5018 | ipq5018_tiny | 公版简 | --- | ✓ | ./build.sh ipq5018_tiny |
| IPQ5018 | ipq5018_tiny_debug | 公版调试简 | --- | ✓ | ./build.sh ipq5018_tiny_debug |
| IPQ5018 | ipq5018 | 公版基础 | --- | ✓ | ./build.sh ipq5018 |
| IPQ5332 | ipq5332_h3c_ne36pro | H3C NE36PRO | 0x8060007 | ✓ | ./build.sh ipq5332_h3c_ne36pro |
| IPQ5332 | ipq5332_xiaomi_be306 | 小米 BE306 | 0x8060007 | × | ./build.sh ipq5332_xiaomi_be306 |
| IPQ5332 | ipq5332_tiny | 公版简 | --- | ✓ | ./build.sh ipq5332_tiny |
| IPQ5332 | ipq5332_tiny_nor | NOR闪存简 | --- | ✓ | ./build.sh ipq5332_tiny_nor |
| IPQ5332 | ipq5332_tiny_debug | 公版调试简 | --- | ✓ | ./build.sh ipq5332_tiny_debug |
| IPQ5332 | ipq5332_tiny2 | 公版简2 | --- | ✓ | ./build.sh ipq5332_tiny2 |
| IPQ5332 | ipq5332 | 公版基础 | --- | ✓ | ./build.sh ipq5332 |
| IPQ6018 | ipq6018_360v6 | 奇虎360v6 | 0x8030200 | ✓ | ./build.sh ipq6018_360v6 |
| IPQ6018 | ipq6018_ax1800pro | 京东云 AX1800Pro | 0x8030200 | ✓ | ./build.sh ipq6018_ax1800pro |
| IPQ6018 | ipq6018_ax5_jdcloud | 京东云 AX5 | 0x8030200 | ✓ | ./build.sh ipq6018_ax5_jdcloud |
| IPQ6018 | ipq6018_dptech_ap3000_2c | 迪普 DPtech AP3000-2C | 0x8030200 | ✓ | ./build.sh ipq6018_dptech_ap3000_2c |
| IPQ6018 | ipq6018_glinet_axt1800 | GLINET GL-AXT1800 GL-AX1800 |
0x8030200 | ✓ | ./build.sh ipq6018_glinet_axt1800 |
| IPQ6018 | ipq6018_philips_ly1800 | 飞利浦 LY1800 双渔 Y6010 |
0x8030000 | ✓ | ./build.sh ipq6018_philips_ly1800 |
| IPQ6018 | ipq6018_jdcloud_ax6600 | 京东云 AX6600 | 0x8030201 | ✓ | ./build.sh ipq6018_jdcloud_ax6600 |
| IPQ6018 | ipq6018_jdcloud_er1 | 京东云 ER1 | 0x8030203 | ✓ | ./build.sh ipq6018_jdcloud_er1 |
| IPQ6018 | ipq6018_m2 | 兆能 M2 CMIOT AX18 |
0x8030200 | ✓ | ./build.sh ipq6018_m2 |
| IPQ6018 | ipq6018_nn6000 | Link NN6000 | 0x8030202 | ✓ | ./build.sh ipq6018_nn6000 |
| IPQ6018 | ipq6018_xiaomi_ax1800 | 小米 AX1800 | 0x8030200 | ✓ | ./build.sh ipq6018_xiaomi_ax1800 |
| IPQ6018 | ipq6018_tiny | 公版简 | --- | ✓ | ./build.sh ipq6018_tiny |
| IPQ6018 | ipq6018 | 公版基础 | --- | ✓ | ./build.sh ipq6018 |
| IPQ806x | ipq806x_standard | 公版标准 | --- | ? | ./build.sh ipq806x_standard |
| IPQ806x | ipq806x | 公版基础 | --- | ? | ./build.sh ipq806x |
| IPQ807x | ipq807x_aliyun_ap8220 | 阿里云 AP8220 | 0x0801000A | ✓ | ./build.sh ipq807x_aliyun_ap8220 |
| IPQ807x | ipq807x_redmi_ax6 | 小米 AX3600 红米 AX6 |
0x08010010 | ✓ | ./build.sh ipq807x_redmi_ax6 |
| IPQ807x | ipq807x_tiny | 公版简 | --- | ✓ | ./build.sh ipq807x_tiny |
| IPQ807x | ipq807x_xglink_5gcpe | XGlink 5GCPE | 0x08010008 | ✓ | ./build.sh ipq807x_xglink_5gcpe |
| IPQ807x | ipq807x | 公版基础 | --- | ✓ | ./build.sh ipq807x |
| IPQ9574 | ipq9574 | 公版基础 | --- | ? | ./build.sh ipq9574 |
编译说明:所有配置的编译命令格式均为
./build.sh <配置_defconfig>,其中<配置_defconfig>为表格第二列中对应的配置名称。
./build.sh ipq807x # 构建IPQ807x全系
./build.sh ipq807x_tiny # 构建单个板子
./build.sh ipq6018_xiaomi_ax1800 # 小米AX1800- ipq40xx/ipq806x: bin/*.elf
- 其他平台: bin/*.mbn
脚本自动设置:
ARCH=arm
CROSS_COMPILE=arm-openwrt-linux-
STAGING_DIR=../staging_dir/- httpd/fs.c:54:20: fatal error: fsdata.c": No such fil or directory 请检查是否安装了NodeJS,以及Node的子模块:html-minifier-terser clean-css terser
- 本项目使用 GPLv2 开源。
- 详细条款请查看项目根目录下的 LICENSE 文件
- 复制、分发、展示本代码
- 修改本代码并分发修改后的版本
- 将本代码用于商业用途,包括销售、出租等
- 任何借鉴、复刻、二次开发本代码的行为、必须注明出处并同样以 GPLv2 开源以及保留原始版权声明和许可证声明
- 本项目未经充分测试,使用风险自负。
- 作者及本项目源码不承担任何因直接间接使用本代码而产生的损失或损害责任,包括但不限于硬件损坏、数据丢失、设备故障等。
- 本项目仅供学习和研究使用,禁止用于任何侵犯他人利益的用途。