CentOS与OpenWrt编译指南

编译环境准备
安装编译所需软件包
在CentOS系统中,我们需要安装一些编译软件包,以便编译OpenWrt,以下是在CentOS 7系统上安装这些软件包的命令:
sudo yum install -y gcc make patch gzip bzip2 unzip wget
安装交叉编译工具链
由于OpenWrt需要在目标设备上编译,我们需要安装交叉编译工具链,以下是在CentOS 7系统上安装交叉编译工具链的命令:
sudo yum install -y gcc-armadaxp gcc-aarch64-linux-gnu
下载OpenWrt源码
创建OpenWrt源码目录
mkdir -p /opt/openwrt cd /opt/openwrt
下载OpenWrt源码
wget https://git.openwrt.org/openwrt/openwrt.git
克隆OpenWrt源码

git clone https://git.openwrt.org/openwrt/openwrt.git
配置编译环境
进入OpenWrt源码目录
cd openwrt
创建配置文件
make menuconfig
在菜单配置中,选择目标设备、编译选项、包等,以下是一个示例配置:
Target System -> Allwinner A64 (sun8i-h3)
Target Profile -> Generic (allwinner) 保存并退出
按Ctrl + X,然后按Y,最后按Enter保存并退出。
编译OpenWrt
编译OpenWrt
make
安装OpenWrt

sudo make install
编译常见问题
编译错误:
make: *** No rule to make target '...'. Stop.- 原因:可能是因为缺少某个依赖包。
- 解决方法:检查依赖包是否已安装,或者使用
make package-name/compile编译单个包。
编译速度慢
- 原因:编译过程复杂,需要大量计算资源。
- 解决方法:使用多核CPU编译,例如在编译命令中添加
-j参数,例如make -j4。
FAQs
Q1:如何查看OpenWrt编译进度? A1:在编译过程中,可以使用make V=99命令查看详细的编译进度。
Q2:编译完成后,如何将OpenWrt固件烧录到设备? A2:编译完成后,OpenWrt固件会保存在/opt/openwrt/bin目录下,使用TFTP、FTP或其他工具将固件传输到设备,然后使用相应的烧录工具(如DD、Etcher等)将固件烧录到设备中。

