有没有办法模拟raspbian而不使用qemu?

时间:2015-12-25 16:28:23

标签: raspbian

我想在ubuntu上模拟raspbian。我可以根据这个成功安装rasbian:https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=37386和一些搜索。我想在raspbain中安装web服务器,但我无法访问qemu之外的nginx服务器,所以我想知道是否有另一种方法可以在ubuntu上模拟raspbian?

1 个答案:

答案 0 :(得分:1)

这里的建议是半精确的,但可能不完全准确;我只是一个喜欢Raspberry Pi的青少年

虚拟化≠仿真。

有两种主要类型的处理器正在使用:x86 / x86-64和ARM。 x86专为提高性能而设计,通常用于PC; ARM采用轻量级设计,价格便宜,功耗低,效率高,通常用于智能手机。它们都使用不同的指令集,因此无法运行彼此的二进制文件和应用程序。

来自Reddit(https://www.reddit.com/r/explainlikeimfive/comments/1ea5r2/eli5_why_are_x86_programs_not_compatible_with_arm/)的阿米巴的一句好话:

  

在Arm上运行x86 [操作系统] [反之亦然]就像试图将柴油放入汽油车 - 他们只是没有让它运行它。即使你驾驶的汽车有两种形式,也行不通。换档和制动踏板可能位于同一位置,但发动机不会运行相同的东西。

Raspbian是在使用ARM处理器的Raspberry Pi上运行的 - 因此它无法在标准PC(x86 / x86-64)上以原始形式运行。 VMWare(建议)使用虚拟化;这是一种使用PC的CPU将计算机分成几个虚拟服务器(全部使用PC的CPU)的方法,这些服务器像个人计算机一样运行。这可以用来,比如在Mac上模拟Windows,但只有当被模拟的操作系统与计算机的CPU兼容时才能使用它 - 即ARM系统上的Raspbian无法在x86 / x86-64上进行虚拟化模拟系统。解决方法是将ARM系统模拟到CPU(即qemu)。但是,由于您在计算机中模拟CPU,因此速度会慢得多,并且会有更多限制。

你的老板可能指的是Linux版本的虚拟化,它看起来类似于Raspbian但与x86兼容 - 例如Debian或Puppy Linux。

我自己不使用qemu,但经过一些研究后我发现在qemu之外访问nginx服务器可能是一个解决方案(它可能无法正常工作,但你应该试一试): 如果你的nginx服务器在端口80上运行:

  • 使用标记-redir tcp:8080::80(例如qemu -redir tcp:8080::80
  • 启动qemu
  • 通过http://localhost:8080
  • 访问服务器