3.1 不废话,先说总结
3.1.1 编译环境
-
说明:本文仅记录问题和解决方案,实际教程请直接参考对应的官方文档
-
注意:新手一定要直接和教程使用一模一样的编译环境,否则就是一路各种反复出错反复折腾,当然,大佬可以无视
-
编译使用的系统:ubuntu18.04
本人最开始使用的是ubuntu22,编译buildroot就一路出错,后面直接重装系统到ubuntu18.04,按教程,轻松编译通过buildroot -
存放sdk的文件系统:ext4
本人电脑原本安装的win10,为了编译,装了双系统,然后挂载windows的ntfs文件系统的盘到ubuntu下,在编译debian的时候出错,最后找到原因,是qemu的文件系统需要不同的权限,而ntfs文件系统挂载到ubuntu下之后,权限完全固定,无法修改,root权限也无法撼动分毫
使用ntfs挂载到ubuntu下,在解压sdk文件时也会出错,同样是权限问题,使用root权限解压可以解决 -
硬盘空间:需求特别大,必须预留足够多的空间
linux不带repo的sdk,编译debian完成,不带sdk压缩包,大概需要50G的空间,sdk压缩包14G
linux带repo的sdk,编译debian完成,不带sdk压缩包,大概需要70G的空间,sdk压缩包16G
安卓带repo的sdk,编译完成后,不带sdk压缩包,大概需要200G的空间,sdk压缩包43G注意:sdk的压缩包可以存放于任意位置,但是用于编译的sdk文件夹必须放在ext4文件系统上
-
电脑配置:据说安卓需要最少16g的内存,编译linux要求不高
本人电脑为神舟的游戏本,16g内存,i7-7700HQ的CPU,实际首次编译时间为5小时29分,个人感觉还是挺快的
电脑内存不超过16g不建议开虚拟机用于编译,一方面能够分配的内存少,另一方面性能会有损失
3.2 资料收集
3.2.1 泰山派官方教程
- 不带repo的linux系统sdk编译:【Linux】系统SDK编译
- 带repo的linux和Android11系统sdk编译:二、SDK编译
3.2.2 相关工具
- 修改文件夹权限:linux修改文件夹下所有文件的权限(常用)
- zerotier:可以实现内网穿透,远程连接编译用的电脑,随时查看编译情况,具体教程自己搜索
- samba:将sdk的文件共享到windows系统上,可以方便使用vscode查看和编辑,具体安装教程自己找,实际会出现windows找不到linux的samba主机的问题,安装一个wsdd就好了
参考:解决 Linux samba 主机不能被windows 10 发现的问题 - tmux:用于将编译放入后台,不至于ssh断开编译就自动停止
教程:Ubuntu下tmux的安装和使用