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 \
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to