-
Notifications
You must be signed in to change notification settings - Fork 211
About Prebuilt Image
Yuekai Jia edited this page Jul 3, 2020
·
5 revisions
- 官方下载方式:https://fuchsia.dev/docs/development/source_code/README
- 国内服务器(使用
cipd
,jiri
):https://fuchsia-china.com/cipd-jiri-china-server/ - 社区源码包(不定期更新):https://mirrors.sirung.org/fuchsia/source-code/
下载并解压后整个目录大小约 28 GB。
选择目标平台 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 分别参见:
./scripts/fx build
构建完后整个目录大小约 44 GB。
生成的各 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 目录即可。
我们提供了一键脚本,可以自动进行上述操作。当您取得 Fuchsia 源码后:
-
复制 gen-prebuilt.sh、zircon-libos.patch、zcore.patch 到 fuchsia 目录
-
根据目标平台,运行
./gen-prebuilt.sh [x64|arm64]
-
待脚本运行完毕,生成的 prebuilt 镜像会位于 zcore_prebuilt 目录,同时包含了 Lib OS 和 bare-metal 所需的镜像和库。