下载 Fuchsia 源代码

本指南将说明如何下载 Fuchsia 源代码并设置 Fuchsia 开发 环境

具体步骤如下:

  1. 安装必备软件包
  2. 执行预检检查
  3. 下载 Fuchsia 源代码
  4. 设置环境变量
  5. 配置防火墙规则(可选)

1. 安装必备软件包

Fuchsia 要求 curlfileunzipgit 均为最新版本。版本 git 必须为 2.31 或更高版本。

安装(或更新)以下软件包:

sudo apt install curl file git unzip

2. 执行预检检查

Fuchsia 提供了预检检查工具 (ffx platform preflight 个) 检查您的计算机并告知您 影响在机器上从源代码构建 Fuchsia。

运行以下命令:

curl -sO https://storage.googleapis.com/fuchsia-ffx/ffx-linux-x64 && chmod +x ffx-linux-x64 && ./ffx-linux-x64 platform preflight

3. 下载 Fuchsia 源代码

Fuchsia 提供了引导脚本,用于创建 fuchsia 目录中,并从该目录中下载 Fuchsia 源代码。 目录。

下载 Fuchsia 源代码大约需要 2 GB 的空间 。根据您的构建配置,您需要 之后在构建 Fuchsia 时再获得 80 到 90 GB 的空间。此外, 下载过程会占用大量内存。广告可见 在此期间关闭非关键流程

如需下载 Fuchsia 源代码,请执行以下操作:

  1. 选择用于下载 Fuchsia 源代码的目录,例如:

    cd $HOME
    
  2. 运行引导加载程序脚本:

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

    此脚本会创建 fuchsia 目录并下载源代码。

    如果您在发布期间看到 Invalid authentication credentials 错误, 请参阅身份验证错误 帮助。

    如果您的互联网连接速度较慢并且遇到了超时问题, 直接下载该引导加载程序脚本,并将 -fetch-packages-timeout-hook-timeout。超时期限已定 并指明下载包的超时时间为 2 小时。( -hook-timeout 下载 CIPD 软件包时,该值将乘以 5。)

4. 设置环境变量

Fuchsia 建议您更新 shell 配置文件以包含以下内容 操作:

  • .jiri_root/bin 目录添加到 PATH 中。

    Fuchsia 源代码中的 .jiri_root/bin 目录包含 jirifx Fuchsia 工作流。Fuchsia 使用 jiri 工具管理 而 fx 工具可帮助您配置、构建、运行和 调试 Fuchsia。Fuchsia 工具链要求在以下位置提供 jiri: 您的PATH

  • 获取 scripts/fx-env.sh 文件的源代码。

    虽然这不是必须的, fx-env.sh 脚本支持 有用的 shell 函数。例如,它创建了 FUCHSIA_DIR 环境变量并提供 fd 命令,以用于 使用自动补全功能浏览目录。(有关详情,请参阅 fx-env.sh 中的注释。)

如需更新 shell 配置文件以配置 Fuchsia 的环境变量,请执行以下操作: 执行以下操作:

  1. 使用文本编辑器打开 ~/.bash_profile 文件(在下面的示例中, 我们使用 Nano 文本编辑器):

    nano ~/.bash_profile
    
  2. 将以下代码行添加到 ~/.bash_profile 文件中:

    export PATH=~/fuchsia/.jiri_root/bin:$PATH
    source ~/fuchsia/scripts/fx-env.sh
    
  3. 保存文件并退出文本编辑器。

  4. 如需更新环境变量,请运行以下命令:

    source ~/.bash_profile
    
  5. 验证您能否在 fuchsia 目录中没有任何错误:

    jiri help
    
    fx help
    

5. 配置防火墙规则(可选)

运行以下命令以允许主机上特定于 Fuchsia 的流量:

fx setup-ufw

此脚本要求 sudo(要求您提供密码)设置适当的 防火墙规则(如需详细了解此脚本,请参阅 setup-ufw。)

后续步骤

如需构建您的第一个 Fuchsia 系统映像,请参阅 配置和构建 Fuchsia

附录

身份验证错误

如果您在引导过程中看到 Invalid authentication credentials 错误 您的 ~/.gitcookies 文件可能包含来自 引导脚本要匿名签出的 googlesource.com

如需解决此错误,请执行以下操作之一:

  • 按照屏幕上的说明获取指定的密码。 代码库
  • .gitcookies 文件中删除违规 Cookie。

无需更新 PATH,即可处理 Fuchsia

以下部分提供了 设置环境变量部分:

将该工具复制到您的二进制目录

如果您不想更新环境变量,但希望 jiri 在任何目录中工作,请将 jiri 工具复制到您的 ~/bin 目录, 示例:

cp ~/fuchsia/.jiri_root/bin/jiri ~/bin

不过,您必须对没有 sudo~/bin 目录拥有写入权限。如果 否则 jiri 无法保持最新状态。

同样,如果您想使用 fx 工具而不更新环境 变量,请在 ~/bin 目录中提供 fx 工具的符号链接,以获取 示例:

ln -s ~/fuchsia/scripts/fx ~/bin

或者,也可以直接使用 fx 工具的路径来运行该工具,例如:

./scripts/fx help

无论是哪种情况,您的 PATH 中都需要 jiri