Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Apr 2017 15:47:55 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Glen Barber <gjb@freebsd.org>, svn-src-head@freebsd.org, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject:   Re: svn commit: r317169 - head/release/tools
Message-ID:  <FBFC4201-E32E-49B9-8840-436088969DF5@dsl-only.net>

next in thread | raw e-mail | index | archive | help
> Author: gjb
> Date: Wed Apr 19 21:18:06 2017
> New Revision: 317169
> URL:=20
> https://svnweb.freebsd.org/changeset/base/317169
>=20
>=20
> Log:
>   Trim trailing '/release/..' when setting _OBJDIR so arm64/aarch64
>   boot1.efifat is properly located when creating virtual machine =
images.
>  =20
>   Sponsored by:	The FreeBSD Foundation
>=20
> Modified:
>   head/release/tools/vmimage.subr
>=20
> Modified: head/release/tools/vmimage.subr
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> --- 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
> =20
>  	_OBJDIR=3D"$(make -C ${WORLDDIR} -V .OBJDIR)"
> +	_OBJDIR=3D"$(realpath ${_OBJDIR})"
>  	if [ -d "${_OBJDIR%%/usr/src}/${TARGET}.${TARGET_ARCH}" ]; then
>  		=
BOOTFILES=3D"/${_OBJDIR%%/usr/src}/${TARGET}.${TARGET_ARCH}/usr/src/sys/bo=
ot"
>  	else


In my experiments with making my own vmimage I had to
make another change. Instead of just:

 	_OBJDIR=3D"$(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=3D"$(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:=3D${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=3D1 and no
provision for a swap partition. (This is part of
why I was experimenting.)

While Makefile.vm has "SWAPSIZE?=3D  1G", much like it
has "VMSIZE?=3D    20G", SWAPSIZE does not have an
equivalent of:

scripts/mk-vmimage.sh:                          VMSIZE=3D"${OPTARG}"

and so any SWAPSIZE control is external and implicit.


=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FBFC4201-E32E-49B9-8840-436088969DF5>