Fuchsia编译与真机安装
代码下载:
参照官方文档即可:https://fuchsia.dev/fuchsia-src/development/source_code
curl -s "https://fuchsia.googlesource.com/fuchsia/+/master/scripts/bootstrap?format=TEXT" | base64 --decode | bash
下载时间大概在一两个小时。下载完成后,先配置好jiri命令环境变量:
PATH=/$(CODE_PATH)/fuchsia/.jiri_root/bin:$PATH
后续可以直接使用jiri更新代码:
jiri update
实际使用过程中发现代码同步/更新时有时会出现以下警告:
[23:58:37.190] Updating all projects
ERROR: 'git fetch -p origin' failed:
stdout:stderr:
fatal: unable to access 'https://dart.googlesource.com/observatory_pub_packages/': gnutls_handshake() failed: The TLS connection was non-properly terminated.command fail error: exit status 128
和设置了代理/网络不稳定有关,多尝试几次。
开始编译,使用的是Intel NUC7真机,选择如下的配置进行编译:
fx set workstation.x64 --with //bundles:kitchen_sink
其中workstation是product类型,x64是平台类型,"--with //bundles:kitchen_sink"则是要一起编译的bundle。
通过fx list-products可以看到支持的产品列表:
官方对各类product的解释: https://fuchsia.dev/fuchsia-src/development/build/fx#key-product-configurations
workstation包含包括UI支持,多媒体在内的高级功能。
fx list-boards可以查看支持的平台类型:
key bundles的分类:https://fuchsia.dev/fuchsia-src/development/build/fx#key-bundles
fx命令的详细用法参考官方文档:https://fuchsia.dev/fuchsia-src/development/build/fx
fx build开始编译,编译大约一到两个小时
编译完成后,可以在虚拟机中运行,也可以选择在真机上运行,按照官方文档,目前对NUC6/7(注意需要是酷睿)、PixelBook支持较好,建议选择这些设备进行真机调试。
官方文档,如何在intel NUC上安装fuchsia:https://fuchsia.dev/fuchsia-src/development/hardware/intel_nuc
安装有两种办法,但无一列外需要先制作Zedboot启动U盘:
制作命令也很简单,将U盘先插入fuchsia编译源码的主机(host):
fx mkzedboot /path/to/usb/disk
其中/path/to/usb/disk是U盘在host上的路径,可以通过以下命令获得:
fx list-usb-disks
输出如下:
/dev/sdc - U3
/dev/sda - USB Flash Disk //通过df命令/手动拔插再次确认此设备为新插入的U盘
Zedboot启动盘制作完成:
把制作好的Zedboot U盘插到要安装fuchsia的设备(target)上, 并且通过在BIOS中选择从USB引导启动,启动进入后是一个蓝屏的命令行界面。
关于Zedboot的详细解释,官方文档:https://fuchsia.dev/fuchsia-src/development/build/fx#what-is-zedboot
/
Zedboot其实就是fuchsia内核Zircon的包装,包含了网络栈,可以用来和编译代码的Host通信已完成安装,还包括分区等必要工具,这和Android上的recovery的组成及扮演的角色是非常相似的。
进入Zedboot后,屏幕上显示:
netsvc start
此时target和host之间已经可以通过网络链接了,通过USB网线转接头+网线连接了编译主机与目标设备NUC。
接下来有两种安装办法
1. fx pave
通过Zedboot在target设备上进行分区,将host上编译好的各个分区的镜像通过网络上传至Zedboot并写入对应分区。这种方法会创建Fuchsia的EFI引导,这样安装完成后的Fuchsia会增加一个启动项(就像平时安装Ubuntu时那样),开机的时候能自动引导进入系统。
进入Zedboot后,通过ALT+TAB进入命令行模式,接下来就可以开始安装Fuchsia镜像了。
擦除分区:
install-disk-image wipe-partition-tables --block-device /path/to/usb/disk
其中/path/to/usb/disk是要安装的目标路径,可以通过lsblk,首次安装时我选择了主硬盘路径,相当于完全擦除其余数据只保留Fuchsia。
初始化分区表:
install-disk-image init-partition-tables --block-device /path/to/usb/disk
此时再lsblk可以看到对应的分区已经分好了。
接下来在host的命令行中输入fx pave,可以看到编译主机在本地创建了一个bootserver本地端口,等待另一端的Zedboot通过网络发起请求,连接成功后编译好的fuchsia会开始传输。
实际pave的过程中在传输镜像的过程中发生过多次网络断开,传输反复重试的情况,多等待几次重试直到成功为止。传输成功后target上的Zedboot会自动启动到Fuchsia。
经测试无法和target硬盘上原有的系统引导共存,这样测试设备在安装Fuchsia无法承担其他工作,相对会造成一定的浪费。
2. fx netboot
netboot的区别是不需要对target上的存储设备分区,每次都通过host直接传输镜像到target内存中,直接通过Zedboot引导启动到Fuchsia。这种方法可以保留target硬盘上的原系统不受影响(如已经安装了的Windows/Ubuntu),设备在不运行Fuchsia时依然可以承担其他工作,缺点是每次进入Fuchsia都需要通过U盘Zedboot引导启动,而pave在安装成功后Fuchsia可以脱离Zedboot直接启动。
同样通过启动U盘将target引导至Zedboot,通过fx netboot直接引导启动,实际一次完整镜像传输1分钟之内就完成了,依然很方便。
Fuchsia编译与真机安装相关推荐
- 真机安装CentOS7
真机安装CentOS-7-x86_64-DVD-1804 使用真实主机安装centos7与安装其他版本有一个最大的不一样的地方就是,系统无法自动识别安装的U盘. 所以需要安装 人员在安装之前确认从哪个 ...
- arch linux安装到手机上,archlinux 的真机安装archlinux+deepin桌面系统(上)
开头 很多人认为Archlinux比较适合稍微了解Linux一点的用户使用,但其实,我没有什么Linux使用经验,也可以拿过来用,就是稍感吃力,这里把自己安装archlinux 的过程发出来. 在安装 ...
- androidstudio Application Installation Failed 真机安装app安装失败提示
今天从新安装了AS 然后真机安装app时出现以下错误提示 Installation failed with message INSTALL_FAILED_UPDATE_INCOMPATIBLE: Pa ...
- Android 源码编译及真机刷机实录
最近接到一个项目,需要接触 Android 源码,所以走了一遍源码编译和刷机的过程,从开始到成功花了差不多一周的时间,踩了很多坑,在此记录一下. 整体分为四个部分: 文章目录 1.环境配置 1.1 创 ...
- 【xposed】真机安装xposed框架给掉坑里了
最近安卓模拟器上高一些东西被限制挺严重的,打算使用真机来做xposed测试,正好有一台旧手机 红米5 plus,在之前Xposed Installer 还可以弄的时候,装过一台红米4,倒是挺简单的,不 ...
- 真机 安装未发布的 iOS11 教程
1.安装 iOS 11的配置文件 链接:https://pan.baidu.com/s/1pLPY9Ub密码: xe6a 注意:要用真机的 Safari 浏览器打开 点击打开 如下图所示 2.点击允许 ...
- 真机安装AKP 遇到的问题
真机内存空间不够了,删除不常用的,腾出足够空间,就安装成功了 导入 其他AS上的gradle项目时,出现的问题,点击Install Repository and sync project 按照提示进 ...
- 解决真机安装的Ubuntu18.04开机慢,关机关不了的问题
第一次上手整真机Ubuntu 18.04,用U盘安装的时候,在勾选上安装显卡以及第三方软件的选项时,下一步就会卡死,一直在等待加载,一开始因为是显卡驱动问题,之后再安装也可以.就没勾上选项安装成功之后 ...
- 借用虚拟机在真机安装 ubuntu, 亦可安装至移动硬盘
说一下另一种硬盘安装的办法,借用虚拟机装在物理硬盘上,比较变态. 0. 适用于机子里已经装了 windows 的朋友安装真正的 Ubuntu ,wubi 不在讨论之列. 1. 下载并安装 vmware ...
最新文章
- windows下安装mysql8.0压缩版
- 耗时 3 天,上亿数据如何做到秒级查询?
- oracle 分组后取每组第一条数据
- phpmyadmin 安装 配置
- HDU-5532Almost Sorted Array LIS问题
- id 怎么获取jira 评论_【JIRA】如何快速地批量查找各迭代的SprintID
- UML2.0详细教程(附示例)
- TranslateAnimation祥解
- Linux用户管理:新建用户组和新建用户
- 龙卷风袭击广东致6死215伤 广州停
- 《指数基金投资从入门到精通》读书笔记
- 服务器有什么类型?应用功能是什么
- 【SNA】社会网络分析二 Gephi 功能详解
- Python字典知识总结
- 【JAVA今法修真】 第四章 redis特性 击穿雪崩
- Excel_文本转数值型
- algorithm——并查集
- 笔记工具:幕布 简要使用教程
- 雨林木风诚聘Linux研发工程师
- 已有123所大学将云创大数据人工智能免费直播课引入课堂!