svn commit: r281802 - in head/release: . arm64 tools

Glen Barber gjb at FreeBSD.org
Tue Apr 21 00:48:37 UTC 2015


Author: gjb
Date: Tue Apr 21 00:48:35 2015
New Revision: 281802
URL: https://svnweb.freebsd.org/changeset/base/281802

Log:
  Merge the following from ^/projects/release-arm64 to allow
  building FreeBSD/arm64 VM images and memstick.img installation
  medium:
  r281786, r281788, r281792:
  
   r281786:
    Add support for building arm64/aarch64 virtual machine images.
  
   r281788:
    Copy amd64/make-memstick.sh to arm64/make-memstick.sh for
    aarch64 memory stick images.
  
    Although arm64 does not yet have USB support, the memstick
    image should be bootable with certain virtualization tools,
    such as qemu.
  
   r281792:
  
    Add a buildenv_setup() prototype, intended to be overridden as
    needed.
  
    For example, the arm64/aarch64 build needs devel/aarch64-binutils,
    so buildenv_setup() in the release.conf for this architecture
    handles the installation of the port before buildworld/buildkernel.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  head/release/arm64/
     - copied from r281788, projects/release-arm64/release/arm64/
Modified:
  head/release/release.conf.sample
  head/release/release.sh
  head/release/tools/vmimage.subr
Directory Properties:
  head/   (props changed)

Modified: head/release/release.conf.sample
==============================================================================
--- head/release/release.conf.sample	Tue Apr 21 00:08:37 2015	(r281801)
+++ head/release/release.conf.sample	Tue Apr 21 00:48:35 2015	(r281802)
@@ -7,6 +7,7 @@
 ## defined in release.sh.
 #load_chroot_env() { }
 #load_target_env() { }
+#buildenv_setup() { }
 
 ## Set the directory within which the release will be built.
 CHROOTDIR="/scratch"

Modified: head/release/release.sh
==============================================================================
--- head/release/release.sh	Tue Apr 21 00:08:37 2015	(r281801)
+++ head/release/release.sh	Tue Apr 21 00:48:35 2015	(r281802)
@@ -42,6 +42,7 @@ export PATH
 # Prototypes that can be redefined per-chroot or per-target.
 load_chroot_env() { }
 load_target_env() { }
+buildenv_setup() { }
 
 # The directory within which the release will be built.
 CHROOTDIR="/scratch"
@@ -279,6 +280,7 @@ if [ -d ${CHROOTDIR}/usr/ports ]; then
 	fi
 fi
 
+buildenv_setup
 load_target_env
 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel

Modified: head/release/tools/vmimage.subr
==============================================================================
--- head/release/tools/vmimage.subr	Tue Apr 21 00:08:37 2015	(r281801)
+++ head/release/tools/vmimage.subr	Tue Apr 21 00:48:35 2015	(r281802)
@@ -29,6 +29,13 @@ write_partition_layout() {
 				-p freebsd-ufs/rootfs:=${VMBASE} \
 				-o ${VMIMAGE}
 			;;
+		arm64:aarch64)
+			mkimg -s gpt \
+				-p efi/efiboot:=${BOOTFILES}/efi/boot1/boot1.efifat \
+				${SWAPOPT} \
+				-p freebsd-ufs/rootfs:=${VMBASE} \
+				-o ${VMIMAGE}
+			;;
 		powerpc:powerpc*)
 			mkimg -s apm \
 				-p apple-boot/bootfs:=${BOOTFILES}/powerpc/boot1.chrp/boot1.hfs \


More information about the svn-src-head mailing list