mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-27 00:33:30 +00:00
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
This commit is contained in:
parent
17160f21ef
commit
1a9b1c367f
@ -15,8 +15,10 @@ set -e
|
||||
scriptdir=$(dirname $(realpath $0))
|
||||
. ${scriptdir}/../../tools/boot/install-boot.sh
|
||||
|
||||
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"
|
||||
@ -50,7 +52,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
|
||||
|
@ -91,7 +91,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"
|
||||
rm -f ${espfilename}
|
||||
if [ -n "${METALOG}" ]; then
|
||||
|
@ -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
|
||||
|
||||
scriptdir=$(dirname $(realpath $0))
|
||||
. ${scriptdir}/../../tools/boot/install-boot.sh
|
||||
@ -50,7 +52,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
|
||||
|
@ -85,7 +85,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"
|
||||
rm -f ${espfilename}
|
||||
if [ -n "${METALOG}" ]; then
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
@ -107,7 +107,7 @@ echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$BASEBITSDIR/etc/fstab"
|
||||
if [ -n "${METALOG}" ]; then
|
||||
echo "./etc/fstab type=file uname=root gname=wheel mode=0644" >> ${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"
|
||||
rm -f /tmp/hfs-boot-block
|
||||
rm -rf "$BASEBITSDIR/ppc"
|
||||
|
@ -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
|
||||
|
||||
scriptdir=$(dirname $(realpath $0))
|
||||
. ${scriptdir}/../../tools/boot/install-boot.sh
|
||||
@ -50,7 +52,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
|
||||
|
@ -85,7 +85,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"
|
||||
rm -f ${espfilename}
|
||||
if [ -n "${METALOG}" ]; then
|
||||
|
Loading…
Reference in New Issue
Block a user