环境

Qemu: 2.8.0

开发板: vexpress-ca9

概述

如果要玩物联网,至少应该让开发板实现联网,让qemu支持联网在之前的博文中已经有介绍了,但是如果只能在自己的局域网内玩耍就太没意思了,下面就实现用开发板ping百度, 可以参考tq2440的根文件系统。

正文

一、下面是我的路由器配置

WAN口的状态不用关心,只关心LAN口就可以了:
网段: 192.168.1.0
网关: 192.168.1.1
子网掩码: 255.255.255.0
我的PC通过网线连接到路由器上面,路由器开启了DHCP服务, 也可以认为Qemu虚拟出来的开发板也直连到路由器上面了。
二、要实现ping www.baidu.com就涉及到域名解析
这里我们直接拷贝PC的resov.conf文件:
 { pengdonglin@pengdonglin-dell /home/pengdonglin }
$cat /run/resolvconf/resolv.conf
# Dynamic resolv.conf() file for glibc resolver() generated by resolvconf()
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 202.106.195.68
nameserver 202.106.0.20

我们在开发板的/etc下创建resolv.conf,内容如下:

 [root@vexpress ~]# cat /etc/resolv.conf
nameserver 202.106.195.68
nameserver 202.106.0.20
三、在开发板的/etc下面创建net.conf文件
 [root@vexpress ~]# cat /etc/net.conf
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
MAC=:::::

四、创建/etc/hosts文件

 [root@vexpress ~]# cat /etc/hosts
localhost 127.0.0.1
五、编写网络设置脚本net_set
 #!/bin/sh

 source /etc/nettype.conf
source /etc/net.conf ifconfig eth0 down
ifconfig eth0 hw ether $MAC
echo ifconfig eth0 hw ether $MAC >/dev/console ifconfig eth0 $IPADDR netmask $NETMASK up
echo ifconfig eth0 $IPADDR netmask $NETMASK up >/dev/console route add default gw $GATEWAY
echo add default gw $GATEWAY >/dev/console
六、修改开机脚本/etc/init.d/rcS
 #!/bin/sh

 PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask
export PATH runlevel prevlevel
mount -a
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
mkdir -p /var/lock mount -t ext4 /dev/mmcblk0p2 /root modules_dir=/lib/modules/`uname -r` if [ ! -d ${modules_dir} ];then
mkdir -p ${modules_dir}
fi if [ ! -d /d ]; then
ln -sf /sys/kernel/debug /d
fi ifconfig lo 127.0.0.1
net_set

/bin/hostname -F /etc/sysconfig/HOSTNAME
if [ -e /usr/sbin/telnetd ]; then
telnetd&
fi
七、测试
 [    7.248250] smsc911x 4e000000.ethernet eth0: MAC Address: :::::
ifconfig eth0 hw ether :::::
[ 7.367408] Generic PHY 4e000000.etherne:: attached PHY driver [Generic PHY] (mii_bus:phy_addr=4e000000.etherne:, irq=-)
[ 7.394043] smsc911x 4e000000.ethernet eth0: SMSC911x/921x identified at 0xf1390000, IRQ:
ifconfig eth0 192.168.1.3 netmask 255.255.255.0 up
add default gw 192.168.1.1
Please press Enter to activate this console.
[root@vexpress ]#
[root@vexpress ]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG eth0
192.168.1.0 0.0.0.0 255.255.255.0 U eth0
[root@vexpress ]#
[root@vexpress ]# ping www.baidu.com
PING www.baidu.com (61.135.169.121): data bytes
bytes from 61.135.169.121: seq= ttl= time=6.315 ms
bytes from 61.135.169.121: seq= ttl= time=4.089 ms
bytes from 61.135.169.121: seq= ttl= time=4.387 ms
bytes from 61.135.169.121: seq= ttl= time=4.112 ms
^C
--- www.baidu.com ping statistics ---
packets transmitted, packets received, % packet loss
round-trip min/avg/max = 4.089/4.725/6.315 ms
[root@vexpress ]#

可以通过route -n或者route -e查看当前的路由表。

 
完。

