Date: Fri, 20 Jul 2018 05:17:38 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r336532 - in head/stand: . common i386 i386/loader i386/zfsboot i386/zfsloader sparc64 sparc64/loader sparc64/zfsloader Message-ID: <201807200517.w6K5HchM017801@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Fri Jul 20 05:17:37 2018 New Revision: 336532 URL: https://svnweb.freebsd.org/changeset/base/336532 Log: Collapse zfsloader functionality back down into loader. We no longer really need a separate zfsloader. It was useful when we were first supporting ZFS and had limited ability to properly boot off of ZFS without the special boot loader. Now that the boot loader has matured, go the way loader.efi pioneered and just build one binary. Change the name of the loader to load in the secondary boot blocks to be just /boot/loader. Provide a symbolic link from zfsloader to loader so people who have not upgraded their boot blocks are not affected. This has the happy benefit of making coexistence easier as well (fewer binaries in the matrix). Discussed with: allanjude@, kevans@ RelNotes: Yes Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D16361 Deleted: head/stand/i386/zfsloader/Makefile head/stand/i386/zfsloader/Makefile.depend head/stand/sparc64/zfsloader/Makefile Modified: head/stand/common/paths.h head/stand/i386/Makefile head/stand/i386/loader/Makefile head/stand/i386/zfsboot/zfsboot.c head/stand/loader.mk head/stand/sparc64/Makefile head/stand/sparc64/loader/Makefile Modified: head/stand/common/paths.h ============================================================================== --- head/stand/common/paths.h Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/common/paths.h Fri Jul 20 05:17:37 2018 (r336532) @@ -33,7 +33,6 @@ #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" #endif /* _PATHS_H_ */ Modified: head/stand/i386/Makefile ============================================================================== --- head/stand/i386/Makefile Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/i386/Makefile Fri Jul 20 05:17:37 2018 (r336532) @@ -18,6 +18,6 @@ SUBDIR.yes+= pxeldr SUBDIR.yes+= kgzldr .endif -SUBDIR.${MK_ZFS}+= zfsboot gptzfsboot zfsloader +SUBDIR.${MK_ZFS}+= zfsboot gptzfsboot .include <bsd.subdir.mk> Modified: head/stand/i386/loader/Makefile ============================================================================== --- head/stand/i386/loader/Makefile Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/i386/loader/Makefile Fri Jul 20 05:17:37 2018 (r336532) @@ -1,5 +1,7 @@ # $FreeBSD$ +HAVE_ZFS= ${MK_ZFS} + LOADER_NET_SUPPORT?= yes LOADER_NFS_SUPPORT?= yes LOADER_TFTP_SUPPORT?= yes @@ -62,6 +64,9 @@ ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN} ${LOADER}.bin: ${LOADER}.sym strip -R .comment -R .note -o ${.TARGET} ${.ALLSRC} +.if ${MK_ZFS} == "yes" +SYMLINKS= ${BINDIR}/${LOADER} ${BINDIR}/zfs${LOADER} +.endif FILES+= ${LOADER} # XXX INSTALLFLAGS_loader= -b FILESMODE_${LOADER}= ${BINMODE} -b Modified: head/stand/i386/zfsboot/zfsboot.c ============================================================================== --- head/stand/i386/zfsboot/zfsboot.c Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/i386/zfsboot/zfsboot.c Fri Jul 20 05:17:37 2018 (r336532) @@ -848,7 +848,7 @@ main(void) */ if (autoboot && !*kname) { - memcpy(kname, PATH_LOADER_ZFS, sizeof(PATH_LOADER_ZFS)); + memcpy(kname, PATH_LOADER, sizeof(PATH_LOADER)); if (!keyhit(3)) { load(); memcpy(kname, PATH_KERNEL, sizeof(PATH_KERNEL)); Modified: head/stand/loader.mk ============================================================================== --- head/stand/loader.mk Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/loader.mk Fri Jul 20 05:17:37 2018 (r336532) @@ -124,7 +124,7 @@ CFLAGS+= -DLOADER_GPT_SUPPORT CFLAGS+= -DLOADER_MBR_SUPPORT .endif -.if defined(HAVE_ZFS) +.if ${HAVE_ZFS:Uno} == "yes" CFLAGS+= -DLOADER_ZFS_SUPPORT CFLAGS+= -I${ZFSSRC} CFLAGS+= -I${SYSDIR}/cddl/boot/zfs Modified: head/stand/sparc64/Makefile ============================================================================== --- head/stand/sparc64/Makefile Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/sparc64/Makefile Fri Jul 20 05:17:37 2018 (r336532) @@ -5,6 +5,6 @@ NO_OBJ=t .include <bsd.init.mk> SUBDIR.yes= boot1 loader -SUBDIR.${MK_ZFS}+=zfsboot zfsloader +SUBDIR.${MK_ZFS}+=zfsboot .include <bsd.subdir.mk> Modified: head/stand/sparc64/loader/Makefile ============================================================================== --- head/stand/sparc64/loader/Makefile Fri Jul 20 02:25:39 2018 (r336531) +++ head/stand/sparc64/loader/Makefile Fri Jul 20 05:17:37 2018 (r336532) @@ -1,5 +1,7 @@ # $FreeBSD$ +HAVE_ZFS= ${MK_ZFS} + LOADER_DISK_SUPPORT?= yes LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?= yes @@ -39,6 +41,10 @@ HELP_FILES= ${.CURDIR}/help.sparc64 .include "${BOOTSRC}/loader.mk" LDFLAGS+= -static + +.if ${MK_ZFS} == "yes" +SYMLINKS= ${BINDIR}/loader ${BINDIR}/zfsloader +.endif # Open Firmware standalone support library LIBOFW= ${BOOTOBJ}/ofw/libofw/libofw.a
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807200517.w6K5HchM017801>