From owner-svn-src-all@freebsd.org Fri Jun 19 19:24:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C49B63371B4; Fri, 19 Jun 2020 19:24:37 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49pTJj4rlYz3SfK; Fri, 19 Jun 2020 19:24:37 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D90D20384; Fri, 19 Jun 2020 19:24:37 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 05JJOb4u000279; Fri, 19 Jun 2020 19:24:37 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 05JJObYU000277; Fri, 19 Jun 2020 19:24:37 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202006191924.05JJObYU000277@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Fri, 19 Jun 2020 19:24:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r362413 - in stable/12/release: arm64 tools X-SVN-Group: stable-12 X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in stable/12/release: arm64 tools X-SVN-Commit-Revision: 362413 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2020 19:24:37 -0000 Author: manu Date: Fri Jun 19 19:24:36 2020 New Revision: 362413 URL: https://svnweb.freebsd.org/changeset/base/362413 Log: MFC r360271-r360272, r360321 r360271: Add support for generating release images using GPT for ARM Submitted by: Daniel Engberg (Original version) Differential Revision: https://reviews.freebsd.org/D22537 r360272: Add PINE64 ROCKPro64 config for generation of release images Submitted by: Daniel Engberg Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22538 r360321: release: arm64: rockpro64: Set hw.ncpu to 4 Since there is known issue with big.LITTLE set the number of CPU to 4 which is the number present in the LITTLE cluster. Added: stable/12/release/arm64/ROCKPRO64.conf - copied, changed from r360272, head/release/arm64/ROCKPRO64.conf Modified: stable/12/release/tools/arm.subr Directory Properties: stable/12/ (props changed) Copied and modified: stable/12/release/arm64/ROCKPRO64.conf (from r360272, head/release/arm64/ROCKPRO64.conf) ============================================================================== --- head/release/arm64/ROCKPRO64.conf Fri Apr 24 16:32:25 2020 (r360272, copy source) +++ stable/12/release/arm64/ROCKPRO64.conf Fri Jun 19 19:24:36 2020 (r362413) @@ -26,3 +26,10 @@ arm_install_uboot() { of=/dev/${mddev} bs=512 seek=16384 conv=sync return 0 } + +arm_do_quirk() { + echo '# Known issue with big.LITTLE' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf + echo 'hw.ncpu=4' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf +} Modified: stable/12/release/tools/arm.subr ============================================================================== --- stable/12/release/tools/arm.subr Fri Jun 19 19:16:25 2020 (r362412) +++ stable/12/release/tools/arm.subr Fri Jun 19 19:24:36 2020 (r362413) @@ -65,13 +65,21 @@ umount_loop() { arm_create_disk() { # Create the target raw file and temporary work directory. chroot ${CHROOTDIR} gpart create -s ${PART_SCHEME} ${mddev} - chroot ${CHROOTDIR} gpart add -t '!12' -a 512k -s ${FAT_SIZE} ${mddev} - chroot ${CHROOTDIR} gpart set -a active -i 1 ${mddev} - chroot ${CHROOTDIR} newfs_msdos -L msdosboot -F ${FAT_TYPE} /dev/${mddev}s1 - chroot ${CHROOTDIR} gpart add -t freebsd ${mddev} - chroot ${CHROOTDIR} gpart create -s bsd ${mddev}s2 - chroot ${CHROOTDIR} gpart add -t freebsd-ufs -a 64k /dev/${mddev}s2 - chroot ${CHROOTDIR} newfs -U -L rootfs /dev/${mddev}s2a + if [ "${PART_SCHEME}" == "GPT" ]; then + chroot ${CHROOTDIR} gpart add -t efi -l efi -a 512k -s ${FAT_SIZE} ${mddev} + chroot ${CHROOTDIR} newfs_msdos -L efi -F ${FAT_TYPE} /dev/${mddev}p1 + chroot ${CHROOTDIR} gpart add -t freebsd-ufs -l rootfs -a 64k ${mddev} + chroot ${CHROOTDIR} newfs -U -L rootfs /dev/${mddev}p2 + fi + if [ "${PART_SCHEME}" == "MBR" ]; then + chroot ${CHROOTDIR} gpart add -t '!12' -a 512k -s ${FAT_SIZE} ${mddev} + chroot ${CHROOTDIR} gpart set -a active -i 1 ${mddev} + chroot ${CHROOTDIR} newfs_msdos -L msdosboot -F ${FAT_TYPE} /dev/${mddev}s1 + chroot ${CHROOTDIR} gpart add -t freebsd ${mddev} + chroot ${CHROOTDIR} gpart create -s bsd ${mddev}s2 + chroot ${CHROOTDIR} gpart add -t freebsd-ufs -a 64k /dev/${mddev}s2 + chroot ${CHROOTDIR} newfs -U -L rootfs /dev/${mddev}s2a + fi return 0 } @@ -161,7 +169,12 @@ arm_setup_minimal_loader() { } arm_install_base() { - chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${DESTDIR} + if [ "${PART_SCHEME}" == "GPT" ]; then + chroot ${CHROOTDIR} mount /dev/${mddev}p2 ${DESTDIR} + fi + if [ "${PART_SCHEME}" == "MBR" ]; then + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${DESTDIR} + fi eval chroot ${CHROOTDIR} make -C ${WORLDDIR} \ TARGET=${EMBEDDED_TARGET} \ TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \ @@ -178,10 +191,18 @@ arm_install_base() { echo '# Custom /etc/fstab for FreeBSD embedded images' \ > ${CHROOTDIR}/${DESTDIR}/etc/fstab - echo "/dev/ufs/rootfs / ufs rw 1 1" \ - >> ${CHROOTDIR}/${DESTDIR}/etc/fstab - echo "/dev/msdosfs/MSDOSBOOT /boot/msdos msdosfs rw,noatime 0 0" \ - >> ${CHROOTDIR}/${DESTDIR}/etc/fstab + if [ "${PART_SCHEME}" == "GPT" ]; then + echo "/dev/ufs/rootfs / ufs rw 1 1" \ + >> ${CHROOTDIR}/${DESTDIR}/etc/fstab + echo "/dev/msdosfs/efi /boot/efi msdosfs rw,noatime 0 0" \ + >> ${CHROOTDIR}/${DESTDIR}/etc/fstab + fi + if [ "${PART_SCHEME}" == "MBR" ]; then + echo "/dev/ufs/rootfs / ufs rw 1 1" \ + >> ${CHROOTDIR}/${DESTDIR}/etc/fstab + echo "/dev/msdosfs/MSDOSBOOT /boot/msdos msdosfs rw,noatime 0 0" \ + >> ${CHROOTDIR}/${DESTDIR}/etc/fstab + fi echo "tmpfs /tmp tmpfs rw,mode=1777,size=50m 0 0" \ >> ${CHROOTDIR}/${DESTDIR}/etc/fstab @@ -206,8 +227,17 @@ arm_install_boot() { FATMOUNT="${DESTDIR%${KERNEL}}/fat" UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" - chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} - chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + if [ "${PART_SCHEME}" == "GPT" ]; then + dospart="/dev/${mddev}p1" + ufspart="/dev/${mddev}p2" + fi + if [ "${PART_SCHEME}" == "MBR" ]; then + dospart="/dev/${mddev}s1" + ufspart="/dev/${mddev}s2a" + fi + + chroot ${CHROOTDIR} mount_msdosfs ${dospart} ${FATMOUNT} + chroot ${CHROOTDIR} mount ${ufspart} ${UFSMOUNT} if [ "${EMBEDDED_TARGET}" == "arm" ]; then chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \