OpenWRT 编译教程

2023-05-16

1、安装Ubuntu

到 http://www.ubuntu.org.cn/desktop/get-ubuntu/download/ 下载,版本随便,我选的是10.10 32位版。安装过程就不说了,图形化安装,而且是中文版,连安装都搞不定的,可以关闭本页面了。可以安装在虚拟机里,也可以安装在物理机了,官方建议有条件的最好安装在物理机上,大概是说虚拟机有时会有不可预料的情况,但装在虚拟机里的人多得是了。题外话:安装过程中某一步设置用户名密码时,我是选择了自动登录,因为懒得每次都输密码登录,反正只是编译用的系统又没什么秘密。

2、关闭屏保

安装好后,在左上角“系统”菜单的“首选项”中选择“屏幕保护程序”,然后去掉左下角的“计算机空闲时激活屏幕保护程序”,然后按“关闭”,这个窗口是没有“应用”或“确定”之类的,直接关闭它就会保存。用惯了WINDOWS的用户注意了。为什么要做这步呢? 因为整个编译过程中有些步骤要等一段时间的,老是自动启用屏幕保护程序,然后还要重新输密码才能退出,也是麻烦事。

3、切换到root用户

选左上角的菜单“应用程序”-“附件”-“终端”,进入命令行,然后输入sudo –sh,注意大小写,然后输入装系统时设置的用户密码,就能切换到root(提示:输入密码的时候不会有*之类的显示的,是完全不显示,部分人不必惊慌)。切换到root是为了安装或升级部分必要的组件,有些组件需要root权限。

4、安装编译需要的组件

 


sudo apt-get install g++ libncurses5-dev libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bzip2 libz-dev asciidoc subversion  


每一行回车后都会马上检测安装或升级那个组件,官方WIKI用的是单一条命令,我分开了,因为这样更容易查看每一个组件的安装是否成功。一行命令的话,一大堆东西连续出来,懒得拖滚动条回头看了。一个个分开执行方便看一些。个人喜好了。当中最后面的asciidoc组件是需要下载400多MB东西的,慢慢等了。下载东西之前会有提示本次要下载多少M的东西,问是否的,按y然后回车让它下载就行了。提示:假如它提示找不到软件包的话,那麻烦你再看清楚命令中的软件名名称,因为有时是字母中间冒个数字1出来之类的,很容易错看成字母L。

5、退出root

上述安装完成后,这一步很重要,就是执行Exit命令退出root。如果不退出root的话,那后面会出现晕人的情况,下一步是下载源码,以root身份下载源码后,在后续操作中有些会提示不能以root身份操作,但源码已经以root身份下载了,所有文件的“所有者”都是root,退出root后再操作,又会提示没有权限,因为文件是root的,普通用户无法访问,结果只能用命令修改文件所有者,比较麻烦。所以这里就要退出root,以普通用户身份执行下面的下载源码命令。其实一开始安装组件的时候可以在命令前加上sudo来达到临时用root身份,执行完后又回到普通权限的目的,但对于新手来说,不必过于追求这些了,有个可行的方法就凑合着先用吧。

6、下载源码

分两种,一种是最新版但不是最稳定,也就是trunk版,一种是相对稳定版,backfire版。源码下载命令分别是:
先创建文件夹:
mkdir openwrt
cd openwrt

Trunk版下载命令:svn co svn://svn.openwrt.org/openwrt/trunk/

Backfire下载命令:svn co svn://svn.openwrt.org/openwrt/branches/backfire/

barrier_breaker下载命令:svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker/

选择你想要的版本就行了。然后又是等待下载…

7、开始准备编译
cd trunk或者cd backfire
如果不是刚下载的代码,为了保持代码为最新状态,应该定期运行Svn up更新代码,什么时候有变你是不知道的
然后是更新软件包:
./scripts/feeds update –a
./scripts/feeds install –a
如果不更新软件包的话,你会发现后面是看不到很多软件包的,也就无法集成那些看不到的包了。然后是make defconfig,再make menuconfig进入定制界面,慢慢选了,里面可选只编译指定设备的固件,一定要注意选对自己的设备类型,然后可以指定该类型下的具体哪一款。配置比较多,不慢慢说了,其实我也不是很懂,自己进去撞几回就差不多了,有些软件包你不懂的,就表示你不需要了,有些软件包你装官网版本后要另外装的,你见到了,就可以选上让它集成,要让它前面括号里出现*才表示集成。配置完成后退出记得选保存。如果你想修改源码,应该在此时进行,比如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在Ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。如果想集成中文包或其它非官方包的话,那我也帮你不到了,因为我也还不会。

8、执行编译

