1. 准备工作:获取Firefly RK3399 Android 10固件
第一次接触Firefly RK3399开发板的朋友可能会被各种固件版本和下载方式搞得一头雾水。我刚开始用这块板子时也踩过不少坑,今天就把完整的下载和校验流程分享给大家。首先需要明确的是,Firefly官方提供了两种获取Android 10系统的方式:一种是直接下载编译好的镜像文件(Image),另一种是下载源码自行编译。对于大多数开发者来说,直接使用官方镜像会更省事。
官方资源通常存放在百度网盘,这里有个小技巧:建议先安装百度网盘客户端再下载,浏览器直接下载大文件容易中断。我上次用浏览器下了3个小时结果网络波动导致前功尽弃,血的教训啊!下载时需要特别注意,Android 10的固件被分成了多个压缩包(一般5个分卷),必须全部下载完整才能正常解压。每个压缩包大约4GB左右,所以请确保你的网盘有足够空间。
2. 完整性校验:避免无效下载的关键步骤
下载大文件最怕的就是数据损坏,我就遇到过好几次下载完才发现MD5不匹配的情况。Firefly官方很贴心地提供了每个分卷的MD5校验值,这个步骤千万不能省!在Linux下可以用md5sum命令,Windows用户可以用certutil -hashfile命令来校验。
这里分享一个我常用的校验脚本(保存为check_md5.sh):
#!/bin/bash echo "fb41fcdc48b1cf90ecac4a5bb8fafc7a Firefly-RK3399_Android10.0_git_20211222.7z.001" > md5sum.txt echo "82d665fb54fb41245d9317312e7b7578 Firefly-RK3399_Android10.0_git_20211222.7z.002" >> md5sum.txt echo "0dd40827976200a6fb61623c9e87fe7c Firefly-RK3399_Android10.0_git_20211222.7z.003" >> md5sum.txt echo "32324c3afe615394ee4cdf842c53ea8d Firefly-RK3399_Android10.0_git_20211222.7z.004" >> md5sum.txt echo "9b1656ae07b4fe9ddf7d9ef2dfa2f95a Firefly-RK3399_Android10.0_git_20211222.7z.005" >> md5sum.txt md5sum -c md5sum.txt如果校验失败,通常是以下原因:
- 下载过程中网络中断导致文件不完整
- 使用了第三方下载工具导致数据错误
- 存储设备存在坏块
3. 解压与目录准备
所有分卷校验通过后,就可以解压了。这里有个细节要注意:必须从第一个分卷(.7z.001)开始解压,7z会自动识别后续分卷。我推荐使用以下命令:
mkdir -p ~/proj/rk3399_Android10.0 7z x Firefly-RK3399_Android10.0_git_20211222.7z.001 -o~/proj/rk3399_Android10.0解压完成后会得到一个完整的Android源码目录,大小约80GB(所以确保磁盘空间足够)。进入目录后建议先执行git reset --hard同步代码状态,避免后续编译出现问题。
4. 编译Android系统(可选)
如果你想定制系统,就需要自己编译。编译前请确保已经安装所有依赖:
sudo apt-get install -y git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip编译命令如下(根据你的CPU核心数调整-j参数):
./FFTools/make.sh -d rk3399-roc-pc-plus -j8 -l rk3399_roc_pc_plus-userdebug ./FFTools/mkupdate/mkupdate.sh -l rk3399_roc_pc_plus-userdebug编译过程可能需要2-3小时(取决于电脑配置),我第一次编译时因为内存不足失败了,建议至少16GB内存。编译成功后会在rockdev/Image-rk3399_roc_pc_plus/目录下生成镜像文件。
5. 烧录固件到开发板
烧录前需要准备:
- 双公头USB线(Type-C)
- 开发板电源适配器
- Windows电脑需要安装RK驱动
驱动安装有个坑要注意:必须先卸载旧驱动再安装新驱动!很多烧录失败都是驱动冲突导致的。进入Loader模式有两种方法:
- 硬件方式:按住RECOVERY键上电
- 软件方式:
adb reboot loader
使用RKDevTool选择镜像文件时,建议勾选"Loader"模式下的"擦除Flash"选项,这样可以避免旧固件残留导致的问题。烧录过程大约需要5分钟,完成后开发板会自动重启。
6. 系统验证与调试
第一次启动会比较慢(Android正在初始化),耐心等待3-5分钟。启动后可以通过以下命令检查版本:
adb shell getprop ro.build.version.release推荐安装scrcpy工具来镜像显示屏幕:
scrcpy -m 1920 --bit-rate 2M --max-fps 30测试蓝牙/WiFi等基础功能是否正常,如果遇到问题可以尝试重新烧录或检查硬件连接。我在使用过程中发现HDMI输出有时会不稳定,后来更换高质量的HDMI线解决了问题。