fuchsia是google开发的一款全新操作系统,是一种微内核操作系统。
pink+purple = fuchsia,粉色+紫色= 紫红色,什么东西?有另外一种解释:灯笼海棠。长什么样子?如下:
- 开始fuchsia之前,需要准备好环境,
debian系统需要安装如下:sudo apt-get install build-essential curl git python unzip
获取源码,可根据说明文档获取:development/source_code/README.md
构建fuchsia,参考文档:development/workflows/build_and_pave_quickstart.md
- 构建
如果你已经添加了.jiri_root/bin到path,fx命令就已经可以直接使用了。也可以直接通过scripts/fx使用fx命令。构建 命令如下:
fx set core.x64 --with //bundles:kitchen_sink (选择构建配置,并默认产物在当前out/x64目录下)
fx build (开始构建,增量构建,提示:fx -i build,可以实时监测文件是否被修改,自动触发构建)
fuchsia可以通过网络很快地下载软件包,文档development/build/boards_and_products.md讲述了构建时set选择的参数意义。或者你也可以使用底层构建系统,参考文档development/build/README.md。
- 定制构建环境
默认,你得到的时一个x64的debug构建环境。不过你可以更改这个配置。如下:
fx set workstation.x64 # x64 debug build
fx set core.arm64 # arm64 debug build
fx set core.x64 --release # x64 release build
- 使用ccache和goma加速构建
ccache通过缓存之前构建出来的产物来加速构建。如果环境变量CCACHE_DIR有效,并且对应的文件夹存在,ccache默认使能。
goma是google者专有,通过分发到多台机器编译来加速构建。如果你安装过goma在~/goma,这个也会被默认使用的。当然ccache也可以使用它。
可以通过设置fx的flags来更改fx的构建行为:
--ccache # force use of ccache even if goma is available
--no-ccache # disable use of ccache
--no-goma # disable use of goma
- 启动fuchsia
1、安装并从硬件启动, 要使Fuchsia在硬件上运行,需要使用paver(铺路机,参考文档development/workflows/paving.md)。快速查看基本构建和铺路机的工作流程,参考文档development/workflows/build_and_pave_quickstart.md。
2、从qemu启动,如果你没有可以支持的硬件,也可以在模拟器qemu下运行fuchsia,参考文档/zircon/docs/qemu.md。fuchsia包含了预构建的二进制qemu文件,在目录buildtolls/qemu。
命令fx run会在qemu模拟器里运行zircon,使用本地构建好的硬盘镜像。fx run -h显示一些帮助信息,如下是其中一部分内容:
There are various flags for `fx run` to control QEMU's configuration:
* `-m` sets QEMU's memory size in MB.
* `-g` enables graphics (see below).
* `-N` enables networking (see below).
* `-k` enables KVM acceleration on Linux.
qemu使用提示:`ctrl+a x` 推出qemu,`ctrl+a ?`或者`ctrl+a h` 打印支持的命令。
- 使能图形
qemu对图形的支持是很有限的,因为缺Vulkan