diff --git a/stand/common/metadata.c b/stand/common/metadata.c index 22df6f175791..715354aedd04 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -111,7 +111,7 @@ md_load_dual(char *args, vm_offset_t *modulep, vm_offset_t *dtb, int kern64) * tested/set by MI code before launching the kernel. */ rootdevname = getenv("rootdev"); - if (rootdevname == NULL) + if (rootdevname == NULL || *rootdevname == '\0') rootdevname = getenv("currdev"); /* Try reading the /etc/fstab file to select the root device */ getrootmount(rootdevname); diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 2384fd08b964..c9a842afb06d 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -513,7 +513,7 @@ find_currdev(bool do_bootmgr, bool is_last, * it's wrong. */ rootdev = getenv("rootdev"); - if (rootdev != NULL) { + if (rootdev != NULL && *rootdev != '\0') { printf(" Setting currdev to configured rootdev %s\n", rootdev); set_currdev(rootdev);