这是一个关于如何构建您自己第一个快照版OpenWrt固件的简短指南,如果您想编译一个稳定版使用构建自己固件的入门指南作为指南。 它没有掩饰任何陷阱,但如果一切顺利,提供了一个快速的方法。实现相同目标的替代指南有: 使用Image Builder, 构建自己固件的入门指南。

The development branch can contain experimental code that is under active development and should not be used for production environments. Snapshot images may support additional hardware; however, it is experimental, considered unstable, and sometimes won't compile.

Prebuilt snapshot images do not come with any web interface or GUI. You will need to be comfortable using a command line and remote shell to install one yourself → How to install LuCI

→ Read more...

使用稳定分支,git clone 时选择稳定的tag,参见OpenWrt系统编译简述相应部分。

首先,我们需要确认所有的依赖软件已安装。下面以Debian/Ubuntu为例:

sudo apt-get install subversion g++ zlib1g-dev build-essential git python rsync man-db
sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget zip time

接下来,使用以下命名获取OpenWrt的源代码:

git clone https://git.openwrt.org/openwrt/openwrt.git/
cd openwrt./scripts/feeds update -a
./scripts/feeds install -amake menuconfig

最后一个命令将打开一个菜单,如果您想为“TL-WR841N v11”这款无线路由构建固件,您可以这样设置:

  • “Target System” ⇒ “Atheros AR7xxx/AR9xxx”

  • “Target Profile” ⇒ “TP-LINK TL-WR841N/ND v11”

然后选择退出并保存设置。现在我们就可以开始使用以下命令构建固件了,该过程将持续一段时间:

make

完成以后,固件可以在目录 ./bin/targets/ar71xx/generic/ 中找到。

  • 以 *-factory.bin 命名的固件是用于首次安装。

  • 以 *-sysupgrade.bin 命名的固件是用于更新已安装的OpenWrt。

备注:

  • 如需重新编译固件,再次执行make命令。

  • 如需快速编译,可使用make -j N命令, 其中N为CPU内核数+1。请注意,此方法在编译期间容易出错。如果遇到编译错误,你的第一步是在没有-j N的情况下再次编译. 建议在并行编译之前使用make download命令以防止出现这些错误(对于那些拥有更快Internet连接的用户来说,使用-jN命令在下载环节通常可以更安全)

  • 使用 make menuconfig 命令可以更改设置并再次编译。

  • 您可以将固件中的自定义文件放入目录<buildroot>/files。例如,您想将my_config在固件的/etc/config/目录中,则对应路径为<buildroot>/files/etc/config/my_config。如果files 目录在您的构建系统中不存在,手动创建即可。

OpenWrt固件构建快速入门相关推荐

  1. OpenWrt 概述与快速入门

    1 OpenWrt 简介 1.1 历史渊源 OpenWrt 项目是针对嵌入式设备的 Linux 操作系统,常用在路由器上.作为一个简介的嵌入式 Linux 操作系统,OpenWrt 高度模块化.自动化 ...

  2. Enterprise Library 缓存应用程序块快速入门

    Enterprise Library 快速入门是简单的.易于理解的应用程序块关键特性的示例,使用了一个实现了常规场景的漫游集合来说明这些特性. 如果要理解一个应用程序块,快速入门将是理想的起始点,并且 ...

  3. C#游戏开发快速入门 2.1 构建游戏场景

    C#游戏开发快速入门 2.1  构建游戏场景 如果已经计划好了要编写什么样的游戏,在打开Unity以后,要做的第一件事情就是构建游戏场景(Scene).游戏场景就是玩家游戏时,在游戏视图中看到的一切, ...

  4. 《Android构建MVVM》系列(一) 之 MVVM架构快速入门

    前言 本文属于<Android构建MVVM>系列开篇,共六个篇章,详见目录树. 该系列文章旨在为Android的开发者入门MVVM架构,掌握其基本开发模式. 辅以讲解Android Arc ...

  5. ruby elixir_如何使用Elixir和Phoenix快速入门构建CRUD REST API

    ruby elixir 这篇文章将展示如何使用Elixir和Phoenix框架构建REST API. 重点将是为持久化到Postgres数据库后端的模型提供CRUD(创建,读取,更新,删除)端点. 我 ...

  6. 如何使用Elixir和Phoenix快速入门构建CRUD REST API

    这篇文章将展示如何使用Elixir和Phoenix框架构建REST API. 重点将是为持久化到Postgres数据库后端的模型提供CRUD(创建,读取,更新,删除)端点. 我应该警告你: 这是一个简 ...

  7. 如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练)

    如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练) 关于使用Spring MVC创建Web API的另一篇教程. 不太复杂. 只是一个演练. 生成的应用程序将提供简单的 ...

  8. 快速入门PyTorch(2)--如何构建一个神经网络

    2019 第 43 篇,总第 67 篇文章 本文大约 4600 字,阅读大约需要 10 分钟 快速入门 PyTorch 教程第二篇,这篇介绍如何构建一个神经网络.上一篇文章: 快速入门Pytorch( ...

  9. 【物体检测快速入门系列 | 01 】基于Tensorflow2.x Object Detection API构建自定义物体检测器

    这是机器未来的第1篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/124745966 CSDN话题挑战赛第1期 活动详情地址 ...

最新文章

  1. python那么慢为什么还有人用-为什么Python比C++慢很多?
  2. java mysql 分布式锁_Java分布式锁之数据库方式实现
  3. 23 Python常用模块(一)
  4. redis面试问题(二)
  5. IDEA实现到JSTL
  6. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法
  7. QMsgPack的用法DEMO
  8. Docker Nacos Mysql集群
  9. android httpget 参数,安卓通过httpget传入json参数,请求数据
  10. 常见性能问题:慢sql导致响应时间长分析定位
  11. android8按键布局,机身按键接口布局合理_手机Android频道-中关村在线
  12. 如果不解决人的问题,技术终究不能解决真正地社会问题
  13. Linux命令解释之passwd
  14. 不容错过的5款黑科技软件,建议收藏转发
  15. 《网络渗透技术》 强烈推荐
  16. 硅谷课堂第十二课-公众号点播课程和直播管理模块
  17. 【RTD】铂电阻测温原理与具体方法
  18. 《安全评估报告》7条回答范例
  19. EPUB和PDF的区别,有什么好用的epub阅读器
  20. 产业园区需要塑造的“六”大品牌

热门文章

  1. 本地缓存、分布式缓存以及多级缓存
  2. 微软 sntp服务器地址,电脑sntp服务器地址
  3. python最简单爬虫让人头疼
  4. AD620放大器 AD623放大器 仪表放大器 差分放大器 微弱信号放大 原理图和PCB设计
  5. IMU惯性测量单元之陀螺仪综述
  6. 一些Perl例程(全部手打并执行过)
  7. 0xCCCCCCCCC的内存不能访问的原因
  8. 【DL】图像去噪中的patch size是什么(1篇文章链接和1段代码)
  9. redirect失败的原因,Could not resolve view with name
  10. 开发中同一个字拥有不同编码的汇总(eg䶮)