编译 OpenWrt:从源码到固件的全程指南

OpenWrt 是一个开源的路由器固件,它允许用户自定义和扩展功能,从而满足其特定的需求。本文将指导您完成从获取源码到生成可刷写的固件的全过程。

  1. 准备工作

在开始编译之前,您需要以下工具和软件:

  • Linux 操作系统(如 Ubuntu、Debian 等)
  • 编译工具链(如 gcc、g++ 等)
  • 路由器 SDK(如 OpenWrt SDK)
  • 文本编辑器(如 vim、nano 等)
  1. 获取 OpenWrt 源码

前往 OpenWrt 官方网站(https://openwrt.org)下载最新的源码包。 选择适合您路由器的版本(如 AR7XXX、BRCM 等),并下载对应的源码包。解压下载的源码包,进入解压后的目录。

./script/feeds update -a
./script/feeds install <package> # -a 安装所有

为提高下载速度,可以修改download.pl, 在适当的位置(大概200行左右)添加如下镜像url

 push @mirrors, "https://ftp.debian.org/debian/$1";

注意,阿里源和清华源 内核不能正确下载。 原因url 不对。可以手动下载对应版本到dl目录

  1. 配置编译选项

在解压后的目录中,执行以下命令编辑编译配置文件:

make menuconfig

在菜单配置界面中,根据您的需求进行配置。
在这一步,要善于使用 / 搜索,假如不知道配置项路径的情况下,搜索配置就很有必要了。

  1. 开始编译

完成配置后,执行以下命令开始编译:

make -j<num_threads> V=s

其中 <num_threads> 是您希望使用的线程数,可以根据您的系统性能进行调整。V=s 参数用于在编译过程中显示详细输出。编译过程可能需要一些时间,请耐心等待。
标准库选择glibc时,多线程编译大概率会报错,原因时内核没有下载解压好。

  1. 生成固件

编译完成后,您将在 bin/ 目录中找到生成的固件文件。该目录包含用于不同路由器的固件文件。执行以下命令查看可用的固件文件:

ls bin/*/packages/kernel/linux/image/mtd-rootfs.tar.gz
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值