Repository navigation
hi3519v101 family, hi3536cv100: the split NOR image - #2672
Conversation
hi3519v101 and hi3516av200's kernel configs turn on MTD_SPLIT_FIRMWARE (named "firmware"), MTD_SPLIT_UIMAGE_FW, MTD_SPLIT_SQUASHFS_ROOT and MTD_ROOTFS_ROOT_DEV; their kernel (OpenIPC/linux hisilicon-hi3519v101) finds the layout from its device tree since OpenIPC/linux#145, their U-Boot scans it since OpenIPC/u-boot#63. hi3519v101_lite, hi3516av200_lite and hi3516av200_ultimate use post-image-split.sh with BR2_OPENIPC_NOR_FIXED_PACKAGE=y. Tested in qemu-hisilicon (hi3519v101, 8 MB) with hi3519v101_lite (uImage 1810K, squashfs 4928K, firmware.bin 6784K): split boot under the new and the published U-Boot, root on 31:4, login, the overlay kept; the fixed-slot package on 31:3; U-Boot recovery over TFTP from fixed slots and from a damaged kernel, byte-identical on flash. Not run on hardware.
hi3536cv100's kernel config turns on MTD_SPLIT_FIRMWARE (named "firmware"), MTD_SPLIT_UIMAGE_FW, MTD_SPLIT_SQUASHFS_ROOT and MTD_ROOTFS_ROOT_DEV; its kernel finds the layout from its device tree since OpenIPC/linux#146, its U-Boot scans it since OpenIPC/u-boot#63. hi3536cv100_lite uses post-image-split.sh with BR2_OPENIPC_NOR_FIXED_PACKAGE=y. Tested in qemu-hisilicon (hi3536cv100, 8 MB) with hi3536cv100_lite (uImage 1673K, squashfs 2560K, firmware.bin 4288K): split boot under the new and the published U-Boot, root on 31:4, login, the overlay kept; the fixed-slot package on 31:3; a damaged kernel is sent to recovery. The recovery download is not shown: U-Boot's gmac takes a data abort on the first TFTP packet in qemu-hisilicon, with the published U-Boot too. Not run on hardware.
PR Summary by QodoEnable split NOR images for hi3519v101 and hi3536cv100 families
AI Description
Diagram
High-Level Assessment
Files changed (7)
|
Code Review by Qodo
1. Split images lack camera validation
|
They ship the split package beside the fixed-slot one since OpenIPC/firmware#2672, on OpenIPC/linux#145 and #146 and OpenIPC/u-boot#63. sysupgrade -k -r takes the split package on them, and they go back to fixed slots the same way. Checked in qemu-hisilicon (hi3519v101 and hi3536cv100, 8 MB). Not run on hardware.
The two 3.18 families on the split NOR layout. Each ships its fixed-slot package as before, plus
-split(post-image-split.sh,BR2_OPENIPC_NOR_FIXED_PACKAGE=y). Each kernel config turns onMTD_SPLIT_FIRMWARE(namedfirmware),MTD_SPLIT_UIMAGE_FW,MTD_SPLIT_SQUASHFS_ROOTandMTD_ROOTFS_ROOT_DEV.hi3519v101_lite,hi3516av200_lite,hi3516av200_ultimatehi3536cv100_liteTested in qemu-hisilicon (8 MB) with each family's lite build:
root=/dev/mtdblock3 ignored, 31:4The hi3536cv100 download fails because U-Boot's gmac takes a data abort on the first TFTP packet in qemu-hisilicon. The published U-Boot fails the same way. hi3516av200 shares the kernel and DTS change but wasn't booted. Not run on hardware.