RK3588 SD启动卡系统备份

Armin
2025-05-23 / 0 评论 / 2 阅读 / 正在检测是否收录...

一、制作rootfs.img和userdata.img映像文件

 1.ubuntu虚拟机进入 rk3588_linux_release_v1.2.1/output/firmware/ 目录。

 2.插上准备备份的SD卡,并查看需要备份的 rootfsuserdata 分区的大小。

 3.使用如下命令,创建img映像文件。

   dd if=/dev/zero of=rootfs.img bs=1M count=1600
   dd if=/dev/zero of=userdata.img bs=1M count=5
count=1600是因为rootfs的大小是860M,设置两倍大小足够保存所有文件,userdata同理。

 4.设置文件系统,添加LABEL。

    mkfs.ext4 -L rootfs rootfs.img
    mkfs.ext4 -L userdata userdata.img

 5.创建目录,将刚刚创建的 rootfs.imguserdata.img 映像文件挂载到新建的目录。

    mkdir rootfs
    mkdir userdata
    sudo mount rootfs.img rootfs
    sudo mount userdata.img userdata

 6.拷贝SD卡rootfs和userdata分区的所有文件到刚刚创建的rootfs和userdata目录中去。

    sudo cp -a /media/admin123/rootfs/* rootfs/
    sudo cp -a /media/admin123/userdata/* userdata/

 7.取消挂载,删除文件夹。

    sudo umount rootfs
    sudo umount userdata
    sudo rm -r rootfs
    sudo rm -r userdata

二、其他映像文件的制作

 1. uboot.img
  在 rk3588_linux_release_v1.2.1/ 目录下运行

./build.sh uboot

  即可在 rk3588_linux_release_v1.2.1/output/firmware/ 生成(软链接形式,实际文件不在该目录,不影响使用)。
 2. boot.img
  在 rk3588_linux_release_v1.2.1/ 目录下运行

./build.sh kernel

  即可在 rk3588_linux_release_v1.2.1/output/firmware/ 生成(软链接形式,实际文件不在该目录,不影响使用)。
 3. MiniLoaderAll.bin
  在 rk3588_linux_release_v1.2.1/ 目录下运行命令

./build.sh uboot

  即可生成,该文件的内容是 TPL+SPL
  运行以上编译脚本时,最终生成的MiniLoaderAll.bin是从SDK中预编译好的文件直接拷贝后改了个名字得到的。
  如果想要使用自己修改的,以修改spl文件为例:
  修改 rk3588_linux_release_v1.2.1/u-boot/arch/arm/mach-rockchip/spl.c 文件后,运行以下命令编译一次。

./build.sh uboot

  编译的spl文件保存在 rk3588_linux_release_v1.2.1/u-boot/spl/u-boot-spl.bin,将预编译的spl原文件备份一下

mv rkbin/bin/rk35/rk3588_spl_v1.12.bin rkbin/bin/rk35/bak_rk3588_spl_v1.12.bin

  然后运行以下命令将预编译的spl文件替换为刚刚编译的spl文件。

cp u-boot/spl/u-boot-spl.bin rkbin/bin/rk35/rk3588_spl_v1.12.bin

  再次运行 ./build.sh uboot ,生成的 MiniLoaderAll.bin 即为修改后的。
 4. oem.img、misc.img、parameter.txt
  在 rk3588_linux_release_v1.2.1/ 目录下运行以下命令即可编译生成。

./build.sh firmware

 5. recovery.img
  使用官方工具, RKDevTool.3.15 ->高级功能->固件->选择“创龙TL3588_SDK\4-软件资料\Linux\Makesdboot\v2.2\update.img”文件->点击解包。在 RKDevTool.3.15 根目录下会生成一个 Output 文件夹,其中 Output\Android\Image 目录里有update.img包含的所有映像文件,选择拷贝即可。


三、打包所有映像文件

 1.修改 rk3588_linux_release_v1.2.1/device/rockchip/rk3588/rk3588-package-file 文件,该文件是打包选项。
 2.由于是完整包,因此可以包含所有的选项, # 号是注释,代表取消该选项,打包所有映像文件的示例如下。

    # NAME    PATH
    package-file    package-file
    parameter    parameter.txt
    bootloader    MiniLoaderAll.bin
    uboot    uboot.img
    misc    misc.img
    boot    boot.img
    #backup    RESERVED
    rootfs    rootfs.img
    recovery    recovery.img
    oem    oem.img
    userdata    userdata.img

 3.update.img :在 rk3588_linux_release_v1.2.1/ 目录下运行以下命令,将所有文件打包生成update.img。

./build.sh updateimg

四、批量制作SD卡

 1.连接:使用读卡器将SD卡与PC连接。
 2.清理磁盘:使用官方软件工具 SD_Firmware_Tool_1.74 (其他版本应该也可以),点击恢复磁盘,将SD卡格式化。
 3.创建:SD_Firmware_Tool_1.74->选择磁盘设备->勾选SD启动->选择第三节生成的update.img->开始创建。
 4.等待创建完成即可。

如果不放在板卡上启动一次,userdata分区的空间大小是userdata.img的大小,上电启动一次后会自动扩展。
0

评论 (0)

取消