block/vvfat.c | 279 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 213 insertions(+), 66 deletions(-)
The main goal of this series is to introduce a new option "size" within the vvfat backend (patch 5). It allows more control over SD cards' size. The value for "Number of Heads" and "Sectors per track" are based on SD specifications Part 2. This series also includes minor patches: - patch 1 introduces another option to remove the Master Boot Record (this is mandatory for QNX) - patch 2-4 are minor improvements easing the introducing of "size" option This was tested on with a aarch64-linux kernel taken from functional/aarch64/test-virt and on aarch64-qnx over raspi4b with a workaround, not included here (the SD bus must be associated to the EMMC2 port instead of through GPIOs). Clément Chigot (5): vvfat: introduce no-mbr option vvfat: move fat_type check prior to size setup vvfat: add a define for SECTOR_SIZE vvfat: move size parameters within driver structure vvfat: add support for "size" options block/vvfat.c | 279 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 213 insertions(+), 66 deletions(-) -- 2.34.1
On Wed, Sep 03, 2025 at 09:57:16AM +0200, Clément Chigot wrote: > The main goal of this series is to introduce a new option "size" within > the vvfat backend (patch 5). It allows more control over SD cards' size. > The value for "Number of Heads" and "Sectors per track" are based on SD > specifications Part 2. > > This series also includes minor patches: > - patch 1 introduces another option to remove the Master Boot Record > (this is mandatory for QNX) > - patch 2-4 are minor improvements easing the introducing of "size" > option > > This was tested on with a aarch64-linux kernel taken from > functional/aarch64/test-virt and on aarch64-qnx over raspi4b with a > workaround, not included here (the SD bus must be associated to the EMMC2 > port instead of through GPIOs). > > Clément Chigot (5): > vvfat: introduce no-mbr option > vvfat: move fat_type check prior to size setup > vvfat: add a define for SECTOR_SIZE > vvfat: move size parameters within driver structure > vvfat: add support for "size" options > > block/vvfat.c | 279 ++++++++++++++++++++++++++++++++++++++------------ > 1 file changed, 213 insertions(+), 66 deletions(-) (Thanks Markus for bringing this thread up) I just wanted to say that a long time ago I wrote an nbdkit plugin that was intended as a more sane replacement for vfat. Since then several more nbdkit plugins have been added. They support arbitrary sizes already. The first one is the most direct replacement for vvfat (although it doesn't support writes to the backing directory, because that feature is insane). https://libguestfs.org/nbdkit-floppy-plugin.1.html https://libguestfs.org/nbdkit-iso-plugin.1.html https://libguestfs.org/nbdkit-linuxdisk-plugin.1.html https://libguestfs.org/nbdkit-tmpdisk-plugin.1.html Very easy to use from qemu as documented here: https://libguestfs.org/nbdkit-client.1.html#ATTACHING-NBD-DEVICES-TO-A-VIRTUAL-MACHINE Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org
On Wed, Nov 12, 2025 at 1:38 PM Richard W.M. Jones <rjones@redhat.com> wrote: > > On Wed, Sep 03, 2025 at 09:57:16AM +0200, Clément Chigot wrote: > > The main goal of this series is to introduce a new option "size" within > > the vvfat backend (patch 5). It allows more control over SD cards' size. > > The value for "Number of Heads" and "Sectors per track" are based on SD > > specifications Part 2. > > > > This series also includes minor patches: > > - patch 1 introduces another option to remove the Master Boot Record > > (this is mandatory for QNX) > > - patch 2-4 are minor improvements easing the introducing of "size" > > option > > > > This was tested on with a aarch64-linux kernel taken from > > functional/aarch64/test-virt and on aarch64-qnx over raspi4b with a > > workaround, not included here (the SD bus must be associated to the EMMC2 > > port instead of through GPIOs). > > > > Clément Chigot (5): > > vvfat: introduce no-mbr option > > vvfat: move fat_type check prior to size setup > > vvfat: add a define for SECTOR_SIZE > > vvfat: move size parameters within driver structure > > vvfat: add support for "size" options > > > > block/vvfat.c | 279 ++++++++++++++++++++++++++++++++++++++------------ > > 1 file changed, 213 insertions(+), 66 deletions(-) > > (Thanks Markus for bringing this thread up) > > I just wanted to say that a long time ago I wrote an nbdkit plugin > that was intended as a more sane replacement for vfat. Since then > several more nbdkit plugins have been added. They support arbitrary > sizes already. The first one is the most direct replacement for vvfat > (although it doesn't support writes to the backing directory, because > that feature is insane). Thanks for bringing that solution. I'll take a look though I'm not sure it'll fit our needs. That insane feature is required for us... We need ways to retrieve files generated by the binaries run within QEMU. Moreover, we'll probably soon replace all that setup by some SSH commands once we have implemented a few missing network devices (at least the raspi4b one). But as I think those patches make vvfat block a bit better, I still find them worth merging. Nonetheless, I appreciate your feedback and will keep it in mind the next time we have to deal with emulations without network devices. Thanks, > https://libguestfs.org/nbdkit-floppy-plugin.1.html > https://libguestfs.org/nbdkit-iso-plugin.1.html > https://libguestfs.org/nbdkit-linuxdisk-plugin.1.html > https://libguestfs.org/nbdkit-tmpdisk-plugin.1.html > > Very easy to use from qemu as documented here: > > https://libguestfs.org/nbdkit-client.1.html#ATTACHING-NBD-DEVICES-TO-A-VIRTUAL-MACHINE > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > libguestfs lets you edit virtual machines. Supports shell scripting, > bindings from many languages. http://libguestfs.org >
On Wed, Sep 3, 2025 at 9:57 AM Clément Chigot <chigot@adacore.com> wrote: > > The main goal of this series is to introduce a new option "size" within > the vvfat backend (patch 5). It allows more control over SD cards' size. > The value for "Number of Heads" and "Sectors per track" are based on SD > specifications Part 2. > > This series also includes minor patches: > - patch 1 introduces another option to remove the Master Boot Record > (this is mandatory for QNX) > - patch 2-4 are minor improvements easing the introducing of "size" > option > > This was tested on with a aarch64-linux kernel taken from > functional/aarch64/test-virt and on aarch64-qnx over raspi4b with a > workaround, not included here (the SD bus must be associated to the EMMC2 > port instead of through GPIOs). Gentle ping for this series. TIA Clément > Clément Chigot (5): > vvfat: introduce no-mbr option > vvfat: move fat_type check prior to size setup > vvfat: add a define for SECTOR_SIZE > vvfat: move size parameters within driver structure > vvfat: add support for "size" options > > block/vvfat.c | 279 ++++++++++++++++++++++++++++++++++++++------------ > 1 file changed, 213 insertions(+), 66 deletions(-) > > -- > 2.34.1 >
On Wed, Sep 3, 2025 at 9:57 AM Clément Chigot <chigot@adacore.com> wrote: > > The main goal of this series is to introduce a new option "size" within > the vvfat backend (patch 5). It allows more control over SD cards' size. > The value for "Number of Heads" and "Sectors per track" are based on SD > specifications Part 2. > > This series also includes minor patches: > - patch 1 introduces another option to remove the Master Boot Record > (this is mandatory for QNX) > - patch 2-4 are minor improvements easing the introducing of "size" > option > > This was tested on with a aarch64-linux kernel taken from > functional/aarch64/test-virt and on aarch64-qnx over raspi4b with a > workaround, not included here (the SD bus must be associated to the EMMC2 > port instead of through GPIOs). Gentle ping for this series. TIA Clément > Clément Chigot (5): > vvfat: introduce no-mbr option > vvfat: move fat_type check prior to size setup > vvfat: add a define for SECTOR_SIZE > vvfat: move size parameters within driver structure > vvfat: add support for "size" options > > block/vvfat.c | 279 ++++++++++++++++++++++++++++++++++++++------------ > 1 file changed, 213 insertions(+), 66 deletions(-) > > -- > 2.34.1 >
© 2016 - 2026 Red Hat, Inc.