We recommend start 1st partition from 32768 block
sfdisk --dump /dev/mmcblk0 | grep -e first -e start= first-lba: 32768 /dev/mmcblk0p1 : start= 32768,
UEFI bootloader for Edge2 can be fixed/updated via OOWOW Online Scripts
Problems was solved: solution, after we can start EFI loader and boot up next system
eMMC storage From 16384 to 32768 block must be reserved for boot-loader
OOWOW SPL loader can't find FIT-image at 0x4000 sector eMMC | SD
U-Boot SPL board init U-Boot SPL 2017.09 (May 12 2023 - 11:40:17) Failed to set cpub01 Failed to set cpub23 I2c2 speed: 100000Hz MCU: boot mode 0x20: 1, flag 0x92: 3 MCU: boot flag < 83 board_boot_order: /chosen found, using spl_boot_device() !!! same-as-spl: +++ /mmc@fe2e0000: !!! /mmc@fe2c0000: !!! /mmc@fe2e0000: !!! /spi@fe2b0000/flash@1: Trying to boot from MMC1 :: 0 Trying fit image at 0x4000 sector Not fit magic ...
Write FIT image to eMMC or SD 0x4000 sector
EFI=edge2_UEFI_Release_v0.7.1.img wget https://github.com/edk2-porting/edk2-rk3588/releases/download/v0.7.1/$EFI DISK=${DISK:-/dev/mmcblk0} dd skip=2048 seek=$((0x4000)) count=$((0x4000)) of=$DISK if=$EFI conv=fsync,notrunc
For example 1st write https://dl.khadas.com/.test/edge2_UEFI_Release_3676af4b.img to USB flash, start OOWOW going into shell…
dd if=/dev/sda skip=2048 count=$((0x4000)) seek=$((0x4000)) of=/dev/mmcblk0
or just using oowow with Internet, start OOWOW going into shell…
root@edge2-00000:/# curl -jkL \
https://dl.khadas.com/.test/edge2_UEFI_Release_3676af4b.img \
-r$((2048*512))-$(((2048+3440)*512)) | dd seek=$((0x4000)) of=$(mmc_disk)
root@edge2-00000:/# dd if=/dev/mmcblk0 skip=$((0x4000)) count=1 2>/dev/null \
| hexdump -C | grep "00000080 49 6d 61"
root@edge2-00000:/# dd if=/dev/mmcblk0 skip=$((0x4000)) count=1 | hexdump -C
1+0 records in
1+0 records out
512 bytes copied, 0.000668208 s, 766 kB/s
00000000 d0 0d fe ed 00 00 08 b3 00 00 00 38 00 00 07 e8 |...........8....|
00000010 00 00 00 28 00 00 00 11 00 00 00 10 00 00 00 00 |...(............|
00000020 00 00 00 cb 00 00 07 b0 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 |................|
00000040 00 00 00 03 00 00 00 04 00 00 00 a7 00 00 00 00 |................|
00000050 00 00 00 03 00 00 00 04 00 00 00 9d 00 1a da 57 |...............W|
00000060 00 00 00 03 00 00 00 04 00 00 00 93 64 5d 13 d5 |............d]..|
00000070 00 00 00 03 00 00 00 1f 00 00 00 00 46 49 54 20 |............FIT |
00000080 49 6d 61 67 65 20 77 69 74 68 20 41 54 46 2f 4f |Image with ATF/O|
00000090 50 2d 54 45 45 2f 55 45 46 49 00 00 00 00 00 03 |P-TEE/UEFI......|
000000a0 00 00 00 04 00 00 00 0c 00 00 00 01 00 00 00 01 |................|
000000b0 69 6d 61 67 65 73 00 00 00 00 00 01 75 62 6f 6f |images......uboo|
000000c0 74 00 00 00 00 00 00 03 00 00 00 04 00 00 00 c1 |t...............|
000000d0 00 10 00 00 00 00 00 03 00 00 00 04 00 00 00 b5 |................|
000000e0 00 00 00 00 00 00 00 03 00 00 00 05 00 00 00 00 |................|
000000f0 55 45 46 49 00 00 00 00 00 00 00 03 00 00 00 0b |UEFI............|
00000100 00 00 00 20 73 74 61 6e 64 61 6c 6f 6e 65 00 00 |... standalone..|
00000110 00 00 00 03 00 00 00 06 00 00 00 25 61 72 6d 36 |...........%arm6|
00000120 34 00 00 00 00 00 00 03 00 00 00 07 00 00 00 2a |4..............*|
00000130 55 2d 42 6f 6f 74 00 00 00 00 00 03 00 00 00 05 |U-Boot..........|
00000140 00 00 00 2d 6e 6f 6e 65 00 00 00 00 00 00 00 03 |...-none........|
00000150 00 00 00 04 00 00 00 39 00 20 00 00 00 00 00 01 |.......9. ......|
00000160 68 61 73 68 00 00 00 00 00 00 00 03 00 00 00 20 |hash........... |
00000170 00 00 00 af 43 5a 62 74 4c df d5 01 33 2d 58 d0 |....CZbtL...3-X.|
00000180 28 fe b1 37 45 eb 6c e5 84 f6 e9 f6 ca 69 77 af |(..7E.l......iw.|
00000190 5f 8b c8 a5 00 00 00 03 00 00 00 07 00 00 00 3e |_..............>|
000001a0 73 68 61 32 35 36 00 00 00 00 00 02 00 00 00 02 |sha256..........|
000001b0 00 00 00 01 61 74 66 2d 31 00 00 00 00 00 00 03 |....atf-1.......|
000001c0 00 00 00 04 00 00 00 c1 00 02 f7 64 00 00 00 03 |...........d....|
000001d0 00 00 00 04 00 00 00 b5 00 10 00 00 00 00 00 03 |................|
000001e0 00 00 00 15 00 00 00 00 41 52 4d 20 54 72 75 73 |........ARM Trus|
000001f0 74 65 64 20 46 69 72 6d 77 61 72 65 00 00 00 00 |ted Firmware....|
00000200
Trying to boot from MMC1 :: 1 Trying fit image at 0x4000 sector ## Verified-boot: 0 ## Checking atf-1 0x00040000 ... sha256(909ea14106...) + OK ## Checking uboot 0x00200000 ... sha256(435a62744c...) + OK ## Checking fdt 0x00300000 ... sha256(c07f4a4d71...) + OK ## Checking atf-2 0x000f0000 ... sha256(6a970ae6b4...) + OK ## Checking atf-3 0xff100000 ... sha256(3ea8cf0d7e...) + OK ## Checking optee 0x08400000 ... sha256(fde0860845...) + OK Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000) Total: 126.537 ms ... UEFI firmware (version 3676af4b built at 16:11:00 on May 11 2023) ...
~$ sfdisk --dump /dev/sda
label: gpt
label-id: 73987B6B-4974-4C94-A3E8-58AB2EB7A946
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 31116254
/dev/sda1 : start= 2048, size= 16384, type=F808D051-1602-4DCD-9452-F9637FEFC49A, uuid=B750E44E-833F-4A30-C38C-B117241D84D4, name="uboot"
~$ ./edge2-uefi-extract RK3588_NOR_FLASH_REL.img
/dts-v1/;
version = <0x00>;
totalsize = <0x5afc0b>;
timestamp = <0x64ebea49>;
description = "FIT Image with ATF/OP-TEE/UEFI";
#address-cells = <0x01>;
SIZE: 0x5afc0b == 5962763 : 11646 == 5962774
LAST: 7274496(14208 - 0x3780) < 7274496 < 0x6F0000
# dd skip=2048 count=11646 of=edge2-uefi-bootloader.img if=RK3588_NOR_FLASH_REL.img conv=fsync,notrunc
/ {
images {
uboot {
data-size = <0x500000>;
data-offset = <0x00>;
atf-1 {
data-size = <0x3084c>;
data-offset = <0x500000>;
atf-2 {
data-size = <0x6000>;
data-offset = <0x530a00>;
atf-3 {
data-size = <0x6000>;
data-offset = <0x536a00>;
optee {
data-size = <0x70998>;
data-offset = <0x53ca00>;
fdt {
data-size = <0x1e95>;
data-offset = <0x5ad400>;
nvdata {
data-position = <0x6c0000>;
data-size = <0x30000>;
configurations {
loadables = "uboot\0atf-2\0atf-3\0optee\0nvdata";
005afb70 67 2d 69 6f 2d 77 69 64 74 68 00 64 6d 61 73 00 |g-io-width.dmas.|
005afb80 23 69 6f 2d 63 68 61 6e 6e 65 6c 2d 63 65 6c 6c |#io-channel-cell|
005afb90 73 00 67 70 69 6f 2d 63 6f 6e 74 72 6f 6c 6c 65 |s.gpio-controlle|
005afba0 72 00 23 67 70 69 6f 2d 63 65 6c 6c 73 00 67 70 |r.#gpio-cells.gp|
005afbb0 69 6f 2d 72 61 6e 67 65 73 00 69 6e 74 65 72 72 |io-ranges.interr|
005afbc0 75 70 74 2d 63 6f 6e 74 72 6f 6c 6c 65 72 00 23 |upt-controller.#|
005afbd0 69 6e 74 65 72 72 75 70 74 2d 63 65 6c 6c 73 00 |interrupt-cells.|
005afbe0 62 69 61 73 2d 70 75 6c 6c 2d 75 70 00 62 69 61 |bias-pull-up.bia|
005afbf0 73 2d 64 69 73 61 62 6c 65 00 64 72 69 76 65 2d |s-disable.drive-|
005afc00
1f206fece22135a50e929aff52105782 edge2-uefi-bootloader.img
edge2-uefi-bootloader.img: Device Tree Blob version 17, size=2413, boot CPU=0, string block size=217, DT structure block size=2140