我正在尝试一项尚未有人尝试过的实验:尝试在我的 Jetson nano 4 GB 上启动 Android cuttlefish,我已在其中安装了 Ubuntu 22.04 和内核 4.9。一开始默认编译器是 gcc 7.5 linaro。所以我做的第一件事就是升级它。
我已经按照这些教程在jetson nano上升级了gcc:
https://askubuntu.com/questions/26498/how-to-choose-the-default-gcc-and-g-version
现在这是报告的版本:
root@jetson:/home/aresuser/Scrivania/Android/android-image# gcc --version
gcc (GCC) 10.1.0
然后,基于本教程:
https://linaro.atlassian.net/wiki/spaces/QEMU/pages/29464068097/Run+Android+using+QEMU
这就是我所做的:
# sudo apt install -y git devscripts equivs config-package-dev
debhelper-compat golang curl
# git clone https://github.com/google/android-cuttlefish
# cd android-cuttlefish
# tools/buildutils/build_packages.sh
# sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
# sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
# sudo usermod -aG kvm,cvdnetwork,render $USER
然后:
root@jetson:/home/aresuser/Scrivania/Android/android-image# HOME=$(pwd) ./bin/launch_cvd -
vm_manager qemu_cli -report_anonymous_usage_stats=n --start_webrtc=false
Reading --config option from: /home/aresuser/Scrivania/Android/android-image/android-info.txt
Launching CVD using --config='phone'.
Unable to get the network config. Assuming defaults.
GPU auto mode: did not detect prerequisites for accelerated rendering support, enabling --
gpu_mode=guest_swiftshader.
GPU vhost user auto mode: not needed for --gpu_mode=guest_swiftshader. Not enabling vhost user
gpu.
Requested resuming a previous session (the default behavior) but the base images have changed
under the overlay, making the overlay incompatible. Wiping the overlay files.
Path for instance UDS: /tmp/cf_avd_0
The following lines contain useful debugging information:
Serial console is disabled; use -console=true to enable it.
Logcat output: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/cvd-1/logs/
logcat
Kernel log: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/cvd-1/
kernel.log
Launcher log: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/cvd-1/logs/
launcher.log
Instance configuration: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/
cvd-1/cuttlefish_config.json
Launcher Build ID: 12309296
4. main.cc:232 | RunCvdMain |
3. main.cc:102 | Run |
2. feature.cpp:50 | RunSetup | Setup failed for cuttlefish::TombstoneReceiver
1. auto_cmd.h:53 | ResultSetup |
| device/google/cuttlefish/host/commands/run_cvd/launch/tombstone_receiver.cpp:47
| Result<MonitorCommand> cuttlefish::TombstoneReceiver(const CuttlefishConfig::InstanceSpecific
&)
v CF_EXPECT(socket->IsOpen())
Can't tombstone server socket: 'Address family not supported by protocol'
09-09 17:47:44.549 48022 48022 E launch_cvd: subprocess.cpp:207 Subprocess 48128 was
interrupted by a signal 'Aborted' (6)
09-09 17:47:44.549 48022 48022 E launch_cvd: main.cc:357 run_cvd returned -1
我也尝试过这样:
aresuser@jetson:~/Scrivania/Android/android-image$ HOME=$(pwd) ./bin/launch_cvd -cpus=2 --
memory_mb=2048
Reading --config option from: /home/aresuser/Scrivania/Android/android-image/android-info.txt
Launching CVD using --config='phone'.
GPU auto mode: did not detect prerequisites for accelerated rendering support, enabling --
gpu_mode=guest_swiftshader.
GPU vhost user auto mode: not needed for --gpu_mode=guest_swiftshader. Not enabling vhost user
gpu.
Requested resuming a previous session (the default behavior) but the base images have changed
under the overlay, making the overlay incompatible. Wiping the overlay files.
Path for instance UDS: /tmp/cf_avd_1000
The following lines contain useful debugging information:
Point your browser to https://localhost:8443 to interact with the device.
Serial console is disabled; use -console=true to enable it.
Logcat output: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/cvd-1/logs/
logcat
Kernel log: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/cvd-1/
kernel.log
Launcher log: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/cvd-1/logs/
launcher.log
Instance configuration: /home/aresuser/Scrivania/Android/android-image/cuttlefish/instances/
cvd-1/cuttlefish_config.json
Launcher Build ID: 12309296
VhostDeviceVsock::vhost param is:guest-cid=3,socket=/tmp/vsock_3_1000/vhost.socket,uds-path=/
tmp/vsock_3_1000/vm.vsock
/home/aresuser/Scrivania/Android/android-image/bin/modem_simulator
/home/aresuser/Scrivania/Android/android-image/bin/tombstone_receiver
/home/aresuser/Scrivania/Android/android-image/bin/log_tee
/home/aresuser/Scrivania/Android/android-image/bin/process_restarter
/home/aresuser/Scrivania/Android/android-image/bin/log_tee
/home/aresuser/Scrivania/Android/android-image/bin/process_restarter
/home/aresuser/Scrivania/Android/android-image/bin/log_tee
/home/aresuser/Scrivania/Android/android-image/bin/wmediumd
/home/aresuser/Scrivania/Android/android-image/bin/operator_proxy
/home/aresuser/Scrivania/Android/android-image/bin/webRTC
/home/aresuser/Scrivania/Android/android-image/bin/casimir_control_server
/home/aresuser/Scrivania/Android/android-image/bin/screen_recording_server
/home/aresuser/Scrivania/Android/android-image/bin/adb_connector
/home/aresuser/Scrivania/Android/android-image/bin/socket_vsock_proxy
/home/aresuser/Scrivania/Android/android-image/bin/socket_vsock_proxy
/home/aresuser/Scrivania/Android/android-image/bin/tcp_connector
/home/aresuser/Scrivania/Android/android-image/bin/control_env_proxy_server
/home/aresuser/Scrivania/Android/android-image/bin/echo_server
/home/aresuser/Scrivania/Android/android-image/bin/gnss_grpc_proxy
/home/aresuser/Scrivania/Android/android-image/bin/logcat_receiver
/home/aresuser/Scrivania/Android/android-image/bin/kernel_log_monitor
/home/aresuser/Scrivania/Android/android-image/bin/openwrt_control_server
/home/aresuser/Scrivania/Android/android-image/bin/log_tee
/home/aresuser/Scrivania/Android/android-image/bin/process_restarter
/home/aresuser/Scrivania/Android/android-image/bin/netsimd
/home/aresuser/Scrivania/Android/android-image/bin/socket_vsock_proxy
/home/aresuser/Scrivania/Android/android-image/bin/socket_vsock_proxy
/home/aresuser/Scrivania/Android/android-image/bin/secure_env
/home/aresuser/Scrivania/Android/android-image/bin/log_tee
/home/aresuser/Scrivania/Android/android-image/bin/process_restarter
Start modem simulator, server_fds: 73, Sim type: normal
Failed to open socket: Connection refused
proxy_socket_vsock_proxy] Could not open vsock socket: Address family not supported by protocol
proxy_socket_vsock_proxy] Could not open vsock socket: Address family not supported by protocol
Server listening on unix:/tmp/cf_avd_1000/cvd-1/grpc_socket/EchoServer.sock
Server listening on unix:/tmp/cf_avd_1000/cvd-1/grpc_socket/CasimirControlServer.sock
Server listening on unix:/tmp/cf_avd_1000/cvd-1/grpc_socket/ControlEnvProxyServer.sock
Server listening on unix:/tmp/cf_avd_1000/cvd-1/grpc_socket/OpenwrtControlServer.sock
root-canal I 09-09 20:45:08.997 device_boutique.cc:37 Registering beacon
root-canal I 09-09 20:45:08.997 device_boutique.cc:37 Registering
beacon_swarm
root-canal I 09-09 20:45:08.997 device_boutique.cc:37 Registering
scripted_beacon
root-canal I 09-09 20:45:08.997 device_boutique.cc:37 Registering sniffer
netsimd I 09-09 18:45:08.998 rust_main.rs:98 - netsim artifacts path: "/tmp/android-aresuser/
netsimd"
netsimd I 09-09 18:45:08.999 rust_main.rs:101 - NetsimdArgs {
fd_startup_str: Some(
"{\"devices\":[{\"name\":\"0.0.0.0:6520\",\"chips\":[{\"kind\":\"BLUETOOTH\",\"fdIn\":111,
\"fdOut\":112},{\"kind\":\"UWB\",\"fdIn\":113,\"fdOut\":114}]}]}",
),
no_cli_ui: false,
no_web_ui: false,
pcap: false,
disable_address_reuse: false,
hci_port: Some(
7300,
),
connector_instance: None,
instance: Some(
1,
),
logtostderr: false,
dev: false,
rust_grpc: false,
rust_hostapd: false,
rust_slirp: true,
vsock: None,
config: None,
host_dns: None,
http_proxy: None,
wifi_tap: None,
test_beacons: false,
no_test_beacons: false,
no_shutdown: false,
verbose: false,
version: false,
}
[2024-09-09T18:45:09.006395395+00:00 ERROR crosvm] exiting with error 1: failed to create IRQ
chip
Caused by:
No such device (os error 19)
[2024-09-09T18:45:09.014172151+00:00 ERROR crosvm] exiting with error 1: failed to create IRQ
chip
Caused by:
No such device (os error 19)
Detected unexpected exit of monitored subprocess /home/aresuser/Scrivania/Android/android-
image/bin/process_restarter
Subprocess /home/aresuser/Scrivania/Android/android-image/bin/process_restarter (7442) has
exited with exit code 1
Stopping all monitored processes due to unexpected exit of critical process
WaylandServer running on socket 17
[2024/09/09 20:45:09:2576] N: lws_create_context: LWS: 4.3.0, NET CLI SRV H1 H2 WS ConMon IPv6-
absent
[2024/09/09 20:45:09:2578] N: __lws_lc_tag: ++ [wsi|0|pipe] (1)
[2024/09/09 20:45:09:2579] N: __lws_lc_tag: ++ [vh|0|default|127.0.0.1|127.0.0.1|0] (1)
[2024/09/09 20:45:09:2593] N: [vh|0|default|127.0.0.1|127.0.0.1|0]: lws_socket_bind: source ads
127.0.0.1
[2024/09/09 20:45:09:2594] N: __lws_lc_tag: ++ [wsi|1|listen|default|127.0.0.1|44581] (2)
Connection thread running
cannot connect to 3:6900
Failed to connect:Connection reset by peer
(adm_helpers.cc:48): Unable to access speaker.
Size of OBJECT = 1204
Size of components in TPMT_SENSITIVE = 744
TPMI_ALG_PUBLIC 2
TPM2B_AUTH 50
TPM2B_DIGEST 50
TPMU_SENSITIVE_COMPOSITE 642
MAX_CONTEXT_SIZE can be reduced to 1264 (1344)
size : 360
starting Rust KeyMint TA implementation in a thread
starting C++ KeyMint implementation in a thread with FDs in=54, out=53
KeyMint Rust TA running with infile=60, outfile=59, security_level=Software
No secure deletion data file found. Creating one.
cannot connect to 3:6900
Failed to connect:Connection reset by peer
我不知道哪里出了问题。有人可以帮忙吗?谢谢。
我希望 Android Cuttlefish 能够自行启动...
sudo usermod -aG kvm,cvdnetwork,render $USER
您需要
reboot
设备并使用以下命令:
搭建环境:
source build/envsetup.sh
选择AOSP版本:
lunch aosp_cf_x86_phone-userdebug
启动CVD:
launch_cvd
init: starting service 'adbd'...
Unable to connect to vsock server: Connection reset by peer
VIRTUAL_DEVICE_BOOT_STARTED
VIRTUAL_DEVICE_NETWORK_MOBILE_CONNECTED
VIRTUAL_DEVICE_BOOT_COMPLETED
Virtual device booted successfully