如何通过网络访问Raspberry PI QEMU VM

2024-04-08

我已通过 QEMU 在 Mac OS X 上成功设置了 Raspberry PI VM。现在我想从我的 Mac 访问该虚拟机的文件系统。

When I call ifconfig on my VM I get this. enter image description here

And here the content of my /etc/network/interfaces file enter image description here

在我的 Mac 上

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
    ether 3c:07:54:65:da:50 
    inet6 fe80::3e07:54ff:fe65:da50%en0 prefixlen 64 scopeid 0x4 
    inet6 fdbf:a879:6730::3e07:54ff:fe65:da50 prefixlen 64 autoconf 
    inet6 fdbf:a879:6730::401e:56f5:f2f9:a236 prefixlen 64 autoconf temporary 
    inet 192.168.1.119 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (1000baseT <full-duplex,flow-control>)
    status: active

我认为原因是虚拟机使用某种共享网络。有没有办法让虚拟机从我的路由器获取IP地址?


更简单的方法 - 不太灵活,但你不需要花那么多时间

他们的方式你已经配置qemu似乎是默认主机 NAT 网络(又名。qemu -net nic -net user配置)

默认情况下,当从访客访问时,您的主机(在本例中为您的 Mac)将在 10.0.2.2 上找到。从您的访客内部,您可以连接到主机(您的 MAC)上的服务(地址为 10.0.2.2)。但这是使用 NAT,因此您无法轻松返回其他方式。

例如,如果您决定连接到 SSH 服务和在来宾中运行的 Web 服务器,则需要启动qemu修改后的选项如下:

qemu -net nic -net user,hostfwd=tcp::2222-:22,hostfwd=tcp::22280-:80

这样做的目的是将连接从主机(您的 MAC)上的端口 22280 路由到您的主机内的端口 80。qemuguest,(与端口 2222 相同 --> guest 中的端口 22)

这意味着您可以浏览到http://localhost:22280在您的 Mac 上,访问虚拟 Raspberry Pi 中的 Web 服务器等。

由于使用的端口和使用方式等不同,FTP 和 SMB 以这种方式设置会更加复杂。尽管如果您将 FTP 设置为使用 PASV 模式,则不会有太大问题。

比较复杂的方法

这包括按照您的建议进行操作,将虚拟机任务配置为能够从路由器获取 IP 地址。在这种情况下,您需要在虚拟机和主机网络之间建立一个桥接。

这需要的设置比此处快速解释的要多得多,但本质上,您需要将 NIC 分配给 VLAN 并添加tap接口,例如:

qemu -net nic,vlan=0 -net tap,ifname=tap0

