You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

虚拟机/x86硬件上QNX终端输入失效,求修复或远程连接方案

我之前在做QNX SDP 7.0的大学项目时,刚好碰到过和你一模一样的问题——系统能正常启动,但本地键盘完全没反应。结合《Building a BSP》文档的操作经验,给你两个可行的解决方案,要么修复本地键盘输入,要么直接配置远程SSH连接绕开这个问题:

方案一:修复VirtualBox本地键盘输入

QNX对PS/2键盘的兼容性比USB键盘好很多,优先从这个方向排查:

  • 检查VirtualBox设备配置
    先关闭QNX虚拟机,打开VirtualBox的设置面板:

    1. 进入「系统」→「主板」,确保PS/2控制器处于启用状态
    2. 进入「设备」→「键盘」,取消勾选「启用USB键盘」,让虚拟机优先使用PS/2键盘
  • 调整BSP启动脚本,加载PS/2键盘驱动
    你的启动日志显示已经加载了输入服务,但可能缺少PS/2键盘的专属驱动。找到BSP目录下的启动配置文件(比如ifs-image.cfg或者startup.nsh),添加以下命令:

    io-hid -d ps2kbd &
    

    保存后重新生成镜像文件:

    ./bios_mkusbimage
    VBoxManage convertdd input.img output.vdi
    

    重启虚拟机后,键盘应该就能正常响应了。如果是USB键盘,可以尝试替换成io-hid -d usbkbd &,但PS/2的稳定性更高。

方案二:配置SSH远程连接(无需本地键盘)

如果不想折腾本地键盘,直接配置远程SSH是更快捷的方案:

  • 第一步:设置VirtualBox端口转发
    关闭虚拟机,进入「网络」→「网卡1」→「高级」→「端口转发」,添加一条规则:

    • 名称:SSH
    • 主机端口:2222
    • 子系统端口:22
      主机IP和子系统IP留空即可(默认0.0.0.0)
  • 第二步:修改BSP启动脚本,启动SSH服务
    找到BSP里的启动脚本(比如etc/rc.d/rc.local或者启动配置文件),添加以下命令来配置网络并启动sshd:

    # 配置静态IP(如果DHCP没自动分配地址的话)
    ifconfig en0 192.168.56.10 netmask 255.255.255.0 up
    # 启动SSH服务
    sshd &
    

    重新生成镜像并启动虚拟机后,在主机的终端里用以下命令连接:

    ssh root@localhost -p 2222
    

    QNX默认root用户没有密码,直接就能登录到远程Shell。

额外排查提示
  • 仔细查看启动日志里的输入服务相关输出,你的日志里只有「Starting input services ...」,没有报错信息,但如果驱动没正确加载,就不会有键盘响应
  • 如果是USB键盘,确保VirtualBox的USB控制器已经启用(「系统」→「USB」),但还是优先推荐PS/2方案

内容的提问来源于stack exchange,提问作者ibanezn04

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 06:37:31