如何在Linux中烧录镜像
烧录镜像使用了专门的烧录工具,对于 RK3566的烧录工具就是 upgrade_tool 。
获取烧录镜像的工具:
打开下载链接
在这个链接中,找到: Linux_Upgrade_Tool 这个文件夹,下载这个文件夹中的 ./upgrade_tool 文件。
由于这个工具不需要安装就需要指定路径进行运行就可以了.但是这个工具需要root权限才能运行,所以这里需要使用sudo命令来运行这个工具。那最好的办法就是将这个工具安装在系统的 /usr/bin 目录下,这样就可以在任何目录下使用sudo upgrade_tool运行这个工具了。
获取烧录镜像的手册:
1.添加至运行路径 /usr/bin/upgrade_tool
由于升级镜像需要root权限,所以需要添加到运行路径中。
bash
sudo ln -s /home/lujin/MCU/泰山派开发板/tools-main/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/upgrade_tool /usr/bin/upgrade_tool运行一下: sudo upgrade_tool 给出提示信息,就说明添加成功了。
下面的命令,就可以在任何目录下执行了。不用每次都输入命令的完整路径了.
注意:将程序添加至PATH路径下,对于普通用户执行是没有问题的,但是如果使用sudo执行,可能会出现权限问题,所以这里建议直接使用绝对路径执行命令. 这是由于sudo执行时,并不会继承PATH环境变量.
2.查看升级设备
bash
sudo upgrade_tool ld3.烧录完整镜像
bash
sudo upgrade_tool uf update.img./upgrade_tool uf /home/lujin/MCU/泰山派开发板/【SDK】Linux/sdk/rockdev/update.img 出现这个错误提示:
Creating Comm Object failed!
需要在前面加上 "sudo",提升为root权限再执行.
4.烧录最小引导代码
这一步是分镜像烧录的第一步,不可省略,否则会导致无法进入系统.
bash
sudo upgrade_tool UL MiniLoaderAll.bin5.烧录分区镜像
bash
//先烧录一下分区表
sudo upgrade_tool di -p parameter.txt
//烧录内核镜像
sudo upgrade_tool di -k kernel.img
//烧录二级引导程序
sudo upgrade_tool di -u uboot.img
//烧录系统启动映像
sudo upgrade_tool di -b boot.img
//烧录根文件系统镜像
sudo upgrade_tool di -rootfs rootfs.ext2
//烧录未定义缩写的分区镜像,需要用分区名来指定,这里以vendor分区为例
sudo upgrade_tool di -vendor vendor.img6.参数说明:
| 参数 | 代表的分区 | 说明 |
|---|---|---|
| -p | parameter | 分区表文件。它定义了每个分区的名称、起始地址和大小,是后续烧录其他镜像的基础。 |
| -b | boot | 系统启动映像。通常包含初始内存磁盘(ramdisk),负责初始化和加载主系统分区。 |
| -k | kernel | 操作系统内核映像(如 Linux kernel)。 |
| -s | system | 在 Android 系统中,此参数代表 Android 的 system 分区映像。 |
| -r | recovery | 恢复模式映像。用于系统恢复、清除数据或刷入更新包。 |
| -m | misc | 杂项分区。负责启动模式切换和急救模式下的参数传递。 |
| -u | uboot | 二级引导程序(U-Boot)映像。它是系统启动过程中,在 MiniLoader 之后运行的主要引导加载程序。 |
| -recovery | recovery | recovery 分区的另一种完整写法。 |
| -rootfs | rootfs | 根文件系统映像。包含操作系统运行所需的文件结构和关键软件。 |
| -oem | oem | 厂商定制分区。通常包含设备制造商(OEM)的特定应用或数据。 |
