[PATCH 1/1] drivers: add memory disk support

Tom Rini trini at konsulko.com
Wed Apr 20 15:37:38 CEST 2022


On Wed, Apr 20, 2022 at 08:48:28AM +0200, Heinrich Schuchardt wrote:
> 
> 
> On 4/20/22 01:01, Tom Rini wrote:
> > 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 at 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 at 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?
> 
> Yes, it is like appending an initrd to a kernel.

I'm not super comfortable with that concept, and want to see the use
case spelled out a lot more.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20220420/28dde164/attachment.sig>


More information about the U-Boot mailing list