“模板:RKExportPackFirmware”的版本间的差异
来自ARM Wiki
Sunxiaolin(讨论 | 贡献) (→在Linux下使用烧录工具upgrade_tool) |
Sunxiaolin(讨论 | 贡献) (→在Windows下打包完整固件) |
||
第11行: | 第11行: | ||
5. U盘中的rootfs.img即为根文件系统分区镜像 | 5. U盘中的rootfs.img即为根文件系统分区镜像 | ||
− | === | + | ===在Windows电脑主机上制作完整固件=== |
− | + | 1. 解包完整固件update.img | |
− | + | * 将下载的烧录包解压到当前文件夹,进入tools目录,将烧录工具windows.zip解压到当前文件夹,进入windows\RKDevTool\rockdev目录,双击执行nc-unpack.bat解包脚本,等待解包完成后各分区镜像保存在Output\Image目录中 | |
+ | [[文件:Screenshot_from_2023-02-01_13-45-54.png|800px]]<br /> | ||
− | + | 2. 替换根文件系统分区镜像rootfs.img | |
− | * | + | * 将导出的根文件系统分区镜像rootfs.img拷贝替换到Output\Image目录中 |
− | [[文件: | + | [[文件:Screenshot_from_2023-02-01_13-50-33.png|800px]]<br /> |
− | + | ||
− | * | + | 3. 打包完整固件update.img |
− | + | * 双击执行nc-pack.bat打包脚本,等待打包完成后完整固件update.img保存在Output目录中 | |
− | + | [[文件:Screenshot_from_2023-02-01_13-56-02.png|800px]]<br /> | |
− | [[文件: | ||
===在Windows下烧录固件=== | ===在Windows下烧录固件=== |
2023年2月1日 (三) 14:46的版本
目录
导出主板上的根文件系统分区镜像rootfs.img
1. 将U盘的第一个分区格式化成ext4格式
2. 在U盘的第一个分区根目录下创建export_rootfs文件
3. 将U盘插到主板上,重新给主板上电
4. 等待rootfs.img自动导出,此时系统会进入recovery模式,不会进入正常系统界面。导出完成后,系统会自动重启进入正常系统界面
5. U盘中的rootfs.img即为根文件系统分区镜像
在Windows电脑主机上制作完整固件
1. 解包完整固件update.img
- 将下载的烧录包解压到当前文件夹,进入tools目录,将烧录工具windows.zip解压到当前文件夹,进入windows\RKDevTool\rockdev目录,双击执行nc-unpack.bat解包脚本,等待解包完成后各分区镜像保存在Output\Image目录中
2. 替换根文件系统分区镜像rootfs.img
- 将导出的根文件系统分区镜像rootfs.img拷贝替换到Output\Image目录中
3. 打包完整固件update.img
- 双击执行nc-pack.bat打包脚本,等待打包完成后完整固件update.img保存在Output目录中
在Windows下烧录固件
烧录工具RKDevTool.exe可用于升级固件和解包固件。
- 将烧录、解包、打包工具windows.zip解压到当前文件夹
- 解压DriverAssitant_v*.zip驱动并进行安装
- 双击执行RKDevTool.exe烧录工具程序
- 给主板上电,让主板进入正常工作模式,主板设备会被识别成一个ADB设备
- 点击切换按钮,主板会自动重启进入烧录模式,主板会被识别成一个LOADER设备
- 在驱动安装好并连接好USB烧录线连接后,也可以通过在主板的系统终端下执行如下命令,让主板直接进入烧录模式
reboot loader
烧录完整固件
- 点击“升级固件” --> 点击“固件”并选中完整固件update.img --> 点击“升级”
升级完成后,设备自动重启进入正常模式,烧录后第一次启动时间会比较长。
单独烧录部分分区镜像
在设备处于loader模式下,点击“设备分区表”可以看到设备的分区信息。如果之前没有修改过设备的分区表,那么获取的到分区信息与烧录工具的默认配置信息是一致的。烧录时不必修改分区地址。
- 烧录内核分区镜像boot.img步骤:只勾选boot一栏,指定boot.img所在路径,点击“执行”即可
在Linux下打包完整固件
unpack.sh用于将完整固件解包成各个分区镜像;打包工具脚本mkupdate.sh用于将各分区镜像打包成一个完整的固件。
- 将烧录、解包、打包工具linux.tar.gz解压到当前目录
tar xvf linux.tar.gz
- 解包update.img
cd linux/Linux_Pack_Firmware/rockdev
ln -sfr ../../../../update.img update.img
./unpack.sh
- 根据需要替换指定分区镜像,比如替换根文件系统分区镜像output/Image/rootfs.img
- 进行必要的移动拷贝,使用初始固件的分区参数、各分区镜像、打包配置文件
mv output/parameter.txt output/Image/
mv output/MiniLoaderAll.bin output/Image/
mv output/package-file .
ln -sfr output/Image/ Image
- 根据芯片平台执行对应的打包脚本,完成后完整固件update.img保存在当前目录
./rk3399-mkupdate.sh
在Linux下烧录固件
烧录工具upgrade_tool可用于升级固件。
- 连接好USB烧录线连接后,在主板的系统终端下执行如下命令,让主板进入烧录模式
reboot loader
- 将烧录、解包、打包工具linux.tar.gz解压到当前目录,并进行简单设置
tar xvf linux.tar.gz
cd linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool && chmod a+x upgrade_tool && sudo cp upgrade_tool /usr/local/bin
mkdir ~/.config/upgrade_tool/
cp config.ini ~/.config/upgrade_tool/
- 烧录完整固件及各分区镜像的命令
sudo upgrade_tool uf update.img
# 烧录完整固件
sudo upgrade_tool di -p parameter.txt
# 烧录分区参数
sudo upgrade_tool di -uboot uboot.img
# 烧录uboot分区镜像
sudo upgrade_tool di -b boot.img
# 烧录内核分区镜像
sudo upgrade_tool di -rootfs rootfs.img
# 烧录根文件系统分区镜像rootfs.img
sudo upgrade_tool di -r recovery.img
# 烧录recovery镜像
sudo upgrade_tool di -userdata userdata.img
# 烧录userdata分区镜像