CentOS OpenWrt 编译指南

CentOS 和 OpenWrt 是两款非常流行的操作系统,它们在各自领域都有广泛的应用,CentOS 是一个基于 Red Hat Enterprise Linux 的免费发行版,而 OpenWrt 是一个专为嵌入式设备设计的开源操作系统,本文将详细介绍如何在 CentOS 系统上编译 OpenWrt。
编译环境准备
安装依赖
需要在 CentOS 系统上安装编译 OpenWrt 所需的依赖,可以使用以下命令进行安装:
sudo yum install -y subversion make gcc gcc-c++ autoconf automake libtool flex bison patch tar gzip unzip bzip2 git which findutils m4 diffutils patchutils ncurses-devel elfutils-libelf-devel openssl-devel readline-devel python-devel python3-devel ncurses-libs
安装 Python 虚拟环境
OpenWrt 编译过程中需要使用 Python 虚拟环境,可以使用以下命令安装 virtualenv:
sudo pip install virtualenv
安装 Python 3.8
OpenWrt 编译需要 Python 3.8,可以使用以下命令安装:
sudo yum install -y python3.8
配置环境变量
将 Python 3.8 的 bin 目录添加到系统环境变量中:

export PATH=$PATH:/usr/local/bin/python3.8
下载 OpenWrt 源代码
克隆 OpenWrt 源代码
git clone https://github.com/openwrt/openwrt.git cd openwrt
创建编译目录
mkdir -p build cd build
配置编译环境
配置编译目标
make menuconfig
在菜单配置界面,选择目标平台、系统架构等配置项。
保存配置
配置完成后,保存并退出:
<Save> <Ok>
生成 Makefile 文件
make
编译 OpenWrt

编译内核
make package/kernel/linux/compile V=99
编译系统
make package/compile V=99
编译固件
make V=99
FAQs
问题:编译过程中出现 “error: no matching function for call to ‘main'” 的错误,怎么办?
解答:这是因为在编译过程中,Python 虚拟环境配置不正确导致的,请检查 Python 虚拟环境是否创建成功,以及是否将 Python 3.8 的 bin 目录添加到系统环境变量中。
问题:编译过程中出现 “missing package: libopenssl” 的错误,怎么办?
解答:这是因为在编译过程中,缺少 openssl 库导致的,请检查系统中是否已安装 openssl 库,可以使用以下命令进行安装:
sudo yum install -y openssl openssl-devel
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复