最近闲来无事,想研究下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. SpringMvc返回给前端数据@ResponseBody响应体【支持Ajax】

    1).在Controller中写 //@ResponseBody响应体是jackson包提供的 用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格 ...

  2. centos 升级python

    1.下载python3.6.1的包 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz 2.解压 tar -zxvf Pytho ...

  3. Dubbo底层原理

    dubbo 1. 依赖 spring扫描注入 2. 反射 3. 动态代理 4.Zookeeper 5.netty 服务不在本地,具体实现在远程  可以用Dubbo 基于XML 效率低 传输低  解析低 ...

  4. 【leetcode】924.Minimize Malware Spread

    题目如下: In a network of nodes, each node i is directly connected to another node j if and only if grap ...

  5. Java中的小知识。

    package jicheng; public class Animal { //定义一个成员变量name. private String name; public String getName() ...

  6. px4::init_once();和px4::init(argc, argv, "px4");函数学习

    px4::init_once(); void init_once() { _shell_task_id = pthread_self();                                ...

  7. ListView 分页显示(转载+修改)下

    通过实践发现,尚大大在判断”上一页“按钮和”下一页按钮“是否可用的地方,有问题: 原代码: public void checkButton(){ //索引值小于等于0,表示不能向前翻页了,以经到了第一 ...

  8. 求最小生成树(暴力法,prim,prim的堆优化,kruskal)

    求最小生成树(暴力法,prim,prim的堆优化,kruskal) 5 71 2 22 5 21 3 41 4 73 4 12 3 13 5 6 我们采用的是dfs的回溯暴力,所以对于如下图,只能搜索 ...

  9. leetcode上回溯法的使用

    17 93 131 46(全排列) class Solution { public: vector<vector<int>> permute(vector<int> ...

  10. JS实现的ajax

    function createXMLHttpRequest() { try { return new XMLHttpRequest(); } catch (e) { try { return new ...