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

Jetson Nano上启动Android Cuttlefish失败求助

在Jetson Nano(Ubuntu 22.04 + 4.9内核)上启动Android Cuttlefish失败的排查方案

环境信息

  • 硬件:4GB Jetson Nano
  • 系统:Ubuntu 22.04
  • 内核版本:4.9
  • 编译器:从gcc 7.5 linaro升级至gcc 10.1.0
  • 操作:已完成Android Cuttlefish依赖安装、仓库克隆、包构建与部署流程

问题复现

两次启动命令均失败:

  1. 执行命令:

    HOME=$(pwd) ./bin/launch_cvd -vm_manager qemu_cli -report_anonymous_usage_stats=n --start_webrtc=false
    

    报错:

    Can't tombstone server socket: 'Address family not supported by protocol'
    子进程中断退出。

  2. 执行命令:

    HOME=$(pwd) ./bin/launch_cvd -cpus=2 --memory_mb=2048
    

    报错:

    Could not open vsock socket: Address family not supported by protocol
    同时crosvm输出错误:
    failed to create IRQ chip (os error 19)
    关键子进程意外退出。

针对性解决方案

1. 修复"Address family not supported by protocol"错误

Jetson Nano的4.9内核默认未开启CONFIG_VSOCKETS相关配置,而Cuttlefish依赖vsock实现宿主机与虚拟机的通信。需重新编译内核并开启以下配置:

  • CONFIG_VSOCKETS=y
  • CONFIG_VSOCKETS_DIAG=y
  • CONFIG_QEMU_VSOCKETS=y(针对QEMU的vsock支持)

编译完成后替换原有内核并重启系统。

2. 解决crosvm的IRQ芯片创建失败问题

os error 19对应ENODEV,说明Jetson Nano的ARM架构与crosvm默认的虚拟化适配不兼容。建议强制使用qemu_cli作为虚拟机管理器,并补充ARM架构适配参数:
修改启动命令为:

HOME=$(pwd) ./bin/launch_cvd -vm_manager qemu_cli -report_anonymous_usage_stats=n --start_webrtc=false -cpus=2 --memory_mb=1536 --qemu_params="-machine virt,gic-version=2"
  • --memory_mb=1536:降低虚拟机内存分配,避免宿主机资源耗尽
  • --qemu_params="-machine virt,gic-version=2":指定ARM兼容的中断控制器版本

3. 验证编译器兼容性

Android构建系统对编译器版本有严格要求,需确认gcc 10.1.0符合Cuttlefish的编译规范。可通过环境变量强制指定编译器路径后重新构建:

export CC=/path/to/gcc-10.1.0/bin/gcc
export CXX=/path/to/gcc-10.1.0/bin/g++
# 重新执行Cuttlefish构建流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 17:02:01