最近闲来无事,想研究下openwrt, 所以尝试着自己搭建一个来玩玩, 当然这里不是以源码编译的形式,那样太耗时。
首先官网下载已有的系统image, 路径如下 :
https://archive.openwrt.org/chaos_calmer/15.05.1/x86/generic/
然后找到combined-ext4.img.gz 这个image, 下载下来后, 解压, 得到一个.img的文件:
vmware安装就不讲了, 可以参见我的另一篇博客。
由于.img文件没法被vmware直接使用,需要转换成vmdk格式的,那么需要使用qemu-img工具。
ubuntu下直接使用 :
sudo apt-get install qemu-utils -y
安装完后, 使用下面命令生成.vmdk格式的文件:
sudo qemu-img convert -f raw openwrt-15.05.1-x86-generic-combined-ext4.img -O vmdk openwrt-15.05.1-x86-generic-combined-ext4.vmdk
打开vmware, 选择Create a New Virtual Machine 。
1,在Virtual Machine Configuration 选择"Custom(advanced) ":
2,点下一步, Virtual Machine Hardware Compatibility 保持默认就好了 :
3, 继续下一步, 在install operating system from选择 “I will install the operating system later.” :
4 ,继续下一步, 在Guest Operating System选择 “Linux”, Version选择 “Other Linux 3.x kernel” :
5 ,继续下一步, 在Virtual Machine Name 中设置虚拟机名称, 这个随意命名就好了, 在这里设置为openwrt-15.05 ,路径的话设置成你实际想要保存的路径即可, 这里是/home/ballack/vmware/openwrt-15.05/:
6 ,继续下一步, Processors 和 Memory 都保持不变就好了 :
7 ,继续下一步, Network Connection 选择 “Use bridged networking” , 这里网上大部分都说设置为 “ Use network address translation(NAT)” , 但是我后面测试没法和主机ping通, 后面有空再研究了, 先mark一下!!
8 ,继续下一步, I/O Controller Types 保持默认的就可以:
9 ,继续下一步, Virtual Disk Type 选择 IDE, 这里一定要选择IDE, 不然启动时会找不到分区!!!
10 ,继续下一步 , Disk 选择 “Create a new Virtual Disk” :
11,继续下一步, Disk Size 保持不变:
12 ,继续下一步, Disk File 保持不变就好 :
13 ,继续下一步, 选择 Customize Hardware :
14 ,将New CD/DVD (IDE), Sound Card, Printer, USB Controller 都删除掉 ,然后close退出。
15 , 点击Finish就好了, 看到以下界面, 说明创建成功了:
上面的步骤做完后, 不要着急启动, 先把前面使用qemu-img工具转换得到的openwrt-15.05.1-x86-generic-combined-ext4.vmdk 文件拷贝到刚创建的openwrt虚拟机工作目录下:
cp openwrt-15.05.1-x86-generic-combined-ext4.vmdk /home/ballack/vmware/openwrt-15.05
进入openwrt虚拟机工作目录, 通过 ls 命令查看文件:
cd /home/ballack/vmware/openwrt-15.05
vim openwrt-15.05.vmx
修改配置:
把 ide1:1.fileName = "openwrt-15.05.vmdk" 改为:
ide1:1.fileName = "openwrt-15.05.1-x86-generic-combined-ext4.vmdk"
保存, 退出 !!
配置完毕, 启动openwrt :
这样就启动成功了!!!
不过你会发现主机没办法通过网页访问openwrt, 这里只需要修改 /etc/config/network文件:
可以看到 lan0 的 ipaddr 是 192.168.1.1,由于我主机的 ip 是 192.168.1.142, 路由器网关也是192.168.1.1, 这样就没法访问openwrt了, 在此将 lan0 ipaddr 修改为 192.168.1.4,要保证和主机是在同一个网段。
修改后如下:
然后保存, 退出, 执行 /etc/inid.d/network restart 重启服务 。
然后主机ping一下192.168.1.4,此时是可以ping通的 :
然后打开浏览器, 输入192.168.1.4, 可以看到正常访问了:
直接点 Login, 界面会提示你设置密码 :
设置完密码后, 直接点Save & Apply 即可。
用root帐号和刚才设置的密码登录后, 就可以看到真正的openwrt界面了: