一、制作rootfs.img和userdata.img映像文件
1.ubuntu虚拟机进入 rk3588_linux_release_v1.2.1/output/firmware/ 目录。
2.插上准备备份的SD卡,并查看需要备份的 rootfs、userdata 分区的大小。
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.img
和 userdata.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)