最近闲来无事,想研究下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. webpack (1)

    node_modules/.bin/webpack 用webpack 打包 因为我们没有全局安装webpack 所以要用到这条命令 创建html npm install --save-dev html ...

  2. Qt + VS 【如何添加图片资源】

    熟悉qt creator,之后发现其debug能力不如vs强,随后转战 qt + vs. 发现图片资源添加不像qt那样直接添加,vs本身会生成一个qrc,我们可以直接去打开然后添加,不必在自己去添加, ...

  3. Java:新建数组

    Array Initialization int[] a; = int a[]; int[] a = new int[100]; a[]的值会被初始化为0 `int[] smallPrimes = { ...

  4. boost库:智能指针

    1. C98里的智能指针 std::auto_ptr ,本质上是一个普通的指针,通过地址来访问你一个动态分配的对象,初始化时需要传递一个由new操作符返回的对象地址. std::auto_ptr的析构 ...

  5. 【IP】DHCP介绍

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  6. hibernate 双向1对多

    1: 还是用客户Customer和订单Order来解释: “一对多”的物理意义:一个客户可以有多个订单,某个订单只能归宿于一个客户. “双向”的物理意义:客户知道自己有哪些订单,订单也知道自己归宿于哪 ...

  7. 微信小程序 摇一摇

    本次案例是有一点像微信的那个摇一摇但是没有那么好看,一些APP也有看到摇一摇功能. 小程序虽然没有提供摇一摇API接口,但是也一个加速器API  ,加上搜索一些大神的资料,我这里就做了一个dome, ...

  8. iOS 完全复制UIView

    如果要完全复制一个UIView和对象的时候可以使用对象序列化方法 // Duplicate UIView - (UIView*)duplicate:(UIView*)view { NSData * t ...

  9. svn 版本管理,trunk(主干),branch(分支),merge(合并)

    svn 版本管理,主要对trunk(主干).branch(分支).merge(合并)进行说明. svn作为一个常用的版本管理工具,一些基本操作必须要会,在这里整理一下自己使用svn的一些体会: svn ...

  10. 用scp实现多服务器文件分发

    需要安装expect环境 yum install expect -y vi ip.txt #主机地址池 192.168.1.1 192.168.1.2 192.168.3.3 #如果是同一网段也可以不 ...