环境

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. Android开发之深入理解Android Studio构建文件build.gradle配置

    摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...

  2. JS的浅拷贝与深拷贝

    浅拷贝 //这样的拷贝有一个问题.那就是,如果父对象的属性等于数组或另一个对象,//那么实际上,子对象获得的只是一个内存地址,而不是真正拷贝,因此存在父对象被篡改的可能. function exten ...

  3. vue2的缓存问题(非原创)

    keep-alive是vue内置的一个组件,可以使被它包含的组件处于保留状态,或避免被重新渲染. 用法: 运行结果描述: input输入框内,路由切换输入框内部的内容不会发生改变. 常见的用法:(下图 ...

  4. Sudo的用法和Visudo设置

    身为程序员,你可以活在一个没有Windows的世界,当你离不开Unix(Linux,Mac...).而在Unix下面,你离不开terminal,离不开sudo. 你知道sudo command,然后输 ...

  5. C++ code:char pointers and char arrays(字符指针与字符数组)

    C-串的正确赋值.复制.修改.比较.连接等方式. #include<iostream> #pragma warning(disable: 4996)//这一句是为了解决“strrev”出现 ...

  6. jmeter在返回的json串中提取需要的值

    接口测试时我们需要对某条信息进行修改,如我们先创建了一篇文章,然后进行修改操作 我们就需要找到该文章的唯一标志,如id 示例:我们要将下图返回的json 中id进行提取 注:可输入$.加需要的key即 ...

  7. yield()方法就是礼让,具体还是看cpu怎么分配

    package charpter07; //yield():礼让的行为public class Processor implements Runnable { @Override public voi ...

  8. CentOS 用挂了dev/sda1:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY .

    dev/sda1:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY .(i.e. ,without -a or -p options)fsck died with ...

  9. 多线程中使用CheckForIllegalCrossThreadCalls = false访问窗口

    在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为 false publi ...

  10. BZOJ1192 [HNOI2006]鬼谷子的钱袋 数学推理

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1192 题意概括 把一个数m拆成很多数字. 问至少拆成多少个数字,1~m中的所有数字才可以用这些数字 ...