转自:   http://www.znck007.com/forum.php?mod=viewthread&tid=21571

由于openwrt编译教程资料很多,不同的cpu芯片只需要选择对应的芯片类型,新手就能成功编译openwrt。

所以创客开源精神造福全人类,创客你我,关注@智能创客 微信znck007



第一部分:安装虚拟机+ubuntu系统

 

安装虚拟机:VMware 8.0

下载地址:http://pan.baidu.com/s/1i3vb5dV





 

安装ubuntu:ubuntu-12.04.1-desktop-i386

下载地址:http://pan.baidu.com/s/1mgkMb92



VMware+ubuntu 安装教程下载:http://pan.baidu.com/s/18MZfg

中文和英文界面差不多,按教程指示安装吧!





第二部分:设置虚拟机ubuntu和windows共享文件(方便复制文件到本机)

 

登陆ubuntu系统后,点击左边的文件夹。右击新建个文件夹。



 

设置为共享

 

ubuntu会提示你安装共享,确定下一步安装,网络好大概要3分钟左右。



 

ok了,我们在本机windows,打开网上领居,就能看到共享文件夹了。

之后我们会在这里文件夹里编译openwrt,就可以直接复制编译出来的文件了。





第三部分:安装编译开发环境

 

打开终端



 

装svn工具

sudo apt-get install subversion

安装git工具

sudo apt-get install git-core

安装依赖的库文件

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk openssl libssl-dev







第四部分:下载openwrt官方源码

 

ls  显示当前目录

cd pcfile  //进入pcfile文件夹

mkdir openwrt //新建openwrt文件夹







 

cd openwrt //进入openwrt文件夹

使用svn下载源码(这个过程网络快也要几个小时哦,慢就等一天吧呵呵)

svn co svn://svn.openwrt.org/openwrt/trunk



 

cd trunk //进入trunk文件夹

为了支持更多软件

./scripts/feeds update -a

./scripts/feeds install -a



openwrt是用非root用户名编译的,如果是root则修改,对于ubuntu不用修改。

gedit include/prereq-build.mk

define Require/non-root

# [ "$$(shell whoami)" !="root" ]

enddef





第五部分:编译openwrt源码

make menuconfig //打开编译菜单

 

首先选择Target System为Atheros AR7xxx/AR9xxx,

因为我们的TL-WR703N的主芯片是属于Atheros公司的Atheros AR7240 CPU

其次选择Target Profile是选择路由器的型号,我们选择(TP-LINK TL-WR703N)



提醒:部分电脑请使用空格才能选择为*(多击空格让他变成*才能选上)



 

//先择编译功能(默认可以都选上这些,但会有点大5M多,了解的可以只选自己想要的功能)

Base system—> <*> block-mount (挂载)

Kernel modules—> Filesystems—>  <*> kmod-fs-ext4 (挂载)

Kernel modules—> Native Language Support—>  <*> kmod-nls-utf8 (编码)

Kernel modules—> Sound Support—>  <*> kmod-sound-core (声卡)

Kernel modules—> Sound Support—>  <*> kmod-usb-audio (声卡)

Kernel modules—> USB Support—>  <*> kmod-usb-cm109 (声卡)

Kernel modules—> USB Support—>  <*> kmod-usb-serial (串口)

Kernel modules—> USB Support—>  <*> kmod-usb-serial-ch341 (ch341)

Kernel modules—> USB Support—>  <*> kmod-usb-serial-cp210x (cp210x)

Kernel modules—> USB Support—>  <*> kmod-usb-serial-ftdi (ftdi)

Kernel modules—> USB Support—>  <*> kmod-usb-storage (u盘)

Kernel modules—> USB Support—>  <*> kmod-usb-storage-extras (u盘)

Kernel modules—> Video Support—>  <*> kmod-video-core (视频)

Kernel modules—> Video Support—>  <*> kmod-video-uvc (视频)

Kernel modules—> Video Support—>  <*> kmod-video-videobuf2 (视频)

Libraries—> <*> alsa-lib (视频)

LuCI—> Collections—<*> luci

LuCI—> Translations—<*> luci-i18n-chinaes

Multimedia—> <*> mjpg-streamer (视频)

Utilities—> Filesystems—>  <*> badblocks (u盘)

Utilities—>  <*> alsa-utils-tests (声卡)

save保存配置





然后再修改固件内存文件:

首先修改trunk/tools/firmware-utils/src/mktplinkfw.c搜索到fw_max_len,然后将id
= "4M"下面的修改成:

fw_max_len = 0x7c0000





