fuchsia源码环境搭建

fuchsia源码环境搭建

  • 引言
  • 1 获取源码
  • 2 编译源码
  • 3 运行虚拟机

引言

fuchsia是谷歌正在研发的基于内核zircon的微内核系统。

1 获取源码

准备虚拟机中安装Ubuntu 16或以上版本,然后打开ubuntu终端,依次执行:

  • 安装必要工具,执行 sudo apt-get install build-essential curl git python unzip
  • 创建工作目录,执行 mkdir work
  • 进入工作目录,执行 cd work
  • 源码下载,执行 curl -s “https://fuchsia.googlesource.com/fuchsia/+/master/scripts/bootstrap?format=TEXT” | base64 --decode | bash

详情见 https://fuchsia.dev/fuchsia-src/development/source_code

2 编译源码

继续在ubuntu终端,依次执行

  • 进入fuchsia目录,执行 cd fuchsia/
  • 查询产品,执行 ./scripts/fx list-products
  • 查询硬件平台,执行 ./scripts/fx list-boards
  • 进行编译设置,执行 ./scripts/fx set workstation.qemu-arm64 --with="//bundles:kitchen_sink"
  • 编译源码,执行 ./scripts/fx build -j4 2>&1

注1:将文件build/info/gen-latest-commit-date.sh中的内容 --date=unix 改为 --date=iso-strict-local
注2:workstation是产品,qemu-arm64是硬件平台,kitchen_sink编译规模(还有tools和tests)
详情见https://fuchsia.dev/fuchsia-src/getting_started#configure-and-build-fuchsia

3 运行虚拟机

继续在ubuntu终端,依次执行

  • 安装虚拟网卡,执行 sudo ip tuntap add dev qemu mode tap user $USER和sudo ip link set qemu up
  • 设置metrics,执行 ./scripts/fx metrics enable
  • 将文件tools/devshell/lib/fvm.sh中的内容 if [[ “ s t a t o u t p u t " =   S i z e :   ( [ 0 − 9 ] + ) ] ] ; t h e n 改 为 i f [ [ " stat_output" =~ Size:\ ([0-9]+) ]]; then 改为 if [[ " statoutput"= Size: ([09]+)]];thenif[["stat_output” =~ 大小:([0-9]+) ]]; then
  • 虚拟机中运行,执行 ./scripts/fx qemu -N

你可能感兴趣的:(开源解读)