fuchsia编译记录

本文主要参考自 https://fuchsia-china.com/guide-of-fuchsia-os-compilation/zh-cn/

我的开发环境是manjaro,基于archlinux,所以一些命令与ubuntu不同。

关于下载代码的相关说明

1. 由于fuchsia托管在google,所以下载很麻烦。开始使用electron-ssr作为http代理,但是这个软件经常会弹出提示框然后打断网络。因此建议使用cow做socks转http,可以比较稳定下载。

2. 由于使用了python2所以需要对/usr/bin/python的符号链接进行替换,指向python2

3. 由于脚本限制,代理服务器需要写成http://127.0.0.1:7777的形式,不然在python简本中会报错

4. 有时候出现ERROR: Project integration(integration) contains uncommited changes 可以删除那个文件夹然后重新执行jiri update 然后你会发现还报这个错误(我没找到解决方法。。。)

5. 截至目前(2019.3.4)fuchsia源码大小20G

下载后各目录大小

开始编译

编译很快,链接超级慢,不知道为什么连接时候根本没有并发,cpu基本空载,内存貌似没上过8,保险起见建议小于16g内存用户开启swap

编译开始

如果使用固态编译应该会快不少,由于硬盘都存电影了,只能找了个闲置笔记本硬盘还是usb3连接的,速度比较慢,从netdata可以看到明显的io等待,不过没办法,还有种子要下(手动滑稽),估计连接也是卡在io上了,于是电脑慢慢编译,我去睡觉了,明早再看结果把。

emmm,临睡觉前编译完了:)完了今天不能睡觉了

[feilong@feilong-dev fuchsia]$ time ./scripts/fx full-build
ninja: Entering directory `/mnt/fuchsia/fuchsia/out/build-zircon'
[13573/13573] STAMP obj/manifest-x64.stamp
ninja: Entering directory `/mnt/fuchsia/fuchsia/out/x64'
[1/1] Regenerating ninja files
[9326/9326] STAMP obj/build/gn/default.stamp

real    132m37.180s
user    186m42.420s
sys     15m26.925s

编译了好久

运行

我内存也比较多,所以也4g扔出去:)

后来看了下运行代码,默认2g,推荐-k 参数,启用kvm

留下评论