diff options
author | Jessica Clarke <jrtc27@FreeBSD.org> | 2022-02-28 22:37:37 +0000 |
---|---|---|
committer | Jessica Clarke <jrtc27@FreeBSD.org> | 2022-02-28 22:37:37 +0000 |
commit | 1a9b1c367fa606c7850cfc876bf73a1e1129279a (patch) | |
tree | c8a90d2418f56e6f28f8da6b720c19037ba81a95 /release/i386 | |
parent | 17160f21efe8e8ccaebe6f887624e4faab55f6c7 (diff) | |
download | src-1a9b1c367fa606c7850cfc876bf73a1e1129279a.tar.gz src-1a9b1c367fa606c7850cfc876bf73a1e1129279a.zip |
release: Add support for building on non-FreeBSD
This requires two sets of changes. Firstly, for non-FreeBSD, we do not
know where tools are in PATH (and it is likely that some are not in
system directories and have been built as bootstrap tools during the
build), so we should leave PATH alone and trust the user. Secondly,
makefs needs a master.passwd for building images from a METALOG file, so
pass the directory in the image tree to makefs's -N option in order to
pick up a valid FreeBSD master.passwd; this is unnecessary on FreeBSD
(except in the edge case of building an image that refers to users or
groups not present in the host's database, which is unlikely but
technically possible) but harmless so can be done unconditionally.
Reviewed by: brooks, emaste, gjb
Differential Revision: https://reviews.freebsd.org/D34001
Diffstat (limited to 'release/i386')
-rwxr-xr-x | release/i386/make-memstick.sh | 8 | ||||
-rw-r--r-- | release/i386/mkisoimages.sh | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/release/i386/make-memstick.sh b/release/i386/make-memstick.sh index 715e4582a4ef..99f419fc0036 100755 --- a/release/i386/make-memstick.sh +++ b/release/i386/make-memstick.sh @@ -12,8 +12,10 @@ set -e -PATH=/bin:/usr/bin:/sbin:/usr/sbin -export PATH +if [ "$(uname -s)" = "FreeBSD" ]; then + PATH=/bin:/usr/bin:/sbin:/usr/sbin + export PATH +fi if [ $# -ne 2 ]; then echo "make-memstick.sh /path/to/directory/or/manifest /path/to/image/file" @@ -47,7 +49,7 @@ if [ -n "${METALOG}" ]; then echo "./etc/rc.conf.local type=file uname=root gname=wheel mode=0644" >> ${metalogfilename} MAKEFSARG=${metalogfilename} fi -makefs -D -B little -o label=FreeBSD_Install -o version=2 ${2}.part ${MAKEFSARG} +makefs -D -N ${BASEBITSDIR}/etc -B little -o label=FreeBSD_Install -o version=2 ${2}.part ${MAKEFSARG} rm ${BASEBITSDIR}/etc/fstab rm ${BASEBITSDIR}/etc/rc.conf.local if [ -n "${METALOG}" ]; then diff --git a/release/i386/mkisoimages.sh b/release/i386/mkisoimages.sh index a408fa7cddb2..6ee7f72212c9 100644 --- a/release/i386/mkisoimages.sh +++ b/release/i386/mkisoimages.sh @@ -68,7 +68,7 @@ if [ -n "${METALOG}" ]; then echo "./etc/fstab type=file uname=root gname=wheel mode=0644" >> ${metalogfilename} MAKEFSARG=${metalogfilename} fi -makefs -D -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$MAKEFSARG" "$@" +makefs -D -N ${BASEBITSDIR}/etc -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$MAKEFSARG" "$@" rm -f "$BASEBITSDIR/etc/fstab" if [ -n "${METALOG}" ]; then rm ${metalogfilename} |