一
. 什么是OpenWrt?
OpenWrt
可以被描述为一个嵌入式Linux发行版,(主流路由器固件有dd-wrt,tomato,openwrt三类),而不是试图建立一个单一的、静态的系统。
OpenWrt
的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。
二.开始编译openwrt
由于最近想在
openwrt上移植USB转串口的驱动,所以想重新编译
openwrt。我的开发环境是
Ubuntu 12.04 LTS,虚拟机用的
VMWARE和irtualbox。有意思的是,openwrt可以编译生成
VMDK,这样我们可以用虚拟机模拟路由器的硬件环境,在上面跑起
openwrt。
1.
首先得安装一些编译OPENWRT时要用到的工具:
sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bz ip2 libz-dev asciidoc subversion
2.
下载源码:
cd /home/hndz
sudo mkdir myopenwrt
cd myopenwrt
使用
git下载:
git clone https://git.openwrt.org/openwrt.git
3.
(可选)更新各软件包:
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
4.
编译并查看你的编译环境是否有遗漏或者不合适的依赖关系,如果有请参考这篇文章:
http://fenng.blog.51cto.com/3343678/1208038
编译方法:
make menuconfig (推荐)
make defconfig
make prereq
5.
安装LuCI
./scripts/feeds update
./scripts/feeds install -a -p luci
6.
配置编译
cd openwrt
make v=99
生成的文件在目录/bin/x86下。
详细编译过程可以参考http://wenku.baidu.com/link?url=OsBqSfVuKtryH2hCudEq5qKGB8yueYLTKUWDlF42-5q3pTE4u-hWG2Fmom6aXf3d9XiAK9VLNaMnnkNxfa4OW0KsfCqb2DJGcTzcEneAEWG
7.
需要注意的问题:
(1)如果在编译过程中遇到问题可以参考我openwrt分类下的问题整理这篇文章。
(2)vmware和irtualbox我都验证过,都没有问题。但是要注意,在使用vmware建立虚拟机的过程中硬盘格式选择IDE格式,默认SCSI格式不成功,现在也不知道什么原因。