一、Openwrt开发环境的选择

Openwrt作为嵌入式一个开源的Linux开发系统,主要是应用在路由器上,使路由器更加智能。开发环境主要还是Linux,对于Linux开发的菜鸟来说,搭建好的一个开发环境是及其重要的。网上主要有这些选择

  • Win7+虚拟机Linux
  • 直接在Linux下开发

我的选择主要是Win7和虚拟机Linux,因为习惯了Win7还有就是很多软件是在Linux下没有的(比如没有稳定的QQ)。

二、虚拟机的选择以及系统选择

  • VMware Workstation(我选择的是最近版本11)+Ubuntu 12.04(这是网上教程经常用的系统)
  • VMware Workstation+redhat(或者其他的Linux发行版本)
  • VirtualBox+其他的Linux


VirtualBox是开源,功能方面VMware Workstation比较简单强大些(毕竟是收费)。我的选择是第一个,当然如果你的熟悉Linux的操作或者你的电脑配置较低推荐你还是装单系统的Linux吧。


安装过程:


  1. 安装VMware Workstation11
  2. 安装Ubuntu 12.04

这里我使用VMware Workstation自动安装功能,实在是很方便,但是如果你想熟悉Ubuntu的安装过程就参考其他的教程,我就不详细书写了,Ubuntu的教程很多。



  • 新建虚拟机,选择自定义




openwrt overlay系统 openwrt all in one_Ubuntu




  • 选择你的Ubuntu系统镜像的存放目录



openwrt overlay系统 openwrt all in one_固件_02





  • 填写你的虚拟机信息,接下来都是是默认设置,内存最好是选择2G。


openwrt overlay系统 openwrt all in one_openwrt_03




  • 硬盘选择50G,源码编译需要大一点空间。


openwrt overlay系统 openwrt all in one_openwrt overlay系统_04




  • 新建完虚拟机后,右击设置,将网络断开,不然它自动下载语言包要很长时间,安装时间会很长。



openwrt overlay系统 openwrt all in one_openwrt_05



三、Openwrt源码的同步


打开虚拟机,Ctrl+Alt+t调出终端,同时我们虚拟机的Ubuntu用完后挂起就行了,不用直接关闭,下次直接恢复,就不用再开机等待了,同时注意,Openwrt官网上要求编译时不要使用root用户,否则编译不了。


  • 安装必要的依赖


sudo apt-update
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


  • 下载源码(同步较新的barrier breaker分支)
mkdir openwrt
svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker
  • 安装第三方软件
cd barrier_breaker
./scripts/feeds update -a(安装所有)
./scripts/feeds install -a(更新下载的软件包)
  • 检查环境并定制你的固件
make defconfig

如果出错,检查错误。


make menuconfig(根据需要定制你的Openwrt固件)
  • 编译


make V=s

如果出现错误,可能是依赖环境没安装完全或者是你定制的功能的源码没有下载好(国内经常被墙,请自己从别的地方下载无法同步的源码包)。编译需要很长的时间,你可以干点别的事情。第一次编译没问题后,以后可以用


make V=s -j2


开多线程,加快编译速度,-j2和你分配的虚拟机CPU核数有关,好像是核数+1

  • 固件生成

如果你的编译没错,会在bin目下生成相关固件。