RK3568制作SD启动镜像说明

由于rk3568 spl镜像特殊,故采取非常手段进行。

一、制作SD卡启动升级:
第一步:使用ubuntu系统(需要安装parted工具),准备容量8G/8G以上的TF卡。
第二步:使用rk3568_update_tools.sh制作SD启动系统并自动升级,具体如下指令:
sudo ./rk3568_update_tools.sh /out/tmp /dev/sdb 
或 sudo ./rk3568_update_tools.sh Sieyuan-Develop-20220123183354.tar.gz /dev/sdb

------------------------------------------------------------------------------------------------
二、制作NOR FLASH的spl说明:
第一步:擦除NOR FLASH,命令: ./rkflash.sh erase;
第二步:烧录spl镜像到NOR FLAH上;
第三步:从SD卡启动,进入系统后;
第四步:通过hexdump获取spl的范围信息。
登陆secadm用户,将selinux关闭,然后再进去sysadm用户,获取NOR FLAH的spl的固件信息;
hexdump -C /dev/mtdblock1 > spl.log
00000000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
* 
00010000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00028000  52 4b 4e 53 00 00 00 00  80 01 02 00 01 00 00 00  |RKNS............|
00028010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00028070  00 00 00 00 00 00 00 00  04 00 74 00 ff ff ff ff  |..........t.....|
*
-----
000ca7a0  63 72 6f 76 6f 6c 74 00  6c 69 6e 75 78 2c 63 6f  |crovolt.linux,co|
000ca7b0  64 65 00 70 72 65 73 73  2d 74 68 72 65 73 68 6f  |de.press-thresho|
000ca7c0  6c 64 2d 6d 69 63 72 6f  76 6f 6c 74 00 00 00 00  |ld-microvolt....|
000ca7d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000e0000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
02000000
通过上面的信息可以确定NOR FLASH spl的启始位置:00028000(16进制)=163840(10进制)
大小为:000ca7d0-00028000=A27D0(16进制)=665552(10进制)

如何确定是/dev/mtdblock1为NOR FLSAH节点:
rk3568:~# fdisk -l  ---NOR FLSAH为32Mb
Disk /dev/mtdblock1: 32 MiB, 33554432 bytes, 65536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

第五步:通过dd命令,从/dev/mtdblock1节点导出spl镜像。
dd if=/dev/mtdblock1 of=/nor-flash-spl.bin  bs=1 skip=163840 count=665552

第六步:再通过hexdump导出spl镜像信息,是否与/dev/mtdblock1一致
hexdump -C /nor-flash-spl.bin > spl1.log

第七步:通过对比是一致的。导出NOR FLASH spl镜像的固件信息。

-----------------------------------------------------------------------------------------------
三、制作EMMC的spl说明:步骤与NOR FLASH一样。
第一步:擦除EMMC,命令: ./rkflash.sh erase;
第二步:烧录spl镜像到emmc上;
第三步:从SD卡启动,进入系统后;
第四步:通过hexdump获取emmc spl的范围信息。
登陆secadm用户,将selinux关闭,然后再进去sysadm用户,获取emmc的spl的固件信息;
hexdump -C /dev/mmcblk0 > spl.log

0000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
* 
00008000  52 4b 4e 53 00 00 00 00  80 01 02 00 01 00 00 00  |RKNS............|
00008010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00008070  00 00 00 00 00 00 00 00  04 00 74 00 ff ff ff ff  |..........t.....|
---
002527b0  64 65 00 70 72 65 73 73  2d 74 68 72 65 73 68 6f  |de.press-thresho|
002527c0  6c 64 2d 6d 69 63 72 6f  76 6f 6c 74 00 00 00 00  |ld-microvolt....|
002527d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
1d2000000


通过上面的信息可以确定emmc spl的启始位置:00008000(16进制)=32768(10进制)
大小为:002527d0-00008000=24A7D0(16进制)=2402256(10进制)

rk3568:~# fdisk -l  ---EMMC
Disk /dev/mmcblk0: 7.29 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


第五步:通过dd命令,从/dev/mmcblk0节点导出spl镜像。
dd if=/dev/mmcblk0 of=/sd-emmc-spl.bin bs=1 skip=32768 count=2402256

第六步:再通过hexdump导出spl镜像信息,是否与/dev/mmcblk0一致
hexdump -C /sd-emmc-spl.bin > spl1.log

第七步:通过对比是一致的。导出emmc spl镜像的固件信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值