From 358752abdf1c44d15e99bc2709b0256a358fd2a9 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Thu, 24 Oct 2024 20:22:51 -0600 Subject: [PATCH] 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