最近闲来无事,想研究下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. Python3.5-20190519-廖老师-自我笔记-获取对象信息

    总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...

  2. 开源实践分享:Ceph bluestore部署实践

    https://blog.51cto.com/99cloud/2119884 Ceph bluestore部署 首先为大家分享Ceph bluestore具体该如何部署,使用环境如下• 单节点• Ce ...

  3. SCP-bzoj-1019

    项目编号:bzoj-1019 项目等级:Safe 项目描述: 戳这里 特殊收容措施: 对于一个hanoi,知道了各种移动操作的优先级,也就确定了方案.可以证明对于盘子数为N的hanoi,任意移动方案都 ...

  4. Python基础教程(004)--Python的设计哲学

    前言 Python已经成为了一门流行的编程语言. 知识点 1,优雅 2,明确 3,简单 Python开发者的哲学是:用一种方法,最好是只有一种方法来做一件事. 如果面临多种选择,Python开发者都会 ...

  5. delphi 读写记录类型文件Record

    type personInfo=Record //定义Record Name:String[10]; Age:integer; end; //写记录包括新键与添加记录 procedure WriteR ...

  6. windows shell命令和快捷键

    // 这下面的宏,貌似都能通过shell:调用 // SHGetSpecialFolderLocation // // Caller should use SHGetMalloc to obtain ...

  7. error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8

    编译链接报错 error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8 解决方案: 在代码中添加链接库Shell32.lib #pragma commen ...

  8. mongo 大数据量更新注意事项

    1.大数据量最好在本地执行更新. 2.在客户端执行更新时需要注意serve活动时间(10分钟),10分钟内解决不了的使用batchSize  或者db.getCollection("&quo ...

  9. 框架-.NET:ASP.NET Core

    ylbtech-框架-.NET:ASP.NET Core ASP.NET Core是一个免费且开放源代码的Web框架,以及由微软和社区开发的下一代ASP.NET.它是一个模块化框架,既可以Window ...

  10. grub命令详解

    在grub下引导linux:其步骤如下;a 进入grub的命令模式.b 先熟悉一下grub 的一些命令 grub>help c 熟悉一下cat命令d root指令来指定/boot所在的分区e k ...