下载代码
代码下载,官网提供的方式
运行脚本
curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
- 创建fuchsia目录
- 下载代码管理工具jiri
和二进制包管理工具
cipd - 引入jiri项目, 自动运行
jiri update
下载源码
会非常慢,除非你的代理非常快,更好的办法是从国内的镜像仓库中下载代码
国内镜像下载的方法
下载 cipd jiri 工具
mkdir fuchsia && cd fuchsia
curl --location --create-dirs --output .jiri_root/bin/cipd https://fuchsia.fsf.org.cn/bootstrap/cipd-linux-amd64
curl --location --create-dirs --output .jiri_root/bin/jiri https://fuchsia.fsf.org.cn/bootstrap/jiri-linux-amd64
chmod +x .jiri_root/bin/jiri .jiri_root/bin/jiri
export PATH=${PATH}:${PWD}/.jiri_root/bin
下载代码
方案一
mkdir -p build && echo "internal_access = false" >build/cipd.gni
jiri init -keep-git-hooks=true
jiri import -name=integration flower https://fuchsia.fsf.org.cn/git/fuchsia-integration
jiri update -v
echo "have_firmware = false" >zircon/prebuilt/config.gni
方案二
manifest 文件自行从 https://fuchsia.fsf.org.cn/ma... 选择,一个月以内的文件确保有效。
mkdir -p build && echo "internal_access = false" >build/cipd.gni
jiri init -keep-git-hooks=true
curl --location --output .jiri_manifest https://fuchsia.fsf.org.cn/manifest/fuchsia-20060102.xml
jiri update -v
echo "have_firmware = false" >zircon/prebuilt/config.gni
切换国内镜像
先删除相关文件
rm -rf integration jiri .jiri_manifest .jiri_root
下载 cipd jiri 工具并使用国内镜像,参见上面的教程。
恢复官方仓库
rm -rf integration jiri .jiri_manifest .jiri_root
curl -s https://fuchsia.googlesource.com/jiri/+/master/scripts/bootstrap_jiri?format=TEXT | base64 --decode | bash -s ${PWD}
jiri init -keep-git-hooks=true
jiri import -name=integration flower https://fuchsia.googlesource.com/integration
jiri update -v
遇到的问题
国内镜像下载某些模块代码的时候回报404的错误,重试很多次都不行,解决办法就是通过国内镜像下载大部分的代码,然后删除jiri,再通过google官网下载jiri更新代码.
准备环境
Linux
sudo apt-get install build-essential curl git python unzip
macOS
xcode-select --install
- 自己使用的ubuntu20.04的版本,之前使用macOS在编译的过错中总会报各自诡异的语法错误,想尝试修改,始终不行,最后就放弃,怀疑有一段时间的版本问题.
编译
fx set workstation.x64 --with //bundles:tests
//build设置为运行于x64平台的workstation产品,且将测试程序包也一同进行了编译。
fx build //编译
xy@xy-NUC8i5BEH:fx list-boards
arm64
as370
c18
chromebook-x64
cleo
*
kirin970
msm8998
msm8x53-som
mt8167s_ref
qemu-arm64
qemu-x64
toulouse
vim2
vim3
vs680
x64
x64-reduced-perf-variation
xy@xy-NUC8i5BEH:fx list-products //查看支持的产品
bringup //最小系统,用于底层功能的调试,比如zicron kernel和板级driver的配置
core //除bringup之外,新增一些系统服务,包含网络功能、OTA升级等
terminal //包含简单的图形界面和shell terminal
workstation //通用的开发环境,包含high level feature和UI
大概编译1,2个小时
运行
fx emu -N
fx emu --headless//禁用图形界面
//图形节目显示会有一些问题,google查了以下也每找到解决的办法,暂时先就这样了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。