2. 开发环境搭建(上):Linux开发机准备

说实话,RK平台开发的第一步,不是写代码,而是搭环境。我见过太多新手,一上来就急着敲命令,结果因为环境没配好,折腾一整天。嗯,咱们稳一点,先把窝搭舒服了。

本章核心目标:在 Windows 或 Mac 上,用虚拟机装好 Ubuntu 20.04/22.04,装完基础软件包,配好国内源。整个过程大概 30 分钟,一杯咖啡的功夫。

开发环境搭建(上)知识体系 目标:可用的 Linux 开发机 ① 虚拟机安装 Ubuntu ② 基础软件包安装 ③ 配置国内软件源 虚拟机方案 VMware / VirtualBox Ubuntu 20.04 LTS / 22.04 LTS 基础软件包 git / repo / ssh / vim build-essential / curl 国内源 清华 / 阿里 / 中科大 apt / pip / git 加速 💡 建议:先配源再装包,否则下载慢到怀疑人生 我曾经在没配源的情况下装 build-essential,等了 20 分钟……

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 为例)

  1. 下载 Ubuntu 20.04 LTS 镜像
    去清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/
    选 ubuntu-20.04.6-desktop-amd64.iso,大概 4.5GB。
  2. 创建虚拟机
    新建虚拟机 → 典型 → 选择下载的 ISO 文件 → 设置用户名密码 → 分配资源。
  3. 资源分配建议
硬件 最低配置 推荐配置
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 开发之旅了。