Page MenuHomeFreeBSD

D22951.id67494.diff
No OneTemporary

D22951.id67494.diff

Index: stand/common/commands.c
===================================================================
--- stand/common/commands.c
+++ stand/common/commands.c
@@ -123,6 +123,9 @@
return (pager_output("\n"));
}
+#ifndef HELP_FILENAME
+#define HELP_FILENAME "loader.help"
+#endif
static int
command_help(int argc, char *argv[])
@@ -132,7 +135,8 @@
char *topic, *subtopic, *t, *s, *d;
/* page the help text from our load path */
- snprintf(buf, sizeof(buf), "%s/boot/loader.help", getenv("loaddev"));
+ snprintf(buf, sizeof(buf), "%s/boot/%s",
+ getenv("loaddev"), HELP_FILENAME);
if ((hfd = open(buf, O_RDONLY)) < 0) {
printf("Verbose help not available, "
"use '?' to list commands\n");
Index: stand/efi/loader/Makefile
===================================================================
--- stand/efi/loader/Makefile
+++ stand/efi/loader/Makefile
@@ -88,6 +88,10 @@
NEWVERSWHAT= "EFI loader" ${MACHINE}
VERSION_FILE= ${.CURDIR}/../loader/version
+HELP_MERGED= loader.efi.help
+CFLAGS+= -DHELP_FILENAME='"$(HELP_MERGED)"'
+HELP_FILES= ${.CURDIR}/../loader/help.efi
+
# Always add MI sources
.include "${BOOTSRC}/loader.mk"
Index: stand/efi/loader/help.efi
===================================================================
--- stand/efi/loader/help.efi
+++ stand/efi/loader/help.efi
@@ -0,0 +1 @@
+################################################################################
Index: stand/efi/loader/main.c
===================================================================
--- stand/efi/loader/main.c
+++ stand/efi/loader/main.c
@@ -180,8 +180,17 @@
set_currdev(const char *devname)
{
- env_setenv("currdev", EV_VOLATILE, devname, efi_setcurrdev, env_nounset);
- env_setenv("loaddev", EV_VOLATILE, devname, env_noset, env_nounset);
+ /*
+ * Don't execute hooks here; we may need to try setting these more than
+ * once here if we're probing for the ZFS pool we're supposed to boot.
+ * The currdev hook is intended to just validate user input anyways,
+ * while the loaddev hook makes it immutable once we've determined what
+ * the proper currdev is.
+ */
+ env_setenv("currdev", EV_VOLATILE | EV_NOHOOK, devname, efi_setcurrdev,
+ env_nounset);
+ env_setenv("loaddev", EV_VOLATILE | EV_NOHOOK, devname, env_noset,
+ env_nounset);
}
static void
Index: stand/i386/loader/Makefile
===================================================================
--- stand/i386/loader/Makefile
+++ stand/i386/loader/Makefile
@@ -37,9 +37,7 @@
LIBFIREWIRE= ${BOOTOBJ}/i386/libfirewire/libfirewire.a
.endif
-.if exists(${.CURDIR}/help.i386)
-HELP_FILES= ${.CURDIR}/help.i386
-.endif
+HELP_FILES= ${.CURDIR}/../loader/help.i386
# Always add MI sources
.include "${BOOTSRC}/loader.mk"
Index: stand/loader.mk
===================================================================
--- stand/loader.mk
+++ stand/loader.mk
@@ -167,10 +167,11 @@
.if !empty(HELP_FILES)
HELP_FILES+= ${LDRSRC}/help.common
+HELP_MERGED?= loader.help
-CLEANFILES+= loader.help
-FILES+= loader.help
+CLEANFILES+= $(HELP_MERGED)
+FILES+= $(HELP_MERGED)
-loader.help: ${HELP_FILES}
+$(HELP_MERGED): ${HELP_FILES}
cat ${HELP_FILES} | awk -f ${LDRSRC}/merge_help.awk > ${.TARGET}
.endif

File Metadata

Mime Type
text/plain
Expires
Tue, Dec 30, 1:48 AM (9 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27372911
Default Alt Text
D22951.id67494.diff (3 KB)

Event Timeline