智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

标题: 新手编译开发OpenWrt入门教程(自定义固件、ubuntu学习) [打印本页]

作者: znck007    时间: 2014-10-3 21:42
标题: 新手编译开发OpenWrt入门教程(自定义固件、ubuntu学习)
由于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网下载(导致下载异常等具体看屏幕打印的异常日志),你就需要用vpn翻墙。
2、openwrt官方的固件一直在更新,如何发现编译完成刷到开发板后,无法安装某个驱动或安装包,请使用正确下载源。



如何刷固件请前往:WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
网址链接:http://www.znck007.com/forum.php?mod=viewthread&tid=21570





作者: qqyangbo5    时间: 2014-10-8 21:15
赞赞 顶一个
作者: 717hujie    时间: 2014-10-9 00:16
{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}
作者: T1ger6    时间: 2014-10-31 15:56
看来这个是基于703 8M的版本呀
4M的是不是后面的几个参数就不用改了呀
作者: 爱拼才会赢    时间: 2014-11-19 17:21
高深 {:soso_e179:}
作者: znck007    时间: 2014-11-21 13:27
爱拼才会赢 发表于 2014-11-19 17:21
高深

不深吧?
作者: Jackson_lv    时间: 2015-1-2 14:50
楼主你好,为什么我共享了pcfile但是在网上邻居里面找不到TP703NPC呢?
作者: zhouhua_8    时间: 2015-1-7 14:14
我也是,共享了pcfile但是在网上邻居里面找不到TP703NPC呢?
作者: znck007    时间: 2015-1-7 17:33
zhouhua_8 发表于 2015-1-7 14:14
我也是,共享了pcfile但是在网上邻居里面找不到TP703NPC呢?

下载新的wvave虚拟机。
作者: Jackson_lv    时间: 2015-1-11 23:30
znck007 发表于 2015-1-7 17:33
下载新的wvave虚拟机。

就是vmware8啊
作者: EvilAtom    时间: 2015-1-15 00:01
看不到共享文件夹的其实可以这样
首先你先确认共享好了,然后点击右上方 类似手机网络的图标(就是那个上下箭头的图标)
然后点击 连接信息  
记录这个IPv4 的IP
然后返回到你的Windows系统
点击开始--运行 输入 \\192.168.182.128 (这个是我的虚拟机IP)
找不到运行的 可以使用快捷键win+R
作者: EvilAtom    时间: 2015-1-15 00:01
zhouhua_8 发表于 2015-1-7 14:14
我也是,共享了pcfile但是在网上邻居里面找不到TP703NPC呢?

看不到共享文件夹的其实可以这样
首先你先确认共享好了,然后点击右上方 类似手机网络的图标(就是那个上下箭头的图标)
然后点击 连接信息  
记录这个IPv4 的IP
然后返回到你的Windows系统
点击开始--运行 输入 \\192.168.182.128 (这个是我的虚拟机IP)
找不到运行的 可以使用快捷键win+R
作者: EvilAtom    时间: 2015-1-15 00:03
Jackson_lv 发表于 2015-1-2 14:50
楼主你好,为什么我共享了pcfile但是在网上邻居里面找不到TP703NPC呢?

看不到共享文件夹的其实可以这样
首先你先确认共享好了,然后点击右上方 类似手机网络的图标(就是那个上下箭头的图标)
然后点击 连接信息  
记录这个IPv4 的IP
然后返回到你的Windows系统
点击开始--运行 输入 \\192.168.182.128 (这个是我的虚拟机IP)
找不到运行的 可以使用快捷键win+R
作者: Jackson_lv    时间: 2015-1-15 00:24
弄了差不多三个星期终于编译成功了,但是没找到openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin这个固件啊。。。
作者: znck007    时间: 2015-1-15 00:37
Jackson_lv 发表于 2015-1-15 00:24
弄了差不多三个星期终于编译成功了,但是没找到openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade ...

不会吧。真确定成功?
作者: smd860    时间: 2015-5-13 13:32
帮顶帮顶帮顶
作者: 善旦景oebys    时间: 2015-5-23 15:35
本帖最后由 创客帝国 于 2015-7-24 10:39 编辑

牛牛牛牛呀











作者: 他天堂里iwn    时间: 2015-6-27 20:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 我哎你你说呢spa    时间: 2015-6-28 10:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: zhangjf    时间: 2015-10-17 11:28
学习了
作者: david78huang    时间: 2015-10-26 16:45
按照攻略搭建了环境...谢谢楼主
作者: tswtj    时间: 2015-10-29 11:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: yjzk    时间: 2015-11-14 16:50
编译好慢哟
作者: tswtj    时间: 2015-11-17 23:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: jsyemaozi    时间: 2016-1-16 19:26
小白学习中,刷等级
作者: 镜花水月    时间: 2016-4-20 20:41
svn据说被禁了,git怎么得到源码?
作者: 场立誉lm3ahvi    时间: 2016-4-27 11:59
说的不错!
作者: 楚风狂    时间: 2016-7-5 15:12
收藏!备用
作者: 皓睿    时间: 2016-8-29 20:09
赞赞 顶一个
作者: 皓睿    时间: 2016-8-29 20:12
我是来学习的。留个名~
作者: {五洲管道}    时间: 2016-9-7 06:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: 方重明    时间: 2016-10-1 02:31
关注中!感兴趣的朋友都来说说












某宝购买 视频教程 素材 软件 xiao视频 等资源  百度网盘免费下载   hao.wpan123.com




欢迎光临 智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想! (http://luntan.znck007.com/) Powered by Discuz! X3.2