OpenWrt固件构建快速入门
这是一个关于如何构建您自己第一个快照版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固件构建快速入门相关推荐
- OpenWrt 概述与快速入门
1 OpenWrt 简介 1.1 历史渊源 OpenWrt 项目是针对嵌入式设备的 Linux 操作系统,常用在路由器上.作为一个简介的嵌入式 Linux 操作系统,OpenWrt 高度模块化.自动化 ...
- Enterprise Library 缓存应用程序块快速入门
Enterprise Library 快速入门是简单的.易于理解的应用程序块关键特性的示例,使用了一个实现了常规场景的漫游集合来说明这些特性. 如果要理解一个应用程序块,快速入门将是理想的起始点,并且 ...
- C#游戏开发快速入门 2.1 构建游戏场景
C#游戏开发快速入门 2.1 构建游戏场景 如果已经计划好了要编写什么样的游戏,在打开Unity以后,要做的第一件事情就是构建游戏场景(Scene).游戏场景就是玩家游戏时,在游戏视图中看到的一切, ...
- 《Android构建MVVM》系列(一) 之 MVVM架构快速入门
前言 本文属于<Android构建MVVM>系列开篇,共六个篇章,详见目录树. 该系列文章旨在为Android的开发者入门MVVM架构,掌握其基本开发模式. 辅以讲解Android Arc ...
- ruby elixir_如何使用Elixir和Phoenix快速入门构建CRUD REST API
ruby elixir 这篇文章将展示如何使用Elixir和Phoenix框架构建REST API. 重点将是为持久化到Postgres数据库后端的模型提供CRUD(创建,读取,更新,删除)端点. 我 ...
- 如何使用Elixir和Phoenix快速入门构建CRUD REST API
这篇文章将展示如何使用Elixir和Phoenix框架构建REST API. 重点将是为持久化到Postgres数据库后端的模型提供CRUD(创建,读取,更新,删除)端点. 我应该警告你: 这是一个简 ...
- 如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练)
如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练) 关于使用Spring MVC创建Web API的另一篇教程. 不太复杂. 只是一个演练. 生成的应用程序将提供简单的 ...
- 快速入门PyTorch(2)--如何构建一个神经网络
2019 第 43 篇,总第 67 篇文章 本文大约 4600 字,阅读大约需要 10 分钟 快速入门 PyTorch 教程第二篇,这篇介绍如何构建一个神经网络.上一篇文章: 快速入门Pytorch( ...
- 【物体检测快速入门系列 | 01 】基于Tensorflow2.x Object Detection API构建自定义物体检测器
这是机器未来的第1篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/124745966 CSDN话题挑战赛第1期 活动详情地址 ...
最新文章
- python那么慢为什么还有人用-为什么Python比C++慢很多?
- java mysql 分布式锁_Java分布式锁之数据库方式实现
- 23 Python常用模块(一)
- redis面试问题(二)
- IDEA实现到JSTL
- thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法
- QMsgPack的用法DEMO
- Docker Nacos Mysql集群
- android httpget 参数,安卓通过httpget传入json参数,请求数据
- 常见性能问题:慢sql导致响应时间长分析定位
- android8按键布局,机身按键接口布局合理_手机Android频道-中关村在线
- 如果不解决人的问题,技术终究不能解决真正地社会问题
- Linux命令解释之passwd
- 不容错过的5款黑科技软件,建议收藏转发
- 《网络渗透技术》 强烈推荐
- 硅谷课堂第十二课-公众号点播课程和直播管理模块
- 【RTD】铂电阻测温原理与具体方法
- 《安全评估报告》7条回答范例
- EPUB和PDF的区别,有什么好用的epub阅读器
- 产业园区需要塑造的“六”大品牌