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>