2. 开发环境搭建(上):Linux开发机准备
说实话,RK平台开发的第一步,不是写代码,而是搭环境。我见过太多新手,一上来就急着敲命令,结果因为环境没配好,折腾一整天。嗯,咱们稳一点,先把窝搭舒服了。
本章核心目标:在 Windows 或 Mac 上,用虚拟机装好 Ubuntu 20.04/22.04,装完基础软件包,配好国内源。整个过程大概 30 分钟,一杯咖啡的功夫。
2.1 为什么选 Ubuntu 20.04/22.04?
你可能要问,为什么非得用 Ubuntu?CentOS 不行吗?Deepin 呢?
我个人习惯用 Ubuntu LTS 版本。原因很简单:RK 官方的 SDK 和工具链,几乎都是在 Ubuntu 上验证的。你用别的发行版,可能会遇到各种奇奇怪怪的依赖问题。我在项目中就见过有人用 Arch Linux 编译 RK 内核,结果因为 glibc 版本不匹配,折腾了两天。
| 发行版 | 推荐度 | 原因 |
|---|---|---|
| Ubuntu 20.04 LTS | ⭐⭐⭐⭐⭐ | 最稳定,RK 官方推荐,软件包兼容性好 |
| Ubuntu 22.04 LTS | ⭐⭐⭐⭐ | 新一些,Python 默认 3.10,部分旧 SDK 需适配 |
| CentOS / Rocky Linux | ⭐⭐ | 包管理不同,repo 工具需要额外安装 |
| Deepin / 其他国产 | ⭐ | 不推荐,遇到问题社区资料少 |
我的建议:新手直接上 Ubuntu 20.04。别问为什么,问就是「我帮你踩过坑了」。等你熟练了,再考虑升级到 22.04 或者换别的发行版。
2.2 虚拟机安装 Ubuntu
你现在的电脑大概率是 Windows 或 Mac。咱们需要在里面「套」一个 Linux 环境。有两种主流方案:
- VMware Workstation Pro —— 功能强,但收费(有个人免费版)
- VirtualBox —— 开源免费,够用
我个人偏向 VMware,因为它的显卡加速和 USB 转发更稳定。但如果你不想折腾授权,VirtualBox 完全够用。
安装步骤(以 VMware + Ubuntu 20.04 为例)
- 下载 Ubuntu 20.04 LTS 镜像
去清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/
选ubuntu-20.04.6-desktop-amd64.iso,大概 4.5GB。 - 创建虚拟机
新建虚拟机 → 典型 → 选择下载的 ISO 文件 → 设置用户名密码 → 分配资源。 - 资源分配建议
| 硬件 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU 核心数 | 2 核 | 4 核 |
| 内存 | 4 GB | 8 GB |
| 磁盘 | 40 GB | 100 GB(RK SDK 动辄几十 GB) |
| 网络 | NAT | 桥接(方便调试) |
⚠️ 注意:磁盘空间千万别省!RK 的 SDK 拉下来就有 20-30GB,加上编译中间文件,轻松破 50GB。我曾经因为磁盘不够,编译到一半报错,气得想砸电脑。
2.3 基础软件包安装
装完系统第一件事,不是敲代码,而是装工具。你想想看,没有 git 你怎么拉代码?没有 vim 你怎么改配置?
打开终端(快捷键 Ctrl+Alt+T),先更新包列表:
sudo apt update
sudo apt upgrade -y
然后安装核心软件包:
sudo apt install -y \
git \
repo \
openssh-server \
vim \
build-essential \
curl \
wget \
net-tools \
python3 \
python3-pip
一个一个说:
- git —— 版本管理,没有它你没法干活
- repo —— Google 开发的 git 仓库管理工具,RK SDK 全靠它拉取
- openssh-server —— 远程登录用,方便你从 Windows 连过来
- vim —— 终端编辑器,改配置必备
- build-essential —— 编译工具链,gcc、g++、make 都在里面
- curl / wget —— 下载工具,你总会用到的
- net-tools —— ifconfig 等网络工具
- python3 / python3-pip —— 很多脚本依赖 Python
小技巧:装完 ssh 后,记得启动服务:sudo systemctl start ssh。然后你就可以用 Windows 上的 MobaXterm 或者 VS Code Remote 连过来操作了,不用在虚拟机里敲命令。
2.4 配置国内软件源
这一步非常关键。默认的 Ubuntu 源在国外,下载速度可能只有几十 KB/s。你想想看,装个 build-essential 都要等半小时,谁受得了?
我个人习惯用清华源。速度稳定,同步也及时。
更换 apt 源
备份原文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑 sources.list:
sudo vim /etc/apt/sources.list
把内容替换成以下(Ubuntu 20.04 版本):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
如果你是 Ubuntu 22.04,把 focal 换成 jammy。
保存退出,然后更新:
sudo apt update
看到下载速度从几十 KB/s 变成几 MB/s,你就知道值了。
配置 pip 源(Python 包管理器)
创建或编辑 ~/.pip/pip.conf:
mkdir -p ~/.pip
vim ~/.pip/pip.conf
写入:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
配置 git 代理(可选)
如果你在公司内网,或者访问 GitHub 比较慢,可以配一下:
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
端口号根据你的代理工具来。我个人用 Clash,默认 7890。
验证环境:装完以上所有步骤后,在终端依次执行以下命令,确认输出正常:
git --version
repo version
ssh -V
vim --version
gcc --version
python3 --version
如果每个命令都能看到版本号,恭喜你,开发机准备好了!
2.5 避坑指南
最后分享几个我踩过的坑:
- 磁盘空间不够:我一开始只给了 40GB,结果编译到一半报错。后来扩到 100GB 才消停。建议你一步到位。
- 没配源就装包:第一次装 Ubuntu,傻乎乎地直接
apt install,等了 20 分钟才装完 build-essential。配完源后,30 秒搞定。 - 虚拟机网络选 NAT:如果你需要从宿主机连到虚拟机(比如用 adb 调试),记得把网络改成桥接模式。NAT 模式下,宿主机访问虚拟机比较麻烦。
- 忘记装 ssh:装完系统后,我习惯先装 ssh,然后远程操作。不然在虚拟机里复制粘贴命令,真的很痛苦。
嗯,环境搭好了,咱们就可以开始真正的 RK 开发之旅了。