0

我想用 qemu 和 kvm 在我的 jetson nano(arm64)上模拟 google fuchsia OS。这是我正在阅读的指南:

https://fuchsia.dev/fuchsia-src/get-started/get_fuchsia_source

下面你可以看到完整的日志,包括我发出的所有命令和我得到的回复,直到最后一个是我无法修复的错误:

/opt# python --version
Python 3.8.11

/opt# curl -sO https://storage.googleapis.com/fuchsia-ffx/ffx-linux-x64 && chmod +x ffx-linux-x64 && ./ffx-linux-x64 platform preflight
bash: ./ffx-linux-x64: cannot execute binary file: Exec format error

/opt# curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash

WARNING: Jiri doesn't support timely updates for arch 'aarch64'. This or future binaries of Jiri might be out of date.
cipd bootstrapped to path:"/opt/fuchsia/.jiri_root/bin/cipd"
Please add /opt/fuchsia/.jiri_root/bin to your PATH

WARN: Please opt in or out of analytics collection. You will receive this warning until an option is selected.
To check what data we collect run: jiri init -show-analytics-data
To opt-in run: jiri init -analytics-opt=true "/opt/fuchsia"
To opt-out run: jiri init -analytics-opt=false "/opt/fuchsia"

Updating all projects
WARN: Some packages are skipped by cipd due to lack of access, you might want to run "/opt/fuchsia/.jiri_root/bin/cipd auth-login" and try again

Done creating a Platform Source Tree at "/opt/fuchsia".
Recommended: export PATH="/opt/fuchsia/.jiri_root/bin:$PATH"

/opt# nano ~/.bash_profile

export PATH=/opt/fuchsia/.jiri_root/bin:$PATH
source /opt/fuchsia/scripts/fx-env.sh

/opt# source ~/.bash_profile

/opt# jiri help
Command jiri is a multi-purpose tool for multi-repo development.

Usage:
   jiri [flags] <command>


/opt/fuchsia# fx help
 
usage: fx [--dir BUILD_DIR] [-d DEVICE_NAME] [-i] [-x] COMMAND [...]
Run Fuchsia development commands. Must be run from a directory
that is contained in a Platform Source Tree.


/opt/fuchsia# fx set core.qemu-arm64

WARNING: Please opt in or out of fx metrics collection.
You will receive this warning until an option is selected.
To check what data we collect, run `fx metrics`
To opt in or out, run `fx metrics <enable|disable>

/opt/fuchsia/tools/devshell/go: line 21: /opt/fuchsia/prebuilt/third_party/go/linux-arm64/bin/go: cannot execute binary file: Exec format error

/opt/fuchsia/tools/devshell/go: line 21: /opt/fuchsia/prebuilt/third_party/go/linux-arm64/bin/go: Success

ERROR: Failed to build fx set.
ERROR: Please file a bug using `fx report-bug set` with the full error copy-pasted.
ERROR: Rerun your command using the uncompiled version:
ERROR:   fx --enable=legacy_set set core.qemu-arm64


/opt/fuchsia# fx --enable=legacy_set set core.qemu-arm64

WARNING: Please opt in or out of fx metrics collection.
You will receive this warning until an option is selected.
To check what data we collect, run fx metrics
To opt in or out, run `fx metrics <enable|disable>

错误无法执行忍者。我试图执行“/opt/fuchsia/prebuilt/third_party/ninja/linux-arm64/ninja”

4

1 回答 1

0

我将从源代码指南中指出这一点开始:

目前,预检工具仅作为 x64 预构建提供。Fuchsia 目前不能保证在其他主机架构上成功构建。

所以这不是官方支持的路径,并且可能有锋利的边缘。每当您Exec format error在日志中看到弹出窗口时,它都与预构建未在正确架构上运行的事实有关。这可能是因为arm64预建的不存在,或者可能是未正确获取。

对于ffx platform preflight,当前没有arm64上传二进制文件(您复制的命令提取了x64二进制文件)。但是,此步骤仅有助于验证先决条件......它不是完成构建所必需的。我已经提交了 fxbug.dev/80517与可能添加对此的支持有关。

来自的后续错误与引导期间下载的二进制文件fuchsia/prebuilt的问题有关。我建议在公共问题跟踪器linux-arm64中将此问题作为功能请求提交。

于 2021-07-12T17:41:40.067 回答