summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorkevans <kevans@FreeBSD.org>2018-02-11 20:58:00 +0000
committerkevans <kevans@FreeBSD.org>2018-02-11 20:58:00 +0000
commit7b85b5d56106cc6d9bf6958e33055cadc17f091d (patch)
tree3648cc80d10bcaa6a86775b2bbc3bedbe915f8c3 /tools
parent9f6c25186cba707e1409a062c4d29ad7ce2a3d9a (diff)
downloadFreeBSD-src-7b85b5d56106cc6d9bf6958e33055cadc17f091d.zip
FreeBSD-src-7b85b5d56106cc6d9bf6958e33055cadc17f091d.tar.gz
MFC Loader Fixes 2017q4p6: r324649,r324650,r324651,r324652,r324653,r324654,
r324700,r324702,r324709,r324717,r324719,r324841,r324842,r324843,r324845, r324850,r324876,r324877,r324878,r324879,r324880,r324881,r324883,r324980, r324981,r324982,r324995,r325014,r325093,r325094,r325114,r325170,r325171, r325172,r325173,r325174,r325175,r325176,r325248,r325286,r325310,r325332, r325338,r325339,r325376,r325377,r325379,r325380,r325382,r325478,r325479, r325480,r325482,r325483,r325484,r325485,r325556,r325641,r325681,r325685, r325686,r325687,r325688,r325689,r325690,r325691,r325692,r325693,r325694, r325743,r325744,r325748,r325775,r325779,r325780 r324649: Move common/Makefile.inc to sys/boot/loader.mk. r324650: tweak style r324651: create defs.mk for common definitions r324652: Move all the ficl common code into ficl.mk r324653: LOADER_foo_SUPPORTED r324654: Explicitly inlcude SYSDIR in the include path r324700: loader: initialize dv_cleanup in md.c to eliminate clang warning r324702: We need to include disk.o in libuboot.a when we're building with support for disk access. r324709: Revert "Unify boot1 with loader" change r324646 r324717: libsa/ip.c: misplaced comment, ip_v is half char, not ip_p r324719: libsa/ip: stop read loop on bad fragments r324841: Use BOOTDIR more consistently in defs.mk rather than repeat sys/boot. r324842: Introduce BOOTOBJ: The top level object directory for the boot tree r324843: Stopgap fix to the mistmatch between LOADER_GELI_SUPPORT and LOADER_NO_GELI_SUPPORT. r324845: Use BOOTOBJ and BOOTDIR to find geli includes and libraries. r324850: Define LIBSA32 to LIBSA on i386 to fix build. r324876: Move fdt and uboot defines into common uboot.mk. r324877: End source directories with SRC rather than a hodgepodge of names r324878: Make at91 boot loader compile again. r324879: Prefer SRCTOP paths for bits we're grabbing from libc. r324880: Use BOOTSRC here. r324881: Use SYSDIR instead of ${.CURDIR}/../..<etc>/sys. r324883: Use preferred defined paths, rather than relative paths in fdt. r324980: Use BOOTDIR consistently. r324981: Move BINDIR definition to defs.mk, and override where it isn't /boot r324982: Remove sys/boot/arm/at91 and ixp425 r324995: loader.efi: Make framebuffer commands available for arm64 r325014: Add a 'place holder' arm struct efi_fb until a real one comes r325093: Define new EFI variables r325094: Cleanup non-arch Makefiles r325114: Use defs.mk defins in most MD code r325170: Use defs.mk values for userboot r325171: Use defs.mk name and prefer bsd.init.mk r325172: Remove the -nostdlib stuff I added. Instead, fix LDFLAGS to be honored correctly with the new Makefile.inc include order. r325173: We don't need to build a special ficl for userboot. r325174: Minor cleanup r325175: For amd64, compile both zfs and zfs32 libraries. r325176: Actually add zfs32/Makefile r325248: loader ptblread() is broken with >512B sectors r325286: efipart_strategy is using wrong offset with >512B sectors r325310: zfs.c:vdev_read() needs to be careful about large sectors r325332: loader: re-enable gzip support for x86 r325338: loader: fix BOOTSRC -> BOOTOBJ in a library path r325339: This used to have bzip2 support too. r325376: WIP: centralize machine links r325377: mostly libsa r325379: Revert "mostly libsa" r325380: Revert "WIP: centralize machine links" r325382: Cleanup stray libstand names to be libsa names. r325478: Powerpc is a 32-bit boot loader. r325479: Define LIBFICL32 to be libficl.a on i386 and libficl32.a on amd64. r325480: Use DO32 for all the places that we need to flag we're building a 32-bit version of a library. r325482: Move machine and other link creation to defs.mk r325483: MACHINE can never be powerpc64, so cleanup code that thinks it can. r325484: Prefer bsd.init.mk to src.opts.mk r325485: Centralize all 32-bit builds on 64-bit platform stuff. r325556: loader: set options before including bsd.init.mk r325641: loader.efi: efi_devpath_is_prefix should return bool r325681: boot1: avoid using NULL device path r325685: libsa32 isn't needed for i386. It's already a 32-bit platform. r325686: Simplify this if to a direct assignment. r325687: Remove all the empty help files from the powerpc build. r325688: FDT support doesn't make sense for ps3, remove it. r325689: Remove LOADER_FDT_SUPPORT as a Makefile variable. r325690: Remove LOADER_ZFS_SUPPORT as a Makefile variable r325691: Remove useless PNP define here. r325692: Replace LOADER_FIREWIRE_SUPPORT variable r325693: Move LOADER_{NO,}_GELI_SUPPORT to MK_LOADER_GELI r325694: Install the 4th files in sys/boot/forth instead of each loader r325743: Make sure the proper loader.rc gets installed. r325744: boot1: also check for NULL device r325748: Use proper include file. r325775: Add loader.conf to the list of files that are MD. r325779: Add /boot/dts to the list of default modules. r325780: Don't add /boot/dt*s* but /boot/dt*b*. Stupid think-o.
Diffstat (limited to 'tools')
-rwxr-xr-xtools/boot/universe.sh68
-rw-r--r--tools/build/options/WITHOUT_LOADER_GEIL2
-rw-r--r--tools/build/options/WITH_LOADER_FIREWIRE3
3 files changed, 49 insertions, 24 deletions
diff --git a/tools/boot/universe.sh b/tools/boot/universe.sh
index 6429009..b27c363 100755
--- a/tools/boot/universe.sh
+++ b/tools/boot/universe.sh
@@ -19,9 +19,30 @@
# Output is put into _.boot.$TARGET_ARCH.log in sys.boot.
#
+dobuild()
+{
+ local ta=$1
+ local lf=$2
+ local opt=$3
+
+ echo -n "Building $ta ${opt} ... "
+ if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend" \
+ > $lf 2>&1; then
+ echo "Fail (cleanup)"
+ continue
+ fi
+ if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make ${opt} -j 20 all" \
+ >> $lf 2>&1; then
+ echo "Fail (build)"
+ continue
+ fi
+ echo "Success"
+}
+
top=$(make -V SRCTOP)
cd $top/sys/boot
+# Default build for a goodly selection of architectures
for i in \
amd64/amd64 \
arm/arm arm/armeb \
@@ -32,34 +53,33 @@ for i in \
sparc64/sparc64 \
; do
ta=${i##*/}
- echo -n "Building $ta..."
- if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend" \
- > _.boot.${ta}.log 2>&1; then
- echo "Fail (cleanup)"
- continue
- fi
- if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make -j 20 all" \
- >> _.boot.${ta}.log 2>&1; then
- echo "Fail (build)"
- continue
- fi
- echo "Success"
+ dobuild $ta _.boot.${ta}.log ""
done
+
+# Build w/o ZFS
for i in \
amd64/amd64 \
i386/i386 \
+ sparc64/sparc64 \
; do
ta=${i##*/}
- echo -n "Building $ta MK_ZFS=no..."
- if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make clean cleandepend cleandir obj depend" \
- > _.boot.${ta}.noZFS.log 2>&1; then
- echo "Fail (cleanup)"
- continue
- fi
- if ! make buildenv TARGET_ARCH=$ta BUILDENV_SHELL="make MK_ZFS=no -j 20 all" \
- >> _.boot.${ta}.noZFS.log 2>&1; then
- echo "Fail (build)"
- continue
- fi
- echo "Success"
+ dobuild $ta _.boot.${ta}.no_zfs.log "MK_ZFS=no"
+done
+
+# Build with firewire
+for i in \
+ amd64/amd64 \
+ i386/i386 \
+ ; do
+ ta=${i##*/}
+ dobuild $ta _.boot.${ta}.firewire.log "MK_LOADER_FIREWIRE=yes"
+done
+
+# Build without GELI
+for i in \
+ amd64/amd64 \
+ i386/i386 \
+ ; do
+ ta=${i##*/}
+ dobuild $ta _.boot.${ta}.no_geli.log "MK_LOADER_GELI=no"
done
diff --git a/tools/build/options/WITHOUT_LOADER_GEIL b/tools/build/options/WITHOUT_LOADER_GEIL
new file mode 100644
index 0000000..114bea6
--- /dev/null
+++ b/tools/build/options/WITHOUT_LOADER_GEIL
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Disable inclusion of GELI crypto support in the boot chain binaries.
diff --git a/tools/build/options/WITH_LOADER_FIREWIRE b/tools/build/options/WITH_LOADER_FIREWIRE
new file mode 100644
index 0000000..a8f8924
--- /dev/null
+++ b/tools/build/options/WITH_LOADER_FIREWIRE
@@ -0,0 +1,3 @@
+.\" $FreeBSD$
+Enable firewire support in /boot/loader and /boot/zfsloader on x86.
+This option is a nop on all other platforms.
OpenPOWER on IntegriCloud