1. OpenWrt简介

下面来看一下百度百科对OpenWrt的解释:

OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有
dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。
对于开发人员,OpenWrt
是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。------
OpenWrt百度百科

2. 编译环境搭建

wiki上官方步骤:点击进入
我采用的编译环境是Ubuntu14.04 LTS版的(注意:2020年以后,现在较新的openwrt版本需要Ubuntu 18.04以上的版本才可以编译成功,但是搭建流程是一样的)。
下面是为大家整理的编译依赖环境的安装命令:

sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev

用上面的两条命令即可完成编译环境的搭建。

3. 源码下载

我们这里的源码一律采用主干最新代码,下载地址:
大家可以去GitHub上下载源码:点击下载
GitHub下载速度慢可以去Gitee上下载,这个速度比较快:Gitee
也可以通过git将源码下载到本地(在这儿推荐这种方法),这样的话方便更新。

# 新建一个文件夹
$ mkdir openwrt
# 进入这个文件夹
$ cd openwrt
# 下载主干源码
$ git clone git://github.com/openwrt/openwrt.git
# 若GitHub下载慢,可以用Gitee的资源
# git clone https://codechina.csdn.net/mirrors/openwrt/openwrt.git
# 等待一段时间 最新源码下载完成
# 进入到源码下载目录
$ cd openwrt

这时候,源码下载完毕。

4. 编译之前的准备

  1. 更新资源

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    

    若更新资源失败,则进入第2步:替换修改,若更新成功则跳过第2步,直接进入第3步:执行make menuconfig

  2. 替换修改
    熟悉编译流程的同学们知道,下载完成源码后,就应该更执行和更新和安装命令。但是这个时候往往更新会失败,为什么呢?— 原因就是一些更新源已经更换为git地址了,但是feeds.conf.default文件采用的还是https/http的地址。我们将这个文件里面的地址修改一下即可。
    注意:feeds.conf.default文件就在下载的源码目录下,可以尝试先更新和安装,如果失败则执行这一步修改。

    # 修改feeds.conf.default文件
    $ vi feeds.conf.default
    # 通过命令将https更换为git
    :%s/https/git/g
    # 保存文件
    :wq!
    

    下图为修改完成后的效果:

    注意:如上图所示,有些git地址被注释掉了,我们一般情况下不用去修改。
    修改完后则执行:

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    
  3. 执行make menuconfig
    终端下执行 make menuconfig

5. make menuconfig配置

执行make menuconfig后,弹出如下界面:

通过文本对话框进行选项配置,最主要的配置项有:

Target system   (目标系统类型,即路由器CPU架构)Subtarget       (子目标,即路由器芯片型号)Target Profile  (目标文件, 即路由器型号)LuCI            (LuCI界面设置)

基本配置:
我采用的是斐讯K2路由器,网上百度CPU型号为MT7620,芯片架构为MIPS,路由器型号为PSG1208,那么我的基本配置就为:

Target system -> MediaTek Ralink MIPSSubtarget -> MT7620 based boardsTarget Profile -> Phicomm PSG1208

LuCI配置:
LuCI是一个界面,即刷完路由器后,我们需要登陆“192.168.1.1”来设置路由器参数的界面。

LuCI->1. Collections-><*> luci-ssl-openssl2. Modules->Translations-><*>English (en)<*>Chinese (zh-cn)

配置完以上信息后,OpenWrt最基本的一些配置已经完成。

6. 开始编译

执行make V=s进行编译。
或者执行 make -j2 V=s进行编译。(-j2为两个线程,-j4为四个线程,具体看自己的电脑是几线程的,当然线程越多,编译越快。)
注意:第一次编译过程中会下载工具包,所下载的包在dl文件夹下,因此比较慢,耐心等待即可。

7. 编译完成

所生成的文件在openwrt/bin/targets/ramips/mt7620目录下,其中openwrt-ramips-mt7620-psg1208-squashfs-sysupgrade.bin为编译出来的固件。通过breed刷入K2路由器即可。

8. 其它

假如编译成功,我们可以尝试通过修改make menuconfig将其它软件包编译到固件中。
至此,结束。

OpenWrt从下载到编译 -- 斐讯K2路由器相关推荐

  1. [无线路由] “免费”斐讯K2路由器刷OpenWRT(实战MWAN多宽带网速叠加)

    (阿财首发于什么值得买)斐讯K2可以算是一个非常另类的跨界数码产品,其产品完全的醉翁之意不在酒.最多值99元的 MT7260硬件架构和用料,售价399元,金额激活K码后自动转入合作理财P2P平台,等待 ...

  2. 斐讯k2路由器ttl刷机

    斐讯k2路由器ttl刷机 准备工具 螺丝刀 撬棒 utb转ttl ch340 网线 usb转网口 程序烧录夹3p单排 间距2.54mm 准备软件 breed后台 https://breed.hackp ...

  3. 斐讯k2为什么不能加虚拟服务器,斐讯K2路由器怎么设置桥接_斐讯K2无线中继设置教程-192路由网...

    问:斐讯K2路由器怎么设置桥接? 我想用斐讯K2无线路由器,桥接家里另一台路由器的信号,应该怎么设置? 答:斐讯K2路由器的无线桥接(中继)设置,其实非常的简单. 只需要先登录到斐讯K2的设置界面,在 ...

  4. 斐讯k2搭建php环境,斐讯K2路由器的连接及上网设置教程

    一.连接斐讯K2路由器 1.斐讯K2无线路由器共有5个网线接口:1个WAN接口(橙色),及LAN1.LAN2.LAN3.LAN4共4个LAN接口. 2.WAN接口连接光猫(入户主网线):电脑用网线连接 ...

  5. 斐讯k2 怎么开虚拟服务器,斐讯k2路由器怎么设置 斐讯K2路由器设置方法【详解】...

    今天谈谈斐讯K2路由器上网设置的方法,其实路由器设置具有通用性,所以一通百通!会一个基本都会了!那我们废话少说开始了. 斐讯K2路由器上网设置的方法 图1 接线:接入电源.路由器黄色口写着WAN用网线 ...

  6. 斐讯k2搭建php环境,斐讯k2路由器上网设置教程(电脑)

    斐讯K2路由器怎么设置才能上网? 新买了一台斐讯K2无线路由器,请问要怎么设置,才能让电脑.手机都能上网? 一台新买的斐讯K2无线路由器,要设置其连接Internet上网,需要按照下面的步骤进行设置 ...

  7. 斐讯k2搭建php环境,斐讯K2路由器怎么设置桥接_斐讯K2无线中继设置教程-192路由网...

    问:斐讯K2路由器怎么设置桥接? 我想用斐讯K2无线路由器,桥接家里另一台路由器的信号,应该怎么设置? 答:斐讯K2路由器的无线桥接(中继)设置,其实非常的简单. 只需要先登录到斐讯K2的设置界面,在 ...

  8. openwrt java_用openwrt编译斐讯k2(第二章)

    接着上一章继续做 首先把github上的斐讯k2 下载下来 git clone https://github.com/stevenliuit/openwrt-k2.git 谢谢cappiewu提供的斐 ...

  9. 斐讯K2路由器刷机问题176版

    京东0元购一直备受大家的青睐,作为穷的叮当的学生党,外加喜欢折腾的精神,很多时候,为了节省成本,我们都会选择京东0元购的斐讯路由器来作为宿舍或者实验室的上网设备,那么,现在的问题是,我们总是不服气原有 ...

最新文章

  1. [置顶] WindowsPhone之我见
  2. python3 : remove,pop和del方法的区别
  3. 分布式实时计算—Storm—基础介绍
  4. java的class和object_Java中Class/Object/T的关系
  5. 2015 CALLED THE INTERFACE OF 2014
  6. 学习SharePoint记录,微软给出的的Application Templates很有帮助呢
  7. HDU 6184 2017广西邀请赛:Counting Stars(三元环)
  8. 计算机应用技术专业的未来,计算机应用技术专业召开“2020级人才培养方案修订”主题网络研讨会...
  9. URL转换成IP的过程
  10. 高等数学复习笔记——第八章:向量代数与空间解析几何
  11. 程序员就该这么悲催么? 996下的我们何去何从
  12. 人工智能之Python人脸对比、人脸检测
  13. MyCms 自媒体 CMS 系统 v3.1.0,新增商城接口
  14. 电视软件测试项目怎么做,LED_TV液晶电视软件测试用例.doc
  15. picturebox显示服务器图片大小,WinForm中实现picturebox自适应图片大小的方法
  16. 地下城英雄 java_用java开发dota英雄最华丽的技能(实例讲解)
  17. cdma特有效应_CDMA九问九答
  18. Mysql8.0新特性之详细版本
  19. iOS-富文本之表情文字混排
  20. 20 Linux Server Hardening Security Tips

热门文章

  1. 整理了MariaDB和MySQL数据库历年发布版本和对应关系,方便记忆命令。
  2. 关于最近的总结(收心)
  3. mysql默认存储引擎_MySQL5.5 所支持的存储引擎
  4. 汉罗塔问题和杨辉三角(java实现)
  5. USB 虚拟串口简介
  6. 基于SSM框架的杰森摄影工作室选片系统的设计和开发论文
  7. 信息学奥赛一本通1055:判断闰年
  8. 手机QQ2010(BlackBerry)Beta1公测
  9. excel制作文件夹侧标签
  10. Android Studio 中的 gradle 介绍及build.gradle配置文件详解