`
haoningabc
  • 浏览: 1477007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

qemu树莓派连接网络

 
阅读更多
修正死循环启动
输入命令:
nano /etc/ld.so.preload
将会打开一个文件,其中只有一行
/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
在该行最前列处加上#符号(注意现在是英国式键盘):
#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

如果开始死循环了
使用
qemu-system-arm -kernel kernel-qemu -cpuarm1176 -m 256 -M versatilepb -append “root=/dev/sda2 panic=1 init=/bin/sh rw” -hda 2013-07-26-wheezy-raspbian.img

加了 panic=1 init=/bin/sh rw

扩容
qemu-img resize 2012-12-16-wheezy-raspbian.img +2G
rasp-config
选expand_rootfs
会报错
there was an error running do_expand_rootfs
需要进入树莓派
vi /etc/udev/rules.d/90-qemu.rules
创建文件。
输入内容:

view plaincopy to clipboardprint?
   
KERNEL=="sda", SYMLINK+=”mmcblk0”  
KERNEL=="sda?", SYMLINK+=”mmcblk0p%n”,  
注意有逗号
参考http://hi.baidu.com/shenaodong/item/bd82e0c931041a7fcfd4f835
或cp /usr/bin/raspi-config ~
sed -i ‘s/mmcblk0p2/sda2/’ ~/raspi-config
sed -i ‘s/mmcblk0/sda/’ ~/raspi-config
sudo ~/raspi-config
参考http://www.shumeipai.net/thread-13642-1-1.html

apt-get的源

http://www.linuxidc.com/Linux/2013-10/91012.htm

vi /etc/apt/sources.list

修改配置文件 pi@aborn ~ $ vi /etc/apt/sources.list

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi

下载
2012-12-16-wheezy-raspbian.img
kernel-qemu

由于2012-12-16-wheezy-raspbian.img需要的内核是3.2.27+
cd /lib/modules && ls
查看
而kernel-qemu提供的内核是3.10.26+
uname -r
查看

完全匹配的没找到,iptables 不好使

root@raspberrypi:~# iptables -L
libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file ‘/lib/modules/3.10.26+/modules.dep.bin’
iptables v1.4.14: can’t initialize iptables table `filter’: Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

但是不影响使用桥接网络
使用桥接连接qemu中的树莓派到网络

配置脚本放在某处,比如/root/xup

view plaincopy to clipboardprint?
   
[root@localhost qemu]# cat /root/xup   
#!/bin/sh  
/sbin/ifconfig $1 0.0.0.0 promisc up  
/usr/sbin/brctl addif br0 $1  
sleep 2  
设置桥接网络
参考http://ju.outofmemory.cn/entry/45837

view plaincopy to clipboardprint?
   
modprobe tun  
lsmod|grep tun  
ifdown eth0  
ifconfig  eth0 0.0.0.0 promisc up  
brctl addbr br0  
brctl addif br0 eth0  
brctl stp br0 off  
ifconfig br0 192.168.1.55 netmask 255.255.255.0 broadcast 192.158.1.255  
route add default gw 192.168.1.1  
ifup eth0  
启动qemu

view plaincopy to clipboardprint?
   
[root@localhost qemu]# cat run.sh   
#!/bin/sh  
#qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -append "root=/dev/sda2" -hda 2012-12-16-wheezy-raspbian.img -vnc 192.168.1.111:1 -net nic -net user &  
  
#qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -append "root=/dev/sda2" -hda 2012-12-16-wheezy-raspbian.img -vnc 192.168.1.111:1 -net nic,vlan=0  &  
  
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -append "root=/dev/sda2" -hda 2012-12-16-wheezy-raspbian.img -vnc 192.168.1.111:1 -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/root/xup  &  
主机网络

  
[root@localhost qemu]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:0C:29:D5:D3:28    
          inet addr:192.168.1.55  Bcast:192.158.1.255  Mask:255.255.255.0  
          inet6 addr: fe80::20c:29ff:fed5:d328/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:22612 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:30629 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0   
          RX bytes:4281564 (4.0 MiB)  TX bytes:8026132 (7.6 MiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:0C:29:D5:D3:28    
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0  
          inet6 addr: fe80::20c:29ff:fed5:d328/64 Scope:Link  
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1  
          RX packets:56725 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:33717 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000   
          RX bytes:36072369 (34.4 MiB)  TX bytes:8180253 (7.8 MiB)  
  
lo        Link encap:Local Loopback    
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  
          RX packets:162 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:162 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0   
          RX bytes:14560 (14.2 KiB)  TX bytes:14560 (14.2 KiB)  
  
tap0      Link encap:Ethernet  HWaddr B6:94:52:0E:11:1F    
          inet6 addr: fe80::b494:52ff:fe0e:111f/64 Scope:Link  
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1  
          RX packets:320 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:527 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:500   
          RX bytes:40975 (40.0 KiB)  TX bytes:49074 (47.9 KiB)  
  
[root@localhost qemu]#   

树莓派网络
root@raspberrypi:~# ifconfig  
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56    
          inet addr:192.168.1.114  Bcast:192.168.1.255  Mask:255.255.255.0  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:490 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:298 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000   
          RX bytes:46824 (45.7 KiB)  TX bytes:37286 (36.4 KiB)  
          Interrupt:57 Base address:0x8000 DMA chan:ff   
  
lo        Link encap:Local Loopback    
          inet addr:127.0.0.1  Mask:255.0.0.0  
          UP LOOPBACK RUNNING  MTU:65536  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0   
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  
  
root@raspberrypi:~#    

其他设置参考

http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/
分享到:
评论

相关推荐

    QEMU+树莓派3B调试Linux-设备树以及原版内核文件

    通过连接到QEMU的串口或网络端口,我们还可以使用GDB(GNU Debugger)进行远程调试,查看内核日志,甚至在运行时更改内核变量。 总的来说,通过QEMU+树莓派3B的组合,开发者能够高效地进行Linux内核和设备驱动的...

    QEMU树莓派任务招募1

    QEMU树莓派任务招募1是一项针对IT专业学生的挑战性任务,旨在培养他们将MIPS标准实验移植到QEMU的raspi3机器类型或实际的树莓派3B硬件上的能力。这一过程不仅要求学生深入理解操作系统原理,还要求他们具备独立查阅...

    树莓派4B+x86_openEuler+qemu+aarch64_openEuler

    在本文档中,我们将探讨如何在树莓派4B上安装并运行基于aarch64架构的openEuler操作系统作为虚拟机,利用树莓派的硬件虚拟化功能和开源工具libvirt以及qemu。首先,我们需要确保树莓派4B已经安装了openEuler-20.03-...

    QEMU虚拟机网卡及网络配置

    QEMU虚拟出的网络设备首先连接到虚拟局域网(VLAN)中。每个QEMU实例可以虚拟出一个或多个VLAN,不同的虚拟机网卡可以通过指定VLAN来实现互联互通。 ##### 示例 - `-net nic,model=pcnet`:添加一块pcnet型网卡,连接...

    树莓派3b(raspi3b)qemu运行rt-thread

    windows系统下,在qemu平台使用树莓派3b(raspi3b)仿真运行rt-thread系统,提供rt-thread源码包,qemu windows安装包,rt-thread源码以及rt-thread官方env工具配置脚本,最后还包含编译好的二进制文件,直接运行rt-...

    树莓派qemu搭建,raspi2b

    树莓派qemu搭建,raspi2b

    raspberry-qemu:树莓派QEMU

    使用脚本“ build-kernel-qemu”构建可用于引导QEMU的内核映像。 脚本将下载内核4.1.7源和用于编译它的工具链。 该脚本提供了预编译的内核版本 假设条件 您的系统能够执行32位二进制文​​件,并且您具有git工具 ...

    QEMU+树莓派3B调试Linux-设备树文件

    设备树

    QEMU+树莓派3B调试Linux-原版内核文件

    原版内核

    ubuntu 23.04 QEMU图形化安装配置网卡桥接

    网卡桥接是指将物理网卡和虚拟网卡连接起来,以便虚拟机能够访问外部网络。本文档将详细讲解网卡桥接的配置过程。 一、安装 QEMU 和 virt-manager 首先,需要安装 QEMU 和 virt-manager 软件。使用以下命令安装所...

    linux qemu离线安装包

    离线安装QEMU通常适用于没有网络连接或者网络环境受限的情况。以下是一个详细的离线安装步骤: 1. **下载QEMU离线安装包**:首先,你需要在有网络的环境中找到适用于你的Ubuntu版本的QEMU deb包,这通常可以在...

    Qemu模拟器运行AIX 7.2 系统.docx

    ### QEMU模拟器运行AIX 7.2系统的详细指南 #### AIX操作系统简介 AIX(Advanced Interactive Executive)是IBM公司开发的一款基于AT&T Unix System V的类UNIX操作系统,主要用于IBM Power架构的服务器和工作站上。...

    Qemu使用手册中文版

    QEMU(Quick Emulator)是一款强大的开源虚拟化软件,它能够模拟各种计算机硬件,使得用户可以在同一台物理机器上运行多种操作系统。QEMU的核心功能包括系统级虚拟化和用户级虚拟化,支持Linux、Windows以及其他多种...

    QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler)

    在模拟环境中模拟网络连接时,这个驱动是必需的。 3. **QEMU_EFI.fd**:这是一个固件文件,基于EFI(可扩展固件接口),用于引导操作系统。在这个案例中,它是用来启动麒麟高级服务器版V10(基于OpenEuler)的基础...

    Qemu安装使用手册中文版

    这些选项使得QEMU能够在没有管理员权限的环境下运行网络应用。 ##### 4.3 虚拟多处理器系统 使用`-smp n`选项可以模拟具有多个CPU的系统,这对于测试多线程应用程序或进行性能分析非常有帮助。 #### 五、总结 ...

    QEMU for windows+安装说明

    QEMU Manager通常提供一个图形用户界面,使得创建和管理虚拟机变得更加直观,比如创建虚拟硬盘、分配内存、设置网络接口等。 在QEMU中,您可以通过ISO映像文件安装各种操作系统,如Linux、Windows或其他自由软件...

    qemu-char-android.rar_android_qemu_qemu char driver

    QEMU(Quick Emulator)是一个功能强大的开源模拟器,它能够模拟各种计算机硬件,包括处理器、内存系统、网络设备等,使得开发者能够在非目标平台上运行和测试操作系统及应用程序。在Android开发环境中,QEMU扮演着...

    raspberrypi2_qemu_content.tar.xz

    用于QEMU 4.2的树莓派2虚拟机的文件。包括了内核、设备树和SD卡的镜像。《在Ubuntu 16.04安装QEMU 4.2虚拟树莓派2教程》的链接为https://blog.csdn.net/jumpingpig/article/details/104149634

    qemu-0.12.2-windows

    4. **网络模拟**:QEMU能够模拟网络设备,如网卡,让虚拟机能够连接到网络。这通常通过桥接或NAT模式实现,使得虚拟机可以与主机或其他网络设备通信。 5. **存储模拟**:QEMU支持多种磁盘格式,如RAW、QCOW2等,...

    Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows

    "Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows"这个标题表明我们讨论的是如何在Windows系统上安装和使用Qemu来模拟ARM架构和Windows系统。Qemu的跨平台特性使得它能在Windows这样的非Linux...

Global site tag (gtag.js) - Google Analytics