最近闲来无事,想研究下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
      
  准备完毕, 接下来开始搭建openwrt环境。

打开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/:

0

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界面了:

————————————————
版权声明:本文为CSDN博主「ballack_linux」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ballack_linux/article/details/81331527

vmware下搭建openwrt的更多相关文章

  1. Linux环境搭建 | VMware下共享文件夹的实现

    在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了.本文介绍了两种共享文件夹的实现机制:VM ...

  2. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  3. CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

    什么是RADIUS服务: RADIUS:(Remote Authentication Dial In User Service)中文名为远程用户拨号认证服务,简称RADIUS,是目前应用最广泛的AAA ...

  4. Ubuntu下搭建Hyperledger Fabric v1.0环境

      多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...

  5. 基于VMware Workstation搭建开发服务器

    基于VMware Workstation搭建开发服务器   文章为本人原创,转载请联系作者并注明出处.晓松 源URL: https://www.jianshu.com/p/e62ab7de0124 我 ...

  6. 初学Hadoop:利用VMWare+CentOS7搭建Hadoop集群

     一.前言 开始学习数据处理相关的知识了,第一步是搭建一个Hadoop集群.搭建一个分布式集群需要多台电脑,在此我选择采用VMWare+CentOS7搭建一个三台虚拟机组成的Hadoop集群. 注:1 ...

  7. win10下搭建jz2440v3(arm s3c2440)开发及gdb调试环境【转】

    本文转载自:https://blog.csdn.net/newjay03/article/details/72835758 本来打算完全在Ubuntu下开发的,但是水平有限,没有在Ubuntu下找到合 ...

  8. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  9. Vmware下的Linux系统,安装WPS报错:[Errno 256] No more mirrors to try

    最近新装了虚拟环境Vmware下的Linux系统,准备看doc文档发现不能读取,才想起来一起都是重新开始的~没别的~开始安装吧: 1.关虚拟机Linux,添加cdrom镜像ISO文件--开虚拟机--- ...

随机推荐

  1. shell 读取文件的每一行

    1.使用while #!/bin/bash while read line do echo $line done < file.txt #!/bin/bash cat file.txt | wh ...

  2. LA 3971 Assemble(二分)

    题目: 给你b元钱,让你组装一台电脑,有n个配件,属性有 种类 名字 价格 品质,每种类型选至少一个,并且最小品质最大.输出这个最大的最小品质. 白书上说了,最小值最大的问题一般是二分来求解答案.在这 ...

  3. oracle-字符串常用函数

    1.拼接字符串 1)可以使用“||”来拼接字符串 -------------------------------------- select '拼接'||'字符串' as str from dual ...

  4. Delphi直接读取XmL

    有时,只需要用XML作一些小的应用,比如只是简单地保存日志或者一些配置,这时我们只需要直接读写XML就好,效率第一. Delphi盒子有一个直接读写XML文件 (例子和代码),其核心函数为下面两个函数 ...

  5. RzPageControl(pagecontrol)

    实现多标签的动态添加,切换,关闭 使用RzPageControl来实现多标签页使用菜单来打开标签页,通过标签页的caption来判断将标签页是否已经被打开过了.1.创建标签页,并判断是否是已经打开过的 ...

  6. tidb集群

    tidb ansible部署 https://zhuanlan.zhihu.com/p/27308307?refer=newsql 网址:http://www.cnblogs.com/mowei/p/ ...

  7. inline-block空隙怎么解决

    方法一:移除空格 元素间留白间距出现的原因就是标签段之间的空格,因此,去掉HTML中的空格,自然间距就木有了.考虑到代码可读性,显然连成一行的写法是不可取的,我们可以: <div class=& ...

  8. webpack构建缓存机制-hash介绍

    前言 浏览器为了优化体验,会有缓存机制.如果浏览器判断当前资源没有更新,就不会去服务端下载,而是直接使用本地资源.在webpack的构建中,我们通常使用给文件添加后缀值来改名以及提取公共代码到不会改变 ...

  9. PHP面试 MySQL的高可扩展和高可用

    MySQL的高可扩展和高可用 面试题一 MySQL分表和分区的工作原理,分表和分区的使用场景和优缺点. 分区表的原理 对用户而言,分区表时一个独立的逻辑表,但是底层MySQL将其分成了多个物理子表,这 ...

  10. jQuery.Deferred exception: a.indexOf is not a function TypeError: a.indexOf is not a function

    jq版本问题 3.2换成1.9就可以了