RK3399烧写Android固件
环境
- Platform: RK3399
- OS: Android7.1.2
- Kernel: v4.4.103
- Host:Ubuntu16.04 X64
这里只讨论在Linux环境下的烧写
烧写工具安装及问题
官方upgrade_tool
安装
下载并解压,并拷贝到系统文件夹,并赋予执行权限。SDK的工具目录下也有。
unzip Linux_Upgrade_Tool_xxxx.zip
cd Linux_UpgradeTool_xxxx
sudo mv upgrade_tool /usr/local/bin
sudo chown root:root /usr/local/bin/upgrade_tool
sudo chmod a+x /usr/local/bin/upgrade_tool
- 遇到的问题:
upgrade_tool: error while loading shared libraries: libudev.so.1: cannot open shared object file: No such file or directory
sudo apt-get install libudev-dev:i386
ADB工具安装
- 安装
sudo apt-get install android-tools-adb
- 添加设备标识(Rockchip vendor ID)
mkdir -p ~/.android vi ~/.android/adb_usb.ini # 添加以下一行 0x2207
- 加入 udev 规则
sudo vi /etc/udev/rules.d/51-android.rules # 添加以下一行: SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"
- 重新插拔 USB 线,或运行以下命令,让 udev 规则生效:
sudo udevadm control --reload-rules sudo udevadm trigger
- 重新启动 adb 服务器
问题:sudo adb kill-server adb start-server
Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google’s original fastboot code. So every fastboot command have to use “-i” parameter to specify vid to fastboot.
To list all the Rockchip devices attached to your USB port in fastboot mode.
烧写模式
Loader 模式
在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。
进入Loader 模式的2种方式:
- 按住RECOVERY(恢复)键上电启动,且 USB 处于连接状态
- adb模式下,运行
adb reboot bootloader
,进入下载模式MaskRom 模式
进不了bootloader时使用,主要是Loader损坏或出厂时
烧写
使用upgrade_tool
烧写
# 擦除flash
sudo upgrade_tool ef update.img
#烧写统一固件 update.img:(使用较多)
sudo upgrade_tool uf update.img
#烧写分区镜像:
sudo upgrade_tool di -b /path/to/boot.img
sudo upgrade_tool di -k /path/to/kernel.img
sudo upgrade_tool di -s /path/to/system.img
sudo upgrade_tool di -r /path/to/recovery.img
#misc负责启动模式切换和急救模式的参数传递
sudo upgrade_tool di -m /path/to/misc.img
#resource.img内含开机图片和内核的设备树信息
sudo upgrade_tool di resource /path/to/resource.img
#烧写 parameter
sudo upgrade_tool di -p parameter.txt
#烧写 bootloader
sudo upgrade_tool ul bootloader.bin
#烧写 trust, 其中含有ATF以及休眠唤醒相关的文件
sudo upgrade_tool di trust /path/to/trust.img
fastboot
使用
#进入fastboot
adb reboot fastboot
#查看设备
fastboot -i 0x2207 devices
#临时从指定固件启动内核
fastboot -i 0x2207 boot xxx
#fastboot进入下载模式
fastboot reboot-bootloader
#unlock设备
#先执行
fastboot -i 0x2207 oem unlock
#然后在5s内执行
fastboot -i 0x2207 oem unlock_accept
参考
评论