Re: [wic][PATCH] wic: Fix updating fstab for nvme devices

Trevor Woerner <[email protected]>
Newsgroups org.yoctoproject.lists.yocto-patches
Message-ID <[email protected]>
Hi,

Thanks for the patch, but there is a second case that needs the same
treatment.

On Fri 2026-05-22 @ 01:34:00 PM, Aleksandar Nikolic wrote:
> From: Aleksandar Nikolic <[email protected]>
> 
> In case wks file references nvme, update_fstab() function will not add
> prefix 'p' before the partition number, as the if condition only takes
> mmcblk into consideration.
> 
> In case of nvme0n1 this leads that following entries are added to fstab:
> 
>     /dev/nvme0n11
>     /dev/nvme0n13
> 
> instead of:
> 
>     /dev/nvme0n1p1
>     /dev/nvme0n1p3
> 
> The patch fixes this as it extends the if condition and adds prefix 'p' for
> both mmcblk and nvme.
> 
> Signed-off-by: Aleksandar Nikolic <[email protected]>
> ---
>  src/wic/plugins/imager/direct.py | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/wic/plugins/imager/direct.py b/src/wic/plugins/imager/direct.py
> index 832d0e6..38a675e 100644
> --- a/src/wic/plugins/imager/direct.py
> +++ b/src/wic/plugins/imager/direct.py
> @@ -134,8 +134,8 @@ class DirectPlugin(ImagerPlugin):
>              elif part.use_label:
>                  device_name = "LABEL=%s" % part.label
>              else:
> -                # mmc device partitions are named mmcblk0p1, mmcblk0p2..
> -                prefix = 'p' if  part.disk.startswith('mmcblk') else ''
please remove the double-spaces   ^^

> +                # mmc and nvme device partitions start with prefix 'p'
> +                prefix = 'p' if  part.disk.startswith(('mmcblk', 'nvme')) else ''
please remove the double-spaces   ^^

>                  device_name = "/dev/%s%s%d" % (part.disk, prefix, part.realnum)
>  
>              opts = part.fsopts if part.fsopts else "defaults"

The double-spaces pre-date your change, but since you're editing them
already...

There is a second site with the same hard-coded `mmcblk` test, a few
lines below in `DirectPlugin.rootdev`:

    src/wic/plugins/imager/direct.py:272
        suffix = 'p' if part.disk.startswith('mmcblk') else ''
        return "/dev/%s%s%-d" % (part.disk, suffix, part.realnum)

That property builds the kernel command-line `root=` argument, so with
the current code an NVMe rootfs boots with `root=/dev/nvme0n11`, which
doesn't exist. Could you give it the same `('mmcblk', 'nvme')` treatment
in v2?


> -- 
> 2.43.0
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.