OpenWRT支持很多平台,由于手边没有支持的路由器,所以通过X86平台可以方便的使用PC来安装运行以及调试OpenWRT,对于学习研究OpenWRT很有帮助,
编译
编译环境
- Linux version 3.19.0-15-generic (buildd@tipua) (gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13) ) #15-Ubuntu SMP Thu Apr 16 23:32:01 UTC 2015
下载源码
参考:https://dev.openwrt.org/wiki/GetSource
git clone git://github.com/openwrt/openwrt.git
更新安装相关依赖库
由于openWRT依赖了很多开源的库,所以openWRT编写一个脚本用于更新和安装,在scripts目录下
@ubuntu:~/Work/OpenWRT/openwrt/scripts$ ./feeds update -a
@ubuntu:~/Work/OpenWRT/openwrt/scripts$ ./feeds install -a
编译OpenWRT会首先检查一些系统库,根据提示,如果缺少了就使用apt-get install 命令安装,一般提示缺少awk, openssl这两个库
apt-get install gawk #安装awk库
openssl比较特殊,由于版本迭代较快,代码结构有差异,版本用的不对可能导致编译失败。
根据Makefile看出这个版本是的openssl对应的是1.0.2版本, 我们直接下载编译安装1.0.2版本openssl
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2l.tar.gz #下载
./config shared --prefix=/usr/local --openssldir=/usr/local/openssl #编译为动态库
make & make install
配置
@ubuntu: make defconfig
@ubuntu: make menuconfig
- Target System 选择「X86」
- Target Images 增加「Build VMware image files VMDK」选项
- 增加支持「Build the OpenWrt SDK」
编译
make V=99
查看输出
-rw-r--r-- 1 zhenghao zhenghao 592 Aug 29 10:55 md5sums
-rw-r--r-- 1 zhenghao zhenghao 75513842 Aug 29 10:56 OpenWrt-SDK-x86-generic_gcc-5.3.0_musl-1.1.16.Linux-i686.tar.bz2
-rw-r--r-- 1 zhenghao zhenghao 5876883 Aug 29 10:55 openwrt-x86-generic-combined-ext4.img.gz
-rw-r--r-- 1 zhenghao zhenghao 10158080 Aug 29 10:55 openwrt-x86-generic-combined-ext4.vmdk
-rw-r--r-- 1 zhenghao zhenghao 5556285 Aug 29 10:55 openwrt-x86-generic-combined-squashfs.img.gz
-rw-r--r-- 1 zhenghao zhenghao 5898240 Aug 29 10:55 openwrt-x86-generic-combined-squashfs.vmdk
-rw-r--r-- 1 zhenghao zhenghao 1781770 Aug 29 10:54 openwrt-x86-generic-generic-rootfs.tar.gz
-rw-r--r-- 1 zhenghao zhenghao 1841728 Aug 29 10:54 openwrt-x86-generic-rootfs-ext4.img.gz
-rw-r--r-- 1 zhenghao zhenghao 1474163 Aug 29 10:54 openwrt-x86-generic-rootfs-squashfs.img.gz
-rw-r--r-- 1 zhenghao zhenghao 3789312 Aug 29 10:54 openwrt-x86-generic-vmlinuz
drwxr-xr-x 10 zhenghao zhenghao 4096 Aug 29 10:56 packages
-rw-r--r-- 1 zhenghao zhenghao 997 Aug 29 10:55 sha256sums
安装
-
选择自定义虚拟机安装
-
选择操作系统 OpenWRT15.05对应的内核是3.1
-
选择硬盘类型艉IDE
-
将虚拟机文件夹中的vmdk文件替换为上面编译生成的openwrt-x86-generic-combined-ext4.vmdk
-
加载运行,看到br-len打印就可以输入Enter进入shell交互界面了
-
这里就是一个可以交互的终端了