开始Fuchsia

Pink + Purple == Fuchsia (一个新的操作系统)
欢迎来到Fuchsia!本文档有关于你需要的所有有关Fuchsia相关的资料

注意: Fuchsia资源包括平台底层核心Zircon。Fuchsia构建进程会将Zircon作为构建协同进程;要查看Zircon相关内容,请查看Zircon 开始文档

准备工作


准备开发环境(只需一次)

Debian

 sudo apt-get install build-essential curl git python unzip

macOS

1.安装命令行工具

  xcode-select --install

2.除了需要命令行工具,你还需要安装最新版本的Xcode

获取源码

根据获取Fuchsia源码说明获取源码后返回本文档

构建Fuchsia

注意:这里可以快速浏览基本的构建和铺路工作流。

构建

如果你在获取源码的过程中已经把 .jiri_root/bin添加到了path路径里面,fx指令也已经添加到了path里面。如果没有,scripts/fx指令需要添加。

fx set core.x64 --with //bundles:kitchen_sink
fx build

第一个命令选择要构建的构建配置,并在输出目录(例如out/x64)中生成构建系统本身。Fuchsia可以通过网络临时下载软件包;在这里,我们使用 --available标志使本指南中涉及的必要包可供下载。

第二个命令实际执行构建,在构建产品中转换源代码。如果您修改了源代码树,您可以通过单独重新运行fx build命令来执行增量构建。fx - build启动一个监视程序,并在文件被更改时自动生成。

或者,您可以直接使用底层构建系统。

[可选] 自定义构建环境

默认情况下,您将得到一个x64调试构建。你可以跳过这一节,除非你想要别的。
运行fx set 可以查看编译选项列表。例如:

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。

[Googlers only: goma通过在许多机器上分发编译来加速构建。如果在~/goma中安装了goma,默认情况下使用它。默认情况下,它也优先使用ccache。]

若要覆盖默认行为,请将标志传递给fx set:

–ccache # force use of ccache even if goma is available
–no-ccache # disable use of ccache
–no-goma # disable use of goma

Boot Fuchsia

从硬件安装和引导

要让Fuchsia 在硬件上运行,需要使用铺路机(paver),这些说明将帮助您启动和运行。

**注意:**在这里可以快速浏览基本的构建和铺路(build-and-pave)工作流。

Boot from QEMU


如果没有支持的硬件,可以使用QEMU在模拟下运行Fuchsia。在buildtools/ QEMU下,Fuchsia包括为QEMU预构建的二进制文件。

fx run命令将在QEMU中启动Zircon,使用本地构建的磁盘映像:

fx run

有各种各样的标志fx运行控制QEMU的配置:

  • -m sets QEMU’s memory size in MB.
  • -g enables graphics (see below).
  • -N enables networking (see below).
  • -k enables KVM acceleration on Linux.

使用fx run -h查看所有可用选项。

QEMU 技巧

  • ctrl+a x将在文本模式下退出QEMU。
  • ctrl + a ?或ctrl+a h打印所有支持的命令。

使用图形

**注意:**由于缺乏Vulkan支持,QEMU下的图形非常有限。只有Zircon UI渲染。

要启用QEMU下的图形,请将-g标志添加到fx run:

fx run -g

使用网络

首先,为QEMU的使用配置一个虚拟接口。

一旦完成这一步,你可以添加-N和-u标志到fx运行:

fx run -N -u scripts/start-dhcp-server.sh

u标志运行一个脚本,该脚本设置一个本地DHCP服务器和NAT来配置IPv4接口和路由。

浏览Fuchsia

在一个单独的shell中,启动开发更新服务器,如果它还没有运行:

fx serve -v

网络状态下启动Fuchsia。这可以在QEMU中通过-N标志完成,也可以在上面描述的已铺好的硬件上完成。当Fuchsia引导并显示“$”shell提示符时,就可以运行程序了!

例如,要接受深度智能,运行:

fortune

要关闭或重新启动Fuchsia,请使用dm命令:

dm help
dm shutdown

修改一些资源
几乎所有存在于Fuchsia系统中的东西都存储在Fuchsia包中。典型的开发工作流包括重新构建并将Fuchsia包推入开发设备或QEMU虚拟设备。

在示例/rolldice/src/main.rs中更改rolldice二进制文件。

重新构建并将rolldice包推送到运行中的Fuchsia设备,使用:

fx build-push rolldice

从Fuchsia设备上的shell提示符,运行更新后的rolldice组件:

rolldice

选择选项卡

启用图形启动后,Fuchsia显示多个选项卡。当前选中的选项卡在屏幕顶部以黄色突出显示。您可以使用键盘上的Alt-Tab切换到下一个选项卡。

  • 选项卡0是控制台,显示引导和组件日志。
  • 选项卡1、2和3包含shell。
  • 选项卡4及以上包含已启动的组件。

**注意:**要选择制表符,您可能需要进入“控制台模式”。有关详细信息,请参见下一节。

启动图形组件

QEMU不支持Vulkan,因此无法运行我们的图形堆栈。

Fuchsia中的大多数图形组件都使用Scenic系统合成器。你可以启动这些组件,通常可以在/system/apps中找到,如下所示:

lauch spinning_square_view

Scenic 示例应用程序的源代码在这里

当您启动使用Scenic、使用硬件加速图形的东西,或者构建默认包(将引导到Fuchsia系统UI)时,Fuchsia将进入“图形模式”,不会显示任何文本shell。为了使用文本shell,您需要通过按Alt-Escape进入“控制台模式”。在控制台模式下,Alt-Tab将具有上一节描述的行为,再次按Alt-Escape将返回图形化shell。

如果您希望在终端仿真器中使用文本shell,可以从图形化shell中启动术语,方法是选择“Ask Anything”框并键入moterm。

####运行测试


编译后的测试二进制文件像其他组件一样缓存在pkgfs中,并由URI引用。您可以通过在终端中调用它来运行测试。如。

run fuchsia-pkg://fuchsia.com/ledger_tests#meta/ledger_unittests.cmx

如果您想让Fuchsia继续运行,并重新编译和重新运行测试,请在一个终端上运行启用联网的Fuchsia,然后在另一个终端上运行:

fx run-test < test name> [< test args>]

您可能希望仔细阅读测试FAQ

贡献的变化

其它参考文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值