我花了一些时间对基于 QNX 6.5.0 的系统进行逆向工程。我对 Linux (Ubuntu) 世界很陌生,对 QNX、Qemu 和嵌入式系统绝对是新手。
由于硬件相当封闭,我可以使用的最接近的是 Beagleboard-XM。因为不想买,所以决定用Qemu。我已经使用 Linaro 构建等进行了所有设置。我有一个系统启动。
我的问题是,我一生都无法让模拟的 QNX 系统显示 USB 驱动器。我正在使用 Ubuntu 14.04 LTS 并从 SD 卡启动。我不知道是否可以真正加载 USB 驱动器,但它似乎是能够从 QNX 系统中获取文件的最简单的解决方案。我已经尝试了很多。我无法启动和运行网络,也无法让 QNX 识别任何设备。
这是我的工作 Qemu 命令行(版本 1.7.0 (qemu-linaro 2014.01))
sudo qemu-system-arm -M beaglexm -m 512 -serial stdio \
-nographic -monitor pty -usb -sd /dev/mmcblk0
我已经尝试了大量的命令行-device
,-drive
例如,等等。
没有什么。需要注意的一件事是,我曾尝试使用 EHCI 总线,但无法使其正常工作,因为我不断收到
qemu-system-arm: -device usb-ehci,id=ehci: No 'PCI' bus found for device 'usb-ehci'
使用命令行
sudo qemu-system-arm -M beaglexm -m 512 -serial stdio \
-nographic -monitor pty -usb -sd /dev/sdd \
-drive if=none,id=usbstick,file=/dev/sdb1 \
-device usb-ehci,id=ehci \
-device usb-storage,bus=ehci.0,drive=usbstick
此外,模拟系统尝试加载mmcsd
驱动程序并寻找原始/dev/mmc0
. 我一直无法弄清楚如何让我的 SD 卡(或任何其他设备)显示该安装名称。
关于能够从模拟系统中获取文件的任何建议?我知道系统可以使用这两个特定的 USB 转以太网适配器,但我没有。也许我可以模拟其中之一?我尝试设置假 USB 到串行连接的尝试也失败了。基本上,任何需要 USB 支持的东西我都无法工作。
这是我查询 USB 主机时在模拟 QNX 系统上显示的内容。
USB 0 (OMAP3530) v1.10, v1.01 DDK, v1.01 HCD
USB 1 (EHCI) v1.10, v1.01 DDK, v1.01 HCD
任何帮助将不胜感激!