On Fri, 22 May 2026, Sad Clouds wrote:
I think I may just give up boot.cfg as I can't get it to work reliably
with multiple root partitions.
I reduced the names of root partitions, to make sure "NAME=<label>"
fits within 15 chars. It still refuses to boot from the correct
partition when using boot.cfg. Manually typing "boot NAME=root-main:"
at the bootloader prompt does boot from the correct partition.
# gpt show -l ld0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 2014 Unused
2048 262144 1 GPT part - boot-efi
264192 2097152 2 GPT part - root-diag
2361344 4194304 3 GPT part - root-main
6555648 127660032 4 GPT part - cgd
134215680 2015 Unused
134217695 32 Sec GPT table
134217727 1 Sec GPT header
# cat /boot-efi/efi/netbsd/boot.cfg
# Boot into NetBSD diagnostic environment
menu=Boot root-diag:rndseed /var/db/entropy-file;boot NAME=root-diag:
menu=Boot root-diag single user:rndseed /var/db/entropy-file;boot
NAME=root-diag: -s
# Boot into NetBSD main environment
menu=Boot root-main:rndseed /var/db/entropy-file;boot NAME=root-main:
menu=Boot root-main single user:rndseed /var/db/entropy-file;boot
NAME=root-main: -s
[..]
That should work, and it does for me. Testing just now on a very old 10.99.14
on Qemu:
Disk layout
```
qemu1# gpt show -l sd0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 30 Unused
64 262144 1 GPT part - EFI
262208 4095936 2 GPT part - Root1
4358144 4194304 4 GPT part - Root2
8552448 4194304 5 GPT part - Root3
12746752 4194304 6 GPT part - Root4
16941056 1490944 Unused
18432000 2539456 3 GPT part - Swap
20971456 31 Unused
20971487 32 Sec GPT table
20971519 1 Sec GPT header
qemu1#
```
/boot.cfg (on Root1)
```
menu=Boot normally:gop 21;rndseed /var/db/entropy-file;boot NAME=Root1:netbsd
menu=Boot single user:rndseed /var/db/entropy-file;boot -s
menu=Boot Root2:gop 21;rndseed /var/db/entropy-file;boot NAME=Root2:netbsd
menu=Boot Root3:gop 21;rndseed /var/db/entropy-file;boot NAME=Root3:netbsd
menu=Boot Root4:gop 21;rndseed /var/db/entropy-file;boot NAME=Root4:netbsd
menu=Drop to boot prompt:prompt
default=1
timeout=5
clear=1
```
/etc/fstab (on Root1)
```
# NetBSD /etc/fstab
# See /usr/share/examples/fstab/ for more examples.
NAME=Root1 / ffs rw 1 1
NAME=Swap none swap sw,dp 0 0
tmpfs /tmp tmpfs rw,-m=1777,-s=ram%25
kernfs /kern kernfs rw
ptyfs /dev/pts ptyfs rw
procfs /proc procfs rw
/dev/cd0a /cdrom cd9660 ro,noauto
tmpfs /var/shm tmpfs rw,-m1777,-sram%25
```
Of course, the other fstabs have different rootdev names, and also hostnames
(qemu2, qemu3 & qemu4) for testing purposes.
-RVP