正点原子 RK3562 Android14 Ubuntu 编译 SDK 环境准备:依赖、repo 与 Swap 配置一次搞定

在进行 Android、Linux SDK 或嵌入式 BSP 编译前,Ubuntu 主机环境是否完整,会直接影响后续源码同步和工程编译。本文整理了基础依赖安装、repo 工具配置以及 Swap 容量扩展三个步骤,适合在新搭建编译服务器或虚拟机环境时参考使用。

正点原子RK3562J开发板瑞芯微Linux开发板ARM工业控制AI人工智能

RK3562 Android14 Ubuntu 编译 SDK 环境准备:依赖、repo 与 Swap 配置一次搞定

一、安装基础依赖软件包

在开始源码同步和编译前,建议先更新 Ubuntu 软件源,并安装编译过程中常用的基础工具链、库文件以及设备树相关工具。

执行以下命令:

bash 复制代码
sudo apt-get update

然后安装常用依赖:

bash 复制代码
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib \
g++-multilib libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev \
libxml2-utils xsltproc unzip python-pyelftools python3-pyelftools device-tree-compiler libfdt-dev \
libfdt1 libssl-dev liblz4-tool python-dev libncurses5 make

部分内核或 BSP 编译过程中,还可能会用到 libelf-dev 和 dwarves,建议一并安装:

bash 复制代码
sudo apt-get install libelf-dev
sudo apt-get install dwarves

其中,libelf-dev 常用于内核相关工具编译,dwarves 则常用于 BTF、调试信息等相关功能生成。如果缺失,后续编译内核时可能会出现依赖报错。

二、安装 repo 工具

很多 Android SDK 或大型嵌入式 Linux SDK 都采用 repo 管理多仓库源码,所以需要先安装 repo 工具。

创建本地工具目录:

bash 复制代码
mkdir ~/bin

将该目录加入环境变量:

bash 复制代码
export PATH=~/bin:$PATH

然后从清华源下载 repo:

bash 复制代码
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo

添加可执行权限:

bash 复制代码
chmod a+x ~/bin/repo

配置完成后,可以执行下面命令确认 repo 是否可用:

bash 复制代码
repo --version

如果能够正常输出版本信息,说明 repo 工具已经安装完成。

三、增加 Swap 容量

大型工程编译时,对内存要求比较高。如果主机内存较小,容易在编译过程中出现进程被杀、链接失败、内存不足等问题。

为了提高编译稳定性,可以额外增加一个 8GB 的 Swap 文件。

创建 Swap 文件:

bash 复制代码
sudo fallocate -l 8G /swapfile2

设置文件权限:

bash 复制代码
sudo chmod 600 /swapfile2

格式化为 Swap:

bash 复制代码
sudo mkswap /swapfile2

启用 Swap:

bash 复制代码
sudo swapon /swapfile2

启用后,可以通过以下命令查看当前 Swap 状态:

bash 复制代码
free -h

或者:

bash 复制代码
swapon --show

如果能看到 /swapfile2,说明新的 Swap 已经生效。

相关推荐
光电的一只菜鸡1 小时前
ubuntu之坑(二十)——VMware虚拟机系统无法正常进入如何处理
linux·运维·ubuntu
青 春 记 忆2 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
Java王小怪3 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐3 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
宵时待雨4 小时前
linux笔记归纳17:传输层协议UDP
linux·笔记·udp
晓晓_za8986685 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
SCandL1525 小时前
k8s service
linux·容器·kubernetes
云计算DevOps-韩老师5 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
DBA大董6 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀6 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器