I'm testing this on amd64 NetBSD-11_RC2

dkctl ld0 listwedges
/dev/rld0: 3 wedges:
dk0: EFI-system, 262144 blocks at 2048, type: msdos
dk1: NetBSD-diag, 4194304 blocks at 264192, type: ffs
dk2: NetBSD-root, 16777216 blocks at 4458496, type: ffs

I should be able to boot into either dk1 or dk2, which contain separate
NetBSD root filesystems.

When booting via interactive command:
boot NAME=NetBSD-root:netbsd

kernel is loaded from dk2 and dk2 root filesystem is correctly mounted
on /.

However, when booting via efi/netbsd/boot.cfg on msdos boot partition:
menu=Boot NetBSD-root:rndseed /var/db/entropy-file;boot NAME=NetBSD-root:netbsd

kernel is loaded from dk2, however instead of dk2, dk1 root filesystem
is mounted on /.

This looks like a bug in the bootloader, because this contradicts
boot(8) man page:

  Locating the root file system
  ...
  If the bootloader passes a wedge name as "wedge:" or "NAME=" followed
  by the name.  The kernel will search for a dk(4) device with that name.

Should I open a bug for this, or is there a good reason for the
inconsistent behavior with boot.cfg?

Reply via email to