Skip to content

About Prebuilt Image

Yuekai Jia edited this page Jul 3, 2020 · 5 revisions

1. 下载 Fuchsia 源码

下载并解压后整个目录大小约 28 GB。

2. 配置

选择目标平台 x64 或 arm64,并包含 zircon core tests、microbenchmarks 和 hypervisor test:

./scripts/fx set bringup.x64 --with-base //garnet/packages/tests:zircon --with //src/tests/microbenchmarks --with //src/virtualization/tests:hypervisor_tests_pkg

为了让原 Fuchsia 镜像适用于 zCore,需要修改某些文件,对于 Lib OS 和 bare-metal 分别参见:

3. 构建

./scripts/fx build

构建完后整个目录大小约 44 GB。

4. 后续操作

生成的各 prebuilt 镜像所在目录分别为:(以 x64 为例)

  • userboot.so: out/default.zircon/userboot-x64-clang/obj/kernel/lib/userabi/userboot/userboot.so
  • libzircon.so: out/default.zircon/user.vdso-x64-clang.shlib/obj/system/ulib/zircon/libzircon.so.debug
  • bringup.zbi: out/default/bringup.zbi
  • core-tests.zbi: out/default/obj/zircon/system/utest/core/core-tests.zbi

此外,需要将 zbi 文件中的 kernel 和 cmdline 部分移除:

./out/default.zircon/tools/zbi -x bringup.zbi -D bootfs
./out/default.zircon/tools/zbi bootfs -o bringup.zbi

最后,将它们拷贝到 zCore/prebuilt/zircon/x64 目录即可。

5. 一键脚本

我们提供了一键脚本,可以自动进行上述操作。当您取得 Fuchsia 源码后:

  1. 复制 gen-prebuilt.shzircon-libos.patchzcore.patch 到 fuchsia 目录

  2. 根据目标平台,运行

    ./gen-prebuilt.sh [x64|arm64]
  3. 待脚本运行完毕,生成的 prebuilt 镜像会位于 zcore_prebuilt 目录,同时包含了 Lib OS 和 bare-metal 所需的镜像和库。

Clone this wiki locally