正点原子 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 已经生效。

相关推荐
沫璃染墨9 小时前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
工作10年+,存储芯片行业9 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
wuminyu9 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
快乐の番薯9 小时前
卷王问卷考试系统自动化功能测试
运维·功能测试·自动化
她说彩礼65万10 小时前
C语言 堆区和栈区
java·linux·c语言
一号弯10 小时前
装完LINUX,请先新建日常用户
linux·运维·服务器
驭渊的小故事10 小时前
linux 基础命令 + git 仓库创建和配置命令
linux·git
ShineWinsu11 小时前
对于Redis:主从复制的解析
linux·数据库·c++·redis·缓存·面试·主从复制
Lsetea11 小时前
OpenSSL verify报unable to get issuer certificate:error 2与partial_chain排查
linux·https·ssl证书·openssl·证书链
许彰午11 小时前
03-Linux环境准备依赖包内核参数与用户组
linux·运维·服务器·数据库