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

相关推荐
IT曙光27 分钟前
ubuntu apt-get离线源制作
linux·ubuntu
其实防守也摸鱼43 分钟前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚1 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
Darkwanderor2 小时前
对Linux的进程控制的研究
linux·运维·c++
bksczm5 小时前
linux之线程概念和控制
linux·开发语言·c++
爱网络爱Linux5 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
hehelm5 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
MindUp5 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
持力行6 小时前
D-BUS会话总线
运维·网络
ICECREAM6 小时前
环形队列设计——基于共享内存的高效进程间通信
linux