From ec9abc1843219b354494b58fa322fe6f6d3439e9 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Mon, 24 Jun 2019 20:34:53 +0000 Subject: [PATCH] Move to using a common kernel path between the boot / laoder bits and the kernel. --- stand/common/paths.h | 5 ++++- stand/efi/loader/main.c | 5 +++-- sys/kern/kern_mib.c | 2 +- sys/sys/boot.h | 2 ++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/stand/common/paths.h b/stand/common/paths.h index 9ed45e646a3..b3231377012 100644 --- a/stand/common/paths.h +++ b/stand/common/paths.h @@ -29,11 +29,14 @@ #ifndef _PATHS_H_ #define _PATHS_H_ +#include /* To get kernel path */ + #define PATH_DOTCONFIG "/boot.config" #define PATH_CONFIG "/boot/config" #define PATH_LOADER "/boot/loader" #define PATH_LOADER_EFI "/boot/loader.efi" #define PATH_LOADER_ZFS "/boot/zfsloader" -#define PATH_KERNEL "/boot/kernel/kernel" +#define PATH_LOADER_CONF "/boot/loader.conf" +#define PATH_DEFAULTS_LOADER_CONF "/boot/defaults/loader.conf" #endif /* _PATHS_H_ */ diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 8b3ba741178..60d8c144251 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -237,8 +238,8 @@ sanity_check_currdev(void) { struct stat st; - return (stat("/boot/defaults/loader.conf", &st) == 0 || - stat("/boot/kernel/kernel", &st) == 0); + return (stat(PATH_DEFAULTS_LOADER_CONF, &st) == 0 || + stat(PATH_KERNEL, &st) == 0); } #ifdef EFI_ZFS_BOOT diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index a92f6488c39..d515f9f5b3a 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -136,7 +136,7 @@ SYSCTL_INT(_kern, KERN_SAVED_IDS, saved_ids, CTLFLAG_RD|CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, 0, "Whether saved set-group/user ID is available"); #endif -char kernelname[MAXPATHLEN] = "/boot/kernel/kernel"; /* XXX bloat */ +char kernelname[MAXPATHLEN] = PATH_KERNEL; /* XXX bloat */ SYSCTL_STRING(_kern, KERN_BOOTFILE, bootfile, CTLFLAG_RW | CTLFLAG_MPSAFE, kernelname, sizeof kernelname, "Name of kernel file booted"); diff --git a/sys/sys/boot.h b/sys/sys/boot.h index 68b9e1e0daf..7874d966373 100644 --- a/sys/sys/boot.h +++ b/sys/sys/boot.h @@ -32,6 +32,8 @@ #ifndef _SYS_BOOT_H_ #define _SYS_BOOT_H_ +#define PATH_KERNEL "/boot/kernel/kernel" + int boot_env_to_howto(void); void boot_howto_to_env(int howto); int boot_parse_arg(char *v);