实现Qemu aarch32虚拟开发板ping www.baidu.com的更多相关文章

  1. 加快Qemu Aarch32虚拟开发板的启动速度

    软件版本 Qemu: 2.8.0 虚拟开发板: vexpress-ca9 概述 之前的博文介绍了将Python移植到开发板上, 根文件系统采用的是ramdisk, 这个文件系统的缺点是修改的内容重启会 ...

  2. qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统

    qemu 本文介绍了如何编译u-boot.linux kernel,然后用qemu启动u-boot和linux kernel,达到与开发板上一样的学习效果! 虽然已经买了2440开发板,但是在实际学习 ...

  3. qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统【转】

    转自:http://www.cnblogs.com/riskyer/p/3366001.html qemu 本文介绍了如何编译u-boot.linux kernel,然后用qemu启动u-boot和l ...

  4. 开发板ping不通主机和虚拟机的看过来(转载)!

    前几天在做uboot下用tftp下载文件到开发板的实验时,为了能解决开发板ping不通主机和虚拟机的问题,可谓绞尽脑汁,正所谓久病成医,虽然为了这一小问题废了我那么长时间,但我在解决问题的同时也学到了 ...

  5. samrt210开发板ping-系列问题(开发板ping通主机,主机ping通虚拟机,唯独~开发板ping不通虚拟机)

    硬件:PC机.虚拟机(Linux).开发板(smart210) 常用模型: 注:1).有线网卡与无线网不可同连一个路由器,不可在同网段: 2).vmware选择桥接模式,虚拟网络适配器选定具体的网卡名 ...

  6. 【记录】尝试用QEMU模拟ARM开发板去加载并运行Uboot,kernel,rootfs【转】

    转自:https://www.crifan.com/try_use_qemu_emulate_arm_board_to_load_and_run_uboot_kernel_rootfs/ [背景] 手 ...

  7. 开发板Ping不通虚拟机和主机

    Ubuntu 16.04      win7 笔记本连接学校的无线网 开发板S3c2440与笔记本仅通过COM连接 问题描述: 设置了桥接,主机与虚拟机IP在同一网段后,主机与虚拟机可以Ping,但是 ...

  8. 开发板ping通虚拟机与主机

    刚因为虚拟机与主机没法互相ping通的事情,奋战到将近凌晨一点.现在把这个过程总结一下,以方便后加入该行业的广大IT精英. VMWare提供了三种工作模式:bridged(桥接模式).NAT(网络地址 ...

  9. ubuntu 开发板ping通虚拟机挂载nfs服务器

    先.nfs服务配置1.设置开发板ip ,同一网段2.开发板上操作:ifconfig eth0 192.168.1.203.测试是否能够ping通:ping 192.168.1.194.测试开发板ip是 ...

随机推荐

  1. [学习笔记]Java作用域变量申明和C、C++的差异性

    Java作用域 大多数程序设计语言都提供了“作用域”(Scope)的概念.对于在作用域里定义的名字,作用域同时决定了它的“可见性”以及“存在时间”.在C,C++和Java 里,作用域是由花括号的位置决 ...

  2. js学习、备忘

    字符串使用单引号’abc’.(双引号也行.推荐:html→双引号,js→单引号)===严格等于.!==严格不等于if(x)  当x为undefined.null和0的时候都为false:需注意当x为0 ...

  3. wampserver修改端口号后,phpMyAdmin进不去,需要修改相关配置文件

    一.修改Apache端口 1.在界面中选Apache,弹出隐藏菜单选项,打开配置文件httpd.conf: 2.找到 Listen 80: 3.将 80 改成 8080(当然自己也可以设定别的不使用的 ...

  4. 【linux】ubuntu下crontab无效解决方法

    在Debain的docker中启用crontab,踩了一整天的坑,特地记录一下.Debain和ubuntu差不多,故算在ubuntu下面了. 1.第一个坑,安装crontab apt-get inst ...

  5. pytest八:skip 跳过用例

    这是一个快速指南,介绍如何在不同情况下跳过模块中的测试1.无条件地跳过模块中的所有测试:pytestmark = pytest.mark.skip("all tests still WIP& ...

  6. python 全栈开发,Day12(函数的有用信息,带参数的装饰器,多个装饰器装饰一个函数)

    函数的执行时,*打散.函数的定义时,*聚合. from functools import wraps def wrapper(f): # f = func1 @wraps(f) def inner(* ...

  7. 《Kafka技术内幕》学习笔记

    第一章 Kafka入门 1.1 Kafka流式数据平台 Kafka作为流式数据平台的特点: 消息系统:两种消息模型:队列和发布订阅. 队列模型:将处理工作平均分给消费组中的消费者成员. 发布订阅模型: ...

  8. asp.net core环境变量详解

    环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的环境变量在其它文件里面,不多说了,有兴趣的 ...

  9. Python 可命名元祖

    import collections MytupleClass = collections.namedtuple('MytupleClass',['x','y','z']) obj = Mytuple ...

  10. PHP 数组中取出随机取出指定数量子值集

    #关键:array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组.#思路:先使用array_rand()随机取出所需数量键名,然后将这些键名指向 ...