
On Wed, Apr 20, 2022 at 12:20:43AM +0200, Heinrich Schuchardt wrote:
On 4/19/22 23:54, Simon Glass wrote:
Hi Heinrich,
On Tue, 19 Apr 2022 at 15:14, Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
In some scenarios it is desirable to package U-Boot with other files into a single blob. This patch allows to embed a memory disk into the U-Boot binary. This memory disk can be accessed like any other block device as 'mem 0'.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
MAINTAINERS | 6 ++ common/board_r.c | 4 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/block/blk-uclass.c | 2 + drivers/memdisk/Kconfig | 13 ++++ drivers/memdisk/Makefile | 11 +++ drivers/memdisk/memdisk-uclass.c | 22 ++++++ drivers/memdisk/memdisk.c | 128 +++++++++++++++++++++++++++++++ drivers/memdisk/memdisk_file.S | 17 ++++ include/asm-generic/sections.h | 2 + include/blk.h | 1 + include/dm/uclass-id.h | 1 + include/memdisk.h | 28 +++++++ 14 files changed, 238 insertions(+) create mode 100644 drivers/memdisk/Kconfig create mode 100644 drivers/memdisk/Makefile create mode 100644 drivers/memdisk/memdisk-uclass.c create mode 100644 drivers/memdisk/memdisk.c create mode 100644 drivers/memdisk/memdisk_file.S create mode 100644 include/memdisk.h
Can this use binman to create the image and find the memdisk?
binman requires board specific layout information. I cannot see how binman would help for a Kconfig option that can be switched on and off for any board.
binman may provide addresses in the control device-tree which later could be relocated. But this seems to result in a larger image size.
This is something analogous to the initrd/initramfs framework within the Linux kernel, yes?