On 2019-Dec-09 08:38:01 -0600, Kyle Evans <kev...@freebsd.org> wrote: ... >> +static vm_offset_t >> +freebsd_parse_boot_param(struct arm64_bootparams *abp) >> +{ >> + vm_offset_t lastaddr = 0; >> + void *kmdp; >> +#ifdef DDB >> + vm_offset_t ksym_start; >> + vm_offset_t ksym_end; >> +#endif >> + >> + if (abp->modulep == 0) >> + return (0); >> + >> + preload_metadata = (caddr_t)(uintptr_t)(abp->modulep); >> + kmdp = preload_search_by_type("elf kernel"); >> + if (kmdp == NULL) >> + return (0); >> + >> + boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); >> + loader_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); >> + init_static_kenv(static_kenv, 0); > >This should read "loader_envp" instead of "static_kenv" -- as written, >it stomps over the kenv provided by loader.
Which breaks diskless booting and NFS root. Changing static_kenv to loader_envp unbreaks the kernel. -- Peter Jeremy
signature.asc
Description: PGP signature