开源项目 `am-toolchains` 使用教程
2024-09-18 07:27:07作者:曹令琨Iris
1. 项目介绍
am-toolchains 是一个用于编译 Asuswrt-Merlin 固件的工具链集合。Asuswrt-Merlin 是一个基于华硕路由器官方固件的开源项目,旨在提供更多功能和更好的性能。am-toolchains 项目包含了多个版本的交叉编译工具链,适用于不同的硬件平台和固件版本。
2. 项目快速启动
2.1 克隆项目
首先,克隆 am-toolchains 项目到本地:
git clone https://github.com/RMerl/am-toolchains.git
2.2 设置环境变量
假设项目被克隆到 ~/am-toolchains/ 目录下,按照以下步骤设置环境变量:
2.2.1 BCM-HND 平台
sudo ln -s ~/am-toolchains/brcm-arm-hnd /opt/toolchains
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/lib" >> ~/.profile
echo "export TOOLCHAIN_BASE=/opt/toolchains" >> ~/.profile
echo "PATH=\$PATH:/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin" >> ~/.profile
echo "PATH=\$PATH:/opt/toolchains/crosstools-aarch64-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin" >> ~/.profile
2.2.2 BCM-SDK 平台
假设你已经将固件仓库克隆到 ~/asuswrt-merlin.ng/ 目录下:
sudo ln -s ~/am-toolchains/brcm-arm-sdk/hndtools-arm-linux-2.6.36-uclibc-4.5.3 /opt/brcm-arm
ln -s ~/am-toolchains/brcm-arm-sdk ~/asuswrt-merlin.ng/release/src-rt-6.x.4708/toolchains
echo "PATH=\$PATH:/opt/brcm-arm/bin" >> ~/.profile
2.3 验证设置
重新加载 .profile 文件以应用更改:
source ~/.profile
验证工具链是否正确安装:
arm-linux-gcc --version
3. 应用案例和最佳实践
3.1 编译 Asuswrt-Merlin 固件
使用 am-toolchains 工具链编译 Asuswrt-Merlin 固件的步骤如下:
-
克隆 Asuswrt-Merlin 固件仓库:
git clone https://github.com/RMerl/asuswrt-merlin.ng.git -
进入固件目录并开始编译:
cd asuswrt-merlin.ng make
3.2 自定义固件功能
通过修改源代码和重新编译,可以自定义固件功能。例如,添加新的插件或修改现有功能。
4. 典型生态项目
4.1 Asuswrt-Merlin
Asuswrt-Merlin 是 am-toolchains 的主要应用场景,提供了丰富的功能和性能优化。
4.2 OpenWRT
虽然 am-toolchains 主要用于 Asuswrt-Merlin,但部分工具链也可以用于 OpenWRT 项目,特别是针对 Broadcom 平台的交叉编译。
4.3 LEDE
LEDE 项目是 OpenWRT 的一个分支,也可以使用 am-toolchains 进行交叉编译。
通过以上步骤,您可以快速上手并使用 am-toolchains 项目进行固件编译和开发。
登录后查看全文
热门项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0114
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
487
3.61 K
Ascend Extension for PyTorch
Python
298
332
暂无简介
Dart
738
177
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
272
113
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
865
467
仓颉编译器源码及 cjdb 调试工具。
C++
149
880
React Native鸿蒙化仓库
JavaScript
296
343
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
20
Dora SSR 是一款跨平台的游戏引擎,提供前沿或是具有探索性的游戏开发功能。它内置了Web IDE,提供了可以轻轻松松通过浏览器访问的快捷游戏开发环境,特别适合于在新兴市场如国产游戏掌机和其它移动电子设备上直接进行游戏开发和编程学习。
C++
52
7