git: 358752abdf1c - main - loader/loader.mk: add docs for LOADER_*_SUPPORT variables
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 25 Oct 2024 03:12:07 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=358752abdf1c44d15e99bc2709b0256a358fd2a9
commit 358752abdf1c44d15e99bc2709b0256a358fd2a9
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2024-10-25 02:22:51 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-10-25 02:26:26 +0000
loader/loader.mk: add docs for LOADER_*_SUPPORT variables
These are internal to the loader and generally can only be set in a
makefile that's compiling some variation of loader. Add caveats since
these aren't really user-serviceable parts, though some downstreams will
tweak individual makefiles for their own purposes.
Sponsored by: Netflix
---
stand/loader.mk | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/stand/loader.mk b/stand/loader.mk
index de717ce7b18b..0f2ff31a5343 100644
--- a/stand/loader.mk
+++ b/stand/loader.mk
@@ -1,4 +1,3 @@
-
.PATH: ${LDRSRC} ${BOOTSRC}/libsa
CFLAGS+=-I${LDRSRC}
@@ -30,6 +29,33 @@ SRCS+= load_elf64.c reloc_elf64.c
SRCS+= metadata.c
.endif
+#
+# LOADER_*_SUPPORT variables are used to subset the boot loader in the various
+# configurations each platform supports. These are typically used to omit broken
+# options, or to size optimize for space constrained instances. These are set in
+# loader Makefiles (which include loader.mk) to control which subset of features
+# are enabled. These cannot generally be set in src.conf since that would affect
+# all loaders, but also not all loaders are setup for overrides like that and
+# not all combinations of the following have been tested or even work. Sometimes
+# non-default values won't work due to buggy support for that component being
+# optional.
+#
+# LOADER_BZIP2_SUPPORT Add support for bzip2 compressed files
+# LOADER_CD9660_SUPPORT Add support for iso9660 filesystems
+# LOADER_DISK_SUPPORT Adds support for disks and mounting filesystems on it
+# LOADER_EXT2FS_SUPPORT Add support for ext2 Linux filesystems
+# LOADER_GPT_SUPPORT Add support for GPT partitions
+# LOADER_GZIP_SUPPORT Add support for gzip compressed files
+# LOADER_INSTALL_SUPPORT Add support for booting off of installl ISOs
+# LOADER_MBR_SUPPORT Add support for MBR partitions
+# LOADER_MSDOS_SUPPORT Add support for FAT filesystems
+# LOADER_NET_SUPPORT Adds networking support (useless w/o net drivers sometimes)
+# LOADER_NFS_SUPPORT Add NFS support
+# LOADER_TFTP_SUPPORT Add TFTP support
+# LOADER_UFS_SUPPORT Add support for UFS filesystems
+# LOADER_ZFS_SUPPORT Add support for ZFS filesystems
+#
+
.if ${LOADER_DISK_SUPPORT:Uyes} == "yes"
CFLAGS.part.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib
SRCS+= disk.c part.c vdisk.c