然而,这需要在主机上进行更多设置(最初是手动的,因为您了解自己的情况,但随后是可编写脚本的)来创建桥接和分接接口 - 这通常需要根访问权限,而不仅仅是简单运行所需的权限qemu。谷歌搜索一下就会出现多种方法来执行此操作,因为它根据您的设置而有所不同。 (我在这里找到了一个示例设置脚本:https://gist.github.com/EmbeddedAndroid/6572715 https://gist.github.com/EmbeddedAndroid/6572715 )

  • 注——网络MAC地址、网卡型号等及其他qemu为了清楚起见,省略了选项。

桑巴方法

注意:我只在Linux下尝试过这个

您可以在 qemu 中启用 Samba 服务器:

qemu -smb /path/to/files

这将创建一个可从来宾内部访问的 SMB 共享,位置为 \10.0.2.4\qemu,从主机上的 /path/to/files 映射。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过网络访问Raspberry PI QEMU VM 的相关文章

  • 页面错误陷阱的成本

    我有一个应用程序 它定期 每 1 或 2 秒后 通过分叉自身来获取检查点 因此 检查点是原始进程的一个分支 它一直保持空闲状态 直到原始进程发生某些错误时被要求启动 现在我的问题是fork的写时复制机制的成本有多大 每当原始进程写入内存页面
  • 类似 wget 的 BitTorrent 客户端或库? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 是否有任何
  • 让“git pull”在拉取不同分支时要求确认

    当同时处理许多项目和分支时 我偶尔会犯一些愚蠢的错误 比如拉入错误的分支 例如在分支上master I did git pull origin dangerous code并且有一段时间没有注意到这一点 这个小错误造成了很大的混乱 当我尝试
  • 如何随时暂停 pthread?

    最近我开始将 ucos ii 移植到 Ubuntu PC 上 我们知道 在pthread的回调函数中的 while 循环中简单地添加一个标志来执行暂停和恢复是不可能模拟ucos ii中的 进程 的 如下解决方案 因为ucos ii中的 进程
  • Raspberry Pi 无延迟(<10ms)视频流

    我正在基于 Raspberry Pi 构建四轴飞行器 我想通过蜂窝连接将网络摄像头的视频流式传输到我的计算机 我尝试了 ffmpeg 和 mjpg 但它必须有很大的延迟才能仅通过观看视频来控制 Quad 我的问题是是否可以以非常小的延迟 如
  • 访问 Linux 线程(pthreads)的本地堆栈

    我目前正在实现一个使用多线程但对总内存消耗有要求的应用程序 我希望有一个主线程执行 I O 并有几个工作线程执行计算 目前 我在主堆栈上有几个可供工作人员访问的数据结构 我使用 OpenMP 进行工作分配 由于主 工作者模式不能很好地与 O
  • 阻止 OpenGL.framework 在 Cocoa 应用程序中加载

    我的应用程序链接到这些框架 Cocoa Framework AppKit Framework CoreData Framework Foundation Framework 请注意 OpenGL Framework 是NOT已链接 但是 设
  • EIdOSSLUnderlyingCryptoError 和“使用 SSL 连接时出错。错误:14094410...”

    我在 OS X 上的 Delphi 10 1 Berlin 中遇到 Indy 组件问题 我正在使用TIdHTTP使用 HTTPS 连接到 Web 服务 问题是从 OS X 客户端连接到服务器 在 OS X 上运行时 我总是遇到同样的错误 P
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • sed 仅最后一个匹配模式

    我想sed仅文本文件的最后一个匹配模式 输入文件 boy boy girl boy 输出文件 boy boy girl boys 一种方法是反转文件 仅替换第一个匹配项 然后再次反转 tac
  • python:发送邮件,在“with”块内时失败

    我想知道为什么这段代码 test smtplib SMTP smtp gmail com 587 test ehlo test starttls test ehlo test login address passw test sendmai
  • 在 macOS 上更新 GNU make

    我从下载了 GNU make 4 2 1here http ftp gnu org gnu make make 4 2 1 tar gz 并按照展开文件夹中的 INSTALL 文件中的说明安装它 现在我跑make v在 shell 中 我仍
  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • 在 Mac OS x 10.7.5 中运行 Scrapy 所需的文件,使用 Python 2.7.3 IEPD_free(32 位)

    我是第一次测试 scrapy 使用命令安装后 sudo easy install U scrapy 一切似乎都运行正常 但是 当我运行时 scrapy startproject tutorial 我得到以下信息 luismacbookpro
  • 是否可以找到哪个用户位于 localhost TCP 连接的另一端?

    这是一个编程问题 但它是 Linux Unix 特定的 如果我从本地主机获得 TCP 连接 是否有一种简单的方法可以告诉哪个用户在 C 程序内建立了连接而无需 shell 我知道这对于 Unix 域套接字来说并不太难 我已经知道远程 IP
  • 在 Intel 机器上构建 Apple Silicon 二进制文件

    如何在 macOS 11 Intel 上编译 C 项目以在 Silicon 上运行 我当前的构建脚本很简单 configure make sudo make install 我尝试过使用 host and target标志与aarch64
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • /proc/PID 文件格式

    我想从中检索一些流程信息 proc目录 我的问题如下 中的文件是否有标准格式 proc PID 例如 有这个proc PID status文件与Name t ProcName在第一行 我可以在其他地方用空格代替这个文件吗 t或者类似的东西
  • Docker DNS 设置

    我尝试使用自定义网络和 dos 设置创建 docker 容器 docker网络创建 driver bridge opt com docker network bridge enable ip masquerade true opt com
  • gnome-terminal 新选项卡,使用别名作为要执行的命令

    我已经创建了一个别名 bashrc文件如下 alias myproject cd Desktop myproject 当我重新启动终端时保存文件后 输入myproject带我到项目目录 但是当我尝试使用别名作为新的命令参数时gnome te

随机推荐

  • 使用自定义操作卸载多个产品

    我正在为我们的产品开发基于 WIX 的安装程序 该产品有一个基础产品和许多插件 基础版和插件将作为单独的 MSI 提供 仅当底座可用时才能安装插件 基础和插件在根文件夹下共享公共文件夹树 例如 C Program files MyProdu
  • 当鼠标离开父级时,为什么 IE 8 会因引导、淘汰验证和自定义绑定处理程序而崩溃?

    好吧 这是一个疯狂的错误 我和同事无法弄清楚 Internet Explorer 8 崩溃 没有控制台错误消息 当使用具有自定义绑定 数据绑定 的无线电输入更改淘汰可观察值并且您移出父 DOM 容器时 就会发生这种情况 在 IE 8 浏览器
  • Roxy Fileman 与 TinyMCE 5 使用 file_picker_callback

    我试图upgradeTinyMCE 版本 4 起to ver 5 但函数 file browser callback 已被替换为文件选择器回调具有完全不同的参数 TinyMCE v 4 file browser callback funct
  • 无法创建使用文字零的通用函数

    我正在尝试编写一个与内置函数类似的 Rust 函数Range 但我想要的东西只会返回 X 个数字 并将其作为列表返回 这就是我尝试创建此函数的原因 外部板条箱编号 use num Integer fn positions
  • 将 JSF 应用程序迁移到 Weblogic 12

    我们开发了一个基于 Seam 2 的 Java EE 5 应用程序 它在 Weblogic 11g 上运行 现在 我尝试按照与之前的 WLS 相同的步骤将相同的 WAR 文件部署到新的 Weblogic 12c 本地 Windows 7 计
  • 如何使 Excel MIN 函数忽略集合中的零?

    在 Excel 中 我有以下公式 MIN H69 H52 H35 H18 1 H18 10应该返回MIN范围 并将其除以当前单元格 1 H18 然后乘以 10 我在添加 NULLIF 语句类型时遇到困难 我希望能够有 可能 空白行 并让 M
  • 如何使用 PHP 将 JSON 解析为 html 表?

    我必须在我的网站上找到一张桌子 并且必须从以下位置获取该表的数据 我已经尝试了很多东西但没有任何作用
  • 在 C# 中实现接口与显式实现接口 [重复]

    这个问题在这里已经有答案了 我在 VS2010 中有两个用于实现接口的选项 当我有 IHelper cs 界面如下 public interface IHelper IEnumerable
  • 无法加载 python gstreamer 元素

    我正在跟随指南https mathieuduponchelle github io 2018 02 01 Python Elements html gi language undefined https mathieuduponchelle
  • Xcode:内存使用情况比较

    在 xcode 中模拟 iOS 时 丢失 3 4 的内存给 其他进程 正常吗 是的 这是正常的 其他进程 实际上包括 Mac 上当前运行的所有其他程序 这个数字与模拟器无关 它不测量模拟器中运行的进程 如果您运行 iOS Simulator
  • 使用地理编码将多个 addListener 事件添加到 Google 地图表单

    我创建了一个 Google 地图表单 允许用户在文本字段中输入地址并对条目进行地理编码 然后这会在地图上放置一个标记 这工作正常 但我想添加一个额外的 addListener 这样当用户单击地图时 它将在他们单击的位置添加另一个图钉 由于某
  • 完整更新 pip 包时出错

    当 pip 使用命令更新所有包时 pip freeze local grep v e cut d f 1 xargs pip install U 点打印错误vboxapi Downloading unpacking vboxapi Coul
  • NativeScript radlist 视图按需加载的工作原理

    这可能不是问题 但这是从头开始学习本机脚本时出现的一系列疑问 我有一个 1000 或更多的数据列表存储在数据表中 知道我想将其显示在列表视图上 但我不想立即读取所有数据 因为我有图像存储在其他目录中并且也想读取它 因此 对于 20 到 30
  • 获取过滤值的对象键

    情况很简单 我有一个以下对象 Object 1 false 2 true 3 false 4 false 5 false 6 false 7 false 8 true 12 false 13 false 14 false 15 false
  • .NET 日期时间.Parse

    当尝试使用解析方法时DateTime类中 我抛出异常 字符串未被识别为有效的日期时间 该字符串读作 26 10 2009 8 47 39 AM 输出时 该字符串是从正则表达式的匹配组中获取的 从该匹配组获得的任何字符串都不会解析为日期时间
  • 如何在 ASP.NET 中将对象保存到会话并在视图中访问它

    我正在编写 Asp Net MVC 4 应用程序 我想将模型对象保存到会话中 然后从另一个页面访问它 但不知道该怎么做 是否可以 例如一些代码 HttpPost public ActionResult Index EventDetails
  • 通过网络登录从 Windows 服务创建 GUI

    我读了很多关于从 Windows 服务执行 GUI 应用程序的文章 当服务以系统用户身份运行时 我使用的是 Windows XP 允许服务与桌面交互 复选框对我有用 现在我需要该服务作为域中定义的用户 来自网络 运行 一切工作正常 即使没有
  • 在 Safari/WebView 中禁用 XSS 过滤器

    我正在开发一个用于 XSS 检查的工具 使用 Webkit WebView 和 Macruby 这非常有效 只是 Safari 的 XSS 过滤器偶尔会捕获我的 URL 并拒绝执行恶意脚本 有没有办法禁用此功能 最好以编程方式禁用 经过一番
  • 在 Web API 应用程序中,我可以在什么时候拦截 URI 参数并相应地路由调用?

    注 这个问题确实有点类似于this one https stackoverflow com questions 21388655 can i programmatically determine the database context t
  • 如何通过网络访问Raspberry PI QEMU VM

    我已通过 QEMU 在 Mac OS X 上成功设置了 Raspberry PI VM 现在我想从我的 Mac 访问该虚拟机的文件系统 When I call ifconfig on my VM I get this And here th