最后就执行make正式开始编译,首次编译必然是漫长的等待。如果是双核CPU,使用Make –j 2命令可以加快速度,但有人却不建议使用,官方WIKI也没说这点,我也不知道有没有好处。但我是4核CPU,使用Make –j 4命令,发现CPU占用率并没有明显提高,看了帮助,发现可以不加数字,不加数字默认就是不限制同时进行的任务数,我用了Make –j不限同时任务数后,CPU居然100%了,但整个编译过程的占用率都会有波动,刚开始是100%,后面有段时间是25%左右(也就是只用单核了),然后有时又会40%到50%(差不多用了双核),有时甚至几乎没有操作,CPU占用很低。但首次编译是特别慢的,第一次之后的都相对快很多了。悲剧的是,我第一次用Make –j编译结果是失败,然后再一次Make不用参数才成功,也许就是有人不建议使用的原因,但因为有前一次的编译,所以第二次是很快的。也就是说,假如用j参数能加速的话,虽然有可能会失败,但因为第二次不会花很长时间,所以也许加j参数还是能在第一次编译中加速的。不过我没有对比加不加-j参数花的时间区别。有兴趣的朋友自己对比吧。

9、编译完成后会出现bin文件夹,进去找你需要的BIN刷吧。

转载于:https://www.cnblogs.com/jzyuchen/p/3851354.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenWRT 编译教程 的相关文章

  • 有关YOLO目标检测的FPGA加速教程(一)

    1 内存卡的装配 详见 xff1a https blog csdn net weixin 38438451 article details 83474479 在这一步 xff0c 开发板启动后 xff0c 可以通过超级终端HyperTerm
  • java开发app后端_app后端用什么开发

    选择开发语言就一个核心原则 xff1a 在合适的业务场景的情况下选择最热门的语言 1 每种语言都有自己擅长的业务场景 xff0c 根据业务场景来选择 推荐学习 xff1a PHP视频教程 例如 xff0c 如果需要开发一个聊天服务器 xff
  • Python sphinx-build在Windows系统中生成Html文档

    看到前同事发布的 Markdown reST 文档发布流水线 基于TFS Docker Azure等工具和平台进行文档发布的介绍说明 xff0c 不得不在心中暗暗竖起大拇指 这套模式 xff0c 实现了文档编写后版本管理 发布 存档 分享的
  • php打开sdf文件,sdf文件扩展名,sdf文件怎么打开?

    sdf 文件类型1 xff1a SQL Server Compact Database File 文件说明 xff1a Compact relational database developed by Microsoft also know
  • 如何将获取的html源码重新加载,js中页面的重新加载的方法

    摘要 腾兴网为您分享 js中页面的重新加载的方法 xff0c 信用管家 xff0c 新浪博客 xff0c 听中国 xff0c 实时地球等软件知识 xff0c 以及apexlauncher xff0c 乐园rpg xff0c 正版秒挂抢红包挂
  • Git命令行介绍和使用说明(持续更新)

    Git命令行介绍和使用说明 xff08 持续更新 xff09 Git 命令行介绍和使用说明 xff08 持续更新 xff09 文档名称 Git 命令行介绍和使用说明会 创建时间 2012 8 23 修改时间 2012 8 23 创建人 Ba
  • 【题解】Luogu P2233 [HNOI2002] 公交路线 矩乘加速递推

    构造矩阵 发现只能相邻两个车站转移 xff0c 所以能够写出下面这个矩阵 begin bmatrix 0 amp 1 amp 0 amp 0 amp 0 amp 0 amp 0 amp 1 1 amp 0 amp 1 amp 0 amp 0
  • 【题解】Luogu P1038 神经网络 拓扑排序

    topsort 板 题 显然 xff0c 题目要求从入度为零的点遍历到出度为零的点 xff0c 想到用拓排 另如果是输入层 xff0c 那么u i 为1或0都没有关系 xff0c 一定会激活 同时处理出度便于输出 code 1 includ
  • 洛必达法则

    洛必达法则 对于极限 xff0c lim limits substack x to a x to infty frac f x g x 对于未定式 xff0c 也就是 frac 0 0 frac infty infty infty inft
  • Adam与SGD

    本文转载自 机器学习炼丹记 xff0c 搜索 julius ai 即可关注 原文链接 xff1a 小象 xff08 一 xff09 一个框架看懂优化算法 机器学习界有一群炼丹师 xff0c 他们每天的日常是 xff1a 拿来药材 xff08
  • Khadas VIM3刷fast drone 250

    拿到板子先增加swap空间 xff0c 避免后边编译VINS卡死 xff0c 根据教程操作即可 https www bilibili com read cv17175381 安装ROS https blog csdn net m0 5587
  • 读扇区错误:0柱面0磁头1扇区(硬盘问题,蓝屏等 0x0000007B)

    原文发布时间为 xff1a 2010 05 25 来源于本人的百度文章 由搬家工具导入 读扇区错误 0柱面0磁头1扇区 硬盘问题 xff0c 蓝屏等 0x0000007B DISKGEN能找到 那就没什么大问题的 你可以用diskgen选择
  • java8 :: 用法 (JDK8 双冒号用法)

    JDK8中有双冒号的用法 xff0c 就是把方法当做参数传到stream内部 xff0c 使stream的每个元素都传入到该方法里面执行一下 代码其实很简单 xff1a 以前的代码一般是如此的 xff1a public class Acce
  • 命名空间和函数前面加上::

    命名空间和函数前面加上 xff1a xff1a 经常看到命名空间前就只有 xff1a xff1a 比如 xff1a xff1a test 这种代表是全局的test 比如 xff1a xff1a CreateDirectory xff08 x
  • 写论文的感受

    刚才在看论文相关的东西 xff0c 突然间没有灵感 xff0c 所以去网上找相关的资料和和论文 xff0c 下载下来看 xff0c 看完后更迷茫 xff0c 都是各有各的说话 xff0c 后来趴在桌上 xff0c 想了想 xff0c 其实写
  • dynamic initializer和全局变量

    慎用全局变量 xff0c 包括全局静态变量 是众所周知的原则 xff0c 因为全局变量除了会增加程序的维护成本 如果全局变量是个复杂的对象 xff0c 并且还使用其他的全局变量 xff0c 那情况就变得复杂的多 因为全局变量初始化的顺序不是
  • esxi虚拟机的显卡怎么来的_ESXI如何完美直通独立显卡,NVIDIA 2080TI 独立输出画面,ESXI6.7-7.0适用...

    一 进入主板bios设置 只允许板载或者核显输出 PCIE独立显卡不输出 注意 每个主板如何设置请参考主板手册 我这里只用我们all in one主板BIOS为演示 二 进入到ESXI硬件管理器里面把2080TI的显卡硬件直接直通 注意 直
  • 对数函数定义域和值域_指数函数和对数函数

    一 基本内容 指数函数和对数函数是高中的九个基本函数中重要的两个 同其他函数一样 xff0c 我们必须掌握这两个函数的定义 xff0c 三要素 xff0c 图象和性质 指数函数是y 61 常数的x次数方 x在指数的位置 xff0c 底数为大
  • c语言将字母转换成ascii码,c语言函数toascii()怎么把整数转换成合法的ASCII码字符...

    c语言函数toascii 怎么把整数转换成合法的ASCII码字符 xff1f 函数需要引入的头文件 xff1a include 定义toascii 函数 xff1a int toascii int c toascii 函数使用说明 xff1
  • 计算机辅助电话访问优势,电话访问的优点缺点、优势不足、局限性

    电话访问是调查者通过电话向被调查者询问有关调查内容的一种调查方法 电话访问的优点是 xff1a 速度快 xff0c 能够在很短的时间内完成调查 xff1b 回答率较高 xff0c 一般能获得问卷提纲的多数回答 xff1b 电话的普及使得访问

随机推荐

  • 香橙派5刷Fast Drone 250

    1 购买USB网卡RTL8821CU RTL8811 RTL8723BU 三种都可以 xff0c 首次搭建买的GRIS 的RTL8821CU 2 网络环境设置好 3 刷系统 安装ROS xff0c 一路畅通 https blog csdn
  • 中断服务器的中断入口地址是固定不变的,8086是如何确定硬件中断服务程序的入口地址的?...

    满意答案 海绵温暖smile 2017 07 16 采纳率 xff1a 49 等级 xff1a 9 已帮助 xff1a 315人 中断系统功能 1 进行中断优先权排队 2 实现中断嵌套 3 自动响应中断 CPU在响应中断时通常要自动做三件事
  • 6148芯片服务器,英特尔® 至强® 金牌 6148 处理器

    发行日期 首次推出产品的日期 光刻 光刻是指用于生产集成电路的半导体技术 xff0c 采用纳米 nm 为计算单位 xff0c 可表示半导体上设计的功能的大小 内核数 内核数是一个硬件术语 xff0c 它表示单个计算组件 裸芯片或芯片 中的独
  • dhcp服务器响应消息有什么,DHCP的4个阶段。分别为发现阶段(DHCP Discover),提供阶段(DHCP Offer),选择阶段(DHCP Request)和确认阶段(DHCK ACK)...

    DHCP DHCP Dynamic Host Configuration Protocol 动态主机配置协议 是一个局域网的网络协议 xff0c 使用UDP协议工作 主要用于给内部网络或网络服务提供供应商自动分配IP地址 DHCP协议是一个
  • 服务器系统安装报价,服务器系统安装费用

    服务器系统安装费用 内容精选 换一换 外部镜像文件在从原平台导出前 xff0c 没有按照 Windows操作系统的镜像文件限制 的要求完成初始化操作 xff0c 推荐您使用弹性云服务器完成相关配置 流程如图1所示 云服务器的正常运行依赖于X
  • 嵌入式面试笔试题目——附部分答案

    1 如何自动创建设备文件 xff1f class create device create 2 led驱动编写有几种方式 xff1f 输入子系统 字符设备驱动 总线platform led子系统 3 如何实现http服务器 xff1f tc
  • 多线程的优缺点

    何时使用多线程技术 何时避免用它 是我们需要掌握的重要课题 多线程技术是一把双刃剑 在使用时需要充分考虑它的优缺点 多线程处理可以同时运行多个线程 由于多线程应用程序将程序划分成多个独立的任务 因此可以在以下方面显著提高性能 1 多线程技术
  • 单片机应用编程技巧问答

    1 C语言和汇编语言在开发单片机时各有哪些优缺点 答 xff1a 汇编语言是一种用文字助记符来表示机器指令的符号语言 xff0c 是最接近机器码的一种语言 其主要优点是占用资源少 程序执行效率高 但是不同的CPU xff0c 其汇编语言可能
  • php获取今日开始时间戳和结束时间戳

    1 php获取今日开始时间戳和结束时间戳 beginToday 61 mktime 0 0 0 date 39 m 39 date 39 d 39 date 39 Y 39 endToday 61 mktime 0 0 0 date 39
  • BDA驱动学习笔记(1):功能拓扑图

    功能拓扑图 Functional Topology xff1a BAD的目标是不管硬件或者接收信号如何变 xff0c 它的整体架构可以不做大调整 xff0c 为此BDA引入功能拓扑图的概念 xff0c 它把类似DirectShow Filt
  • linux 流量监控利器:iftop

    在类Unix系统中可以使用top查看系统资源 进程 内存占用等信息 查看网络状态可以使用netstat nmap等工具 若要查看实时的网络流量 xff0c 监控TCP IP连接等 xff0c 则可以使用iftop iftop是什么 ifto
  • VS Code C++ 代码格式化方法(clang-format)

    前提条件 安装扩展C C 43 43 xff0c 扩展程序将自动安装clang format clang format默认安装路径为c Users wqr57 vscode extensions ms vscode cpptools 0 1
  • 为ubuntu服务器安装gnome图形桌面

    一般租用的服务器安装服务器版的LINUX xff0c 很少会安装桌面的 xff0c 主要是觉得浪费资源吧 xff0c 不过我这样的菜鸟还是喜欢图形桌面 xff0c 下面主要记录下这次为ubuntu 11 04版本安装GNOME xff0c
  • js表单验证 方法

    1 长度限制 lt p gt 1 长度限制 lt p gt lt form name 61 a nsubmit 61 34 return test 34 gt lt textarea name 61 34 b 34 cols 61 34 4
  • 海量数据处理之倒排索引

    前言 xff1a 本文是对博文http blog csdn net v july v article details 7085669的总结和引用 一 xff0c 什么是倒排索引 问题描述 xff1a 文档检索系统 xff0c 查询那些文件包
  • linux 服务器杀毒,一次Linux服务器***查杀经历

    1客户自己的服务器由于种了 xff0c 往外发送大量数据包 xff0c 被服务商切断网络 虽然没有网络不能直接登录服务器 xff0c 但是可以通过服务商提供的WEB控制面板进入操作系统 首先使用命令查看相关连接 xff1a netstat
  • 问题请教:关于同一个POD中多容器的广播信息问题

    广大博友好 xff0c 最近在K8S集群中遇到一个问题 xff0c 贴出来同大家分享一下 同一个POD中多个容器 如何处理广播信息 xff1f 经测试 同一个POD中当先启动的容器占用广播端口后 xff0c 其他的容器启动就会报bind e
  • JAVA在线观看视频教程完整版

    今天给大家介绍一下JAVA在线观看视频教程完整版 xff0c 我们知道Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言 xff0c 是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台
  • Dockerfile镜像的制作

    Dockerfile镜像的制作 如果学习Docker xff0c 那么制作镜像这一步肯定不能少的 xff0c 别人给你的是环境 xff0c 而你自己做的才是你最终需要的东西 xff0c 接下来就记录一下如何制作一个满足自己的镜像 xff0c
  • OpenWRT 编译教程

    1 安装Ubuntu 到 http www ubuntu org cn desktop get ubuntu download 下载 xff0c 版本随便 xff0c 我选的是10 10 32位版 安装过程就不说了 xff0c 图形化安装