From owner-svn-src-head@freebsd.org Fri Jul 20 05:17:40 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2F8701030CBD; Fri, 20 Jul 2018 05:17:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C6D1B8CF68; Fri, 20 Jul 2018 05:17:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9C8D63CC6; Fri, 20 Jul 2018 05:17:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w6K5HdLP017807; Fri, 20 Jul 2018 05:17:39 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w6K5HchM017801; Fri, 20 Jul 2018 05:17:38 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201807200517.w6K5HchM017801@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Jul 2018 05:17:38 +0000 (UTC) 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 X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head/stand: . common i386 i386/loader i386/zfsboot i386/zfsloader sparc64 sparc64/loader sparc64/zfsloader X-SVN-Commit-Revision: 336532 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Jul 2018 05:17:40 -0000 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 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 SUBDIR.yes= boot1 loader -SUBDIR.${MK_ZFS}+=zfsboot zfsloader +SUBDIR.${MK_ZFS}+=zfsboot .include 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