【注1】本文是基于Ubuntu14.04(64位)+LEDE 17.01.4开发的教程。
【注2】本文是基于最新的Openwrt源码的开发笔记,虚拟机版本要高于14.04,不然会出现C++标准冲突相关的问题。.
1)安装git工具
$sudo apt-get install git-core
2)安装依赖的库文件(两种方法)
- 高手用一条命令全安装好
$sudo apt-get install gcc g++ binutils patch bzip2 flex bison cmake make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk
- 一条条复制粘贴,适合新手学习
$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install binutils
$ sudo apt-get install patch
$ sudo apt-get install bzip2
$ sudo apt-get install flex
$ sudo apt-get install bison
$ sudo apt-get install cmake make
$ sudo apt-get install autoconf
$ sudo apt-get install gettext
$ sudo apt-get install texinfo
$ sudo apt-get install unzip
$ sudo apt-get install sharutils
$ sudo apt-get install ncurses-term
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libncurses5-dev
$ sudo apt-get install gawk
编译OpenWrt首先需要下载源码,OpenWrt的源码是通过svn下载,OpenWrt目前已经很好的支持了RT5350芯片,因此OpenWrt系统完全可以用于RT5350开发板。下面开始OpenWrt学习之旅。
新建一个openwrt文件夹,使用svn工具下载源码。
$mkdir openwrt
$cd openwrt/
(获取源码)
git clone -b chaos_calmer git://github.com/openwrt/openwrt.git
或者
git clone https://github.com/lede-project/source.git
输入命令等待下载即可。下载完OpenWrt的源码后,为了使OpenWrt支持更多的软件,需要更新和安装其它源上面的软件。
$./scripts/feeds update –a
$./scripts/feeds install –a
一切就绪,接下来就可以开始编译了。
注意:
OpenWrt默认是用非root用户名来编译的,因此一定不要用root权限来编译OpenWrt系统,对于Ubuntu系统,不加sudo即可。
在编译OpenWrt系统之前,我们首先要对它进行配置,让它能够支持我们的RT5350开发板。OpenWrt系统也是一个Linux系统,因此它的配置方法和Linux的完全一样,也是通过make menuconfig来进行配置。
$make menuconfig
图1所示的图形界面。我们就可以通过方向键来选择配置选项,通过空格键来选择配置状态。当执行完上命令后,便会弹出如图
RT5350开发板采用的32MSDRAM、8MFlash,这配置和HAME的HAME-MPR-A2硬件配置是一样的。因此,为了让OpenWrt系统能成功的在我们的开发板上运行起来,我们需要做如下配置:
1).选择CPU型号
Target System-> MediaTek Ralink MIPS
2).选择CPU子型号
Sub target-> RT3x5x/RT5350 based boards
3).选择具体路由器型号
Target profile->HAME-MPR-A2
然后保存退出,这样就配置完成了,当然这只是一个最简单的配置,我们首先是要在开发板把OpenWrt系统跑起来,更复杂的配置、应用,在以后的课程中会一点一点的教给大家。
最后执行makeV=99,开始漫长的编译,编译时间由电脑配置决定,由于编译时,需要的软件是从网络上面下载,所以这里要求电脑必须能够上网。V=99意思显示所有信息。
$make V=99
第一次编译大概需要4、5个小时,以后再次编译,则分分钟搞定。编译出来的镜像位于bin目录下面。
$ls bin/targets/ramips/rt305x
其中openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin这个就是我们要的镜像。烧写到板子上面即可启动。这样最简单OpenWrt就可以启动了,不过好多功能都没有,一步一步来,不断深入。
注意:
如果觉得自己从头安装Ubuntu系统,再装相应的工具、库文件,再从官网下载OpenWrt系统源码…非常麻烦,那么可以直接联系博主该开发环境。该环境,直接解压开,然后用虚拟机VMware打开即可。里面已经安装了相应的工具和库文件,并且已经下载OpenWrt系统源码。