svn commit: r317169 - head/release/tools
Mark Millard
markmi at dsl-only.net
Sat Apr 29 22:47:58 UTC 2017
> Author: gjb
> Date: Wed Apr 19 21:18:06 2017
> New Revision: 317169
> URL:
> https://svnweb.freebsd.org/changeset/base/317169
>
>
> Log:
> Trim trailing '/release/..' when setting _OBJDIR so arm64/aarch64
> boot1.efifat is properly located when creating virtual machine images.
>
> Sponsored by: The FreeBSD Foundation
>
> Modified:
> head/release/tools/vmimage.subr
>
> Modified: head/release/tools/vmimage.subr
> ==============================================================================
> --- head/release/tools/vmimage.subr Wed Apr 19 20:45:46 2017 (r317168)
> +++ head/release/tools/vmimage.subr Wed Apr 19 21:18:06 2017 (r317169)
> @@ -15,6 +15,7 @@ write_partition_layout() {
> fi
>
> _OBJDIR="$(make -C ${WORLDDIR} -V .OBJDIR)"
> + _OBJDIR="$(realpath ${_OBJDIR})"
> if [ -d "${_OBJDIR%%/usr/src}/${TARGET}.${TARGET_ARCH}" ]; then
> BOOTFILES="/${_OBJDIR%%/usr/src}/${TARGET}.${TARGET_ARCH}/usr/src/sys/boot"
> else
In my experiments with making my own vmimage I had to
make another change. Instead of just:
_OBJDIR="$(make -C ${WORLDDIR} -V .OBJDIR)"
I had to add a use of realpath around ${WORLDDIR} to
get the make -V .OBJDIR output to be correct:
_OBJDIR="$(make -C $(realpath ${WORLDDIR}) -V .OBJDIR)"
The .. use in WORLDDIR blocked the -V .OBJDIR from
returning the relevant/correct path. This in turn
lead to
-p efi:=${BOOTFILES}/efi/boot1/boot1.efifat \
reporting the boot1.efifat as not found. With
the additional realpath use the relevant/correct
path was returned by -V .OBJDIR and boot1.efifat
was found.
(This is among other more experimental personal-use
changes not appropriate to be checked-in. But the
additional realpath use seemed to be appropriate
svn content.)
Other minor notes:
BOOTFILES ends up with a leading // in a lot of
contexts (including via the else clause assignment
not shown). (Not a problem for me.)
Use of /usr/src as the source tree is effectively
required? (Not a problem for me.)
For some reason aarch64 always has NOSWAP=1 and no
provision for a swap partition. (This is part of
why I was experimenting.)
While Makefile.vm has "SWAPSIZE?= 1G", much like it
has "VMSIZE?= 20G", SWAPSIZE does not have an
equivalent of:
scripts/mk-vmimage.sh: VMSIZE="${OPTARG}"
and so any SWAPSIZE control is external and implicit.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-toolchain
mailing list