另外还需下面修改:Imagebuilder 目录下target/linux/ar71xx/image/Makefile, 把703n最后的4Mlzma改成了8Mlzm

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))

否则出现如下错误:[mktplinkfw] kernel length aligned to 914864

[mktplinkfw] *** error: images are too big

make[3]: [install] Error 255 (ignored)







然后执行 make V=99第一次编译需要1-2个小时,需心等待吧,可以去干点别的事哇哇!





第六部分:复制编译好的固件,然后刷到openwrt里吧!

 

在windows里,网上领居,然后在“共享文件夹里”的openwrt\trunk\bin\ar71xx 里就看到编译出来的固件了!

openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin

值得注意的事:

1、国内有时无法连接到国外的openwrt网下载(导致下载异常等具体看屏幕打印的异常日志),你就需要用vpnFQ。

2、openwrt官方的固件一直在更新,如何发现编译完成刷到开发板后,无法安装某个驱动或安装包,请使用正确下载源。

新手编译开发OpenWrt入门教程(自定义固件、ubuntu学习)的更多相关文章

  1. Apple Watch开发快速入门教程

     Apple Watch开发快速入门教程  试读下载地址:http://pan.baidu.com/s/1eQ8JdR0 介绍:苹果为Watch提供全新的开发框架WatchKit.本教程是国内第一本A ...

  2. Python开发的入门教程(一)-数据类型、变量

    介绍 Python第一门课程,是Python开发的入门教程,将介绍Python语言的特点和适用范围,Python基本的数据类型,条件判断和循环,函数,以及Python特有的切片和列表生成式. Pyth ...

  3. 游戏控制杆OUYA游戏开发快速入门教程

    游戏控制杆OUYA游戏开发快速入门教程 1.2.2  游戏控制杆 游戏控制杆各个角度的视图,如图1-4所示,它的硬件规格是本文选自OUYA游戏开发快速入门教程大学霸: 图1-4  游戏控制杆各个角度的 ...

  4. iOS开发 ReactiveCocoa入门教程 第二部分

    ReactiveCocoa 是一个框架,它允许你在你的iOS程序中使用函数响应式(FRP)技术.加上第一部分的讲解,你将会学会如何使用信号量(对事件发出数据流)如何替代标准的动作和事件处理逻辑.你也会 ...

  5. MSP430 LaunchPad开发板入门教程集合

    MSP-EXP430G2开发板是德州仪器提供的开发工具,也称为LaunchPad,用于学习和练习如何使用其微控制器产品.该开发板属于MSP430 Value Line系列,我们可以对所有MSP430系 ...

  6. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

  7. iOS开发 ReactiveCocoa入门教程 第一部分

    作为一个iOS开发者,你写的每一行代码几乎都是在响应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation).但是这些事件都用不同的方式来处理 ...

  8. 以太坊开发DApp入门教程——区块链投票系统(一)

    概述 对初学者,首先要了解以太坊开发相关的基本概念.   学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前 ...

  9. 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a1786223749/article/ ...

随机推荐

  1. jsonp 实现跨域例子

    直接上代码: js: <html> <head> <title>JSONP</title> </head> <script src = ...

  2. python练习_sed替换

    python练习_sed替换 需求: 做一个sed替换小程序,实现在windows下可以与实现linux中sed替换的功能 支持正则(re模块) 以下代码实现的功能与思路: 功能: (1)支持文件内容 ...

  3. Spring初学之通过工厂方法配置Bean

    工厂方法配置bean分为两种,一种是实例工厂方法,另一种是静态工厂方法. 先来看看实体bean: Car.java: package spring.beans.factory; public clas ...

  4. scrapy的操作

  5. Java中使用注释

    在编写程序时,经常需要添加一些注释,用以描述某段代码的作用. 一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上.因此,注释是程序源代码的重要组成部分,一定要加以重视哦! Ja ...

  6. OpenStack企业私有云新需求(1):Nova 虚机支持 GPU

    作者:Sammy Liu 刘世民 本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bar ...

  7. Tensorflow搭建神经网络及使用Tensorboard进行可视化

    创建神经网络模型 1.构建神经网络结构,并进行模型训练 import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt ...

  8. 多线程下使用Jedis

    在不同的线程中使用相同的Jedis实例会发生奇怪的错误. 但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生. 单一Jedis实例不是线程安全的. 为了避免这些问题 ...

  9. 178. Rank Scores

    问题描述 解决方案 select sc.Score, (select count(*) from (select distinct Score from Scores ) ds where ds.Sc ...

  10. 51nod 1686 二分+离散化

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1686 1686 第K大区间 基准时间限制:1 秒 空间限制:131072 ...