本指南介绍了如何下载 Fuchsia 源代码并在您的机器上设置 Fuchsia 开发环境。
具体步骤如下:
1. 安装必备软件包
Fuchsia 要求 curl、file、unzip 和 git 保持最新状态。git 的版本需要为 2.31 或更高版本。
如需安装或更新这些软件包,请运行以下命令:
sudo apt install curl file git unzip(可选)如果您想运行 Fuchsia 模拟器 (FEMU),请考虑在继续执行下一部分之前完成以下额外步骤:
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 preflight3. 下载 Fuchsia 源代码
Fuchsia 引导脚本会创建一个名为 fuchsia 的目录并下载 Fuchsia 源代码。
下载 Fuchsia 源代码需要大约 2 GB 的机器空间。根据您的 build 配置,您稍后在 build Fuchsia 时还需要 80 到 90 GB 的空间。此外,下载过程会占用大量内存。建议在此期间关闭非关键进程。
如需下载 Fuchsia 源代码,请执行以下操作:
选择一个用于下载 Fuchsia 源代码的目录,例如:
cd $HOME运行引导脚本:
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 小时。(下载 CIPD 软件包时,-hook-timeout值会乘以 5。)
4. 设置环境变量
如需在 shell 配置文件中配置推荐的 Fuchsia 环境变量,请执行以下操作:
使用文本编辑器打开
~/.bash_profile文件(在下面的示例中,我们使用的是 Nano 文本编辑器):nano ~/.bash_profile将以下代码行添加到
~/.bash_profile文件中:export PATH=~/fuchsia/.jiri_root/bin:$PATH source ~/fuchsia/scripts/fx-env.sh保存文件并退出文本编辑器。
更新环境变量:
source ~/.bash_profile
如需验证环境设置,请执行以下操作:
前往
fuchsia目录,例如:cd ~/fuchsia验证您是否可以无错误地运行以下命令:
jiri helpfx help
5. 配置防火墙规则(可选)
如需允许宿主机上的 Fuchsia 特定流量,请运行以下命令:
fx setup-ufw此脚本需要 sudo(会要求您输入密码)来设置相应的防火墙规则。如需详细了解此脚本,请参阅 setup-ufw。
后续步骤
如需构建您的第一个 Fuchsia 系统映像,请参阅配置和构建 Fuchsia。
附录
身份验证错误
如果您在引导过程中看到 Invalid authentication credentials 错误,则可能是因为您的 ~/.gitcookies 文件包含 googlesource.com 中某些代码库的 Cookie,而引导脚本想要匿名签出这些代码库。
如需解决此错误,请执行以下操作之一:
- 按照屏幕上的说明操作,获取指定代码库的密码。
- 从
.gitcookies文件中删除违规 Cookie。
在 Fuchsia 上工作,无需更新 PATH
以下各部分提供了设置环境变量部分中介绍的方法的替代方法:
将该工具复制到二进制目录
如果您不想更新环境变量,但希望 jiri 在任何目录中都能正常运行,请将 jiri 工具复制到 ~/bin 目录,例如:
cp ~/fuchsia/.jiri_root/bin/jiri ~/bin不过,您必须拥有对 ~/bin 目录的写入权限,但不能有 sudo。如果不这样做,jiri 将无法保持最新状态。
向二进制文件目录添加符号链接
同样,如果您想使用 fx 工具而不更新环境变量,请在 ~/bin 目录中提供 fx 工具的符号链接,例如:
ln -s ~/fuchsia/scripts/fx ~/bin或者,直接使用 fx 工具的路径运行该工具,例如:
./scripts/fx help无论哪种情况,您都需要在 PATH 中添加 jiri。
启用 KVM 加速
(仅限 Linux)大多数 Linux 计算机通过 KVM 支持虚拟机加速,这可大幅提升模拟器的性能和易用性。
如果您的机器上提供 KVM,请将自己添加到 kvm 群组:
sudo usermod -a -G kvm ${USER}若要让此更改生效,您可能需要退出并重新登录。
配置模拟器网络
(仅限 Linux)如需允许 Fuchsia 模拟器 (FEMU) 访问网络,您可以使用 TUN/TAP 配置 IPv6 网络。
如需使用 tap 网络启用网络,请执行以下操作:
设置
tuntap:sudo ip tuntap add dev qemu mode tap user $USER为
qemu启用网络:sudo ip link set qemu up