From nobody Tue Feb 18 17:48:16 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yy6Sd5Bgnz5nxBK; Tue, 18 Feb 2025 17:48:17 +0000 (UTC) (envelope-from git@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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yy6Sd2WBnz3cVV; Tue, 18 Feb 2025 17:48:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739900897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E55PdLEICWNxYiUHWC2eL+LBfeKKuOrnKkGgqkvc74I=; b=YOuoYfxc6fQDJFeJXUZepdp/9dEmFmyQ+0C+HERATJP8UbnHkdWs3dAcCXVeyju0DYFXMD AEetq9owruHQZpu7IySXZyOAmvMnJpvcFUz7q+u33ypDeoUMQdOdTGg9jKTL4tvMfYY0OH SWH+vMPWMECuQLtoUDUrVDZhniR82AzuoXVedrOylDpttYd7NmbhJ85bNq1rAGOZKQLSPu PPnVye2dWWovNbRAMkJ/PJFp22KK1vk6YA3XdnCKjyDMt2NPfcqWi8kSbtICZst7bH4qYe kkavZCJ0zN4BH6ejInTgkoi30KYx/yC8SjyAFd5q3tb9cIbFZe8vYbPmiQaK+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739900897; a=rsa-sha256; cv=none; b=yfu05q2UtiBRI/L5VJnhLUtDE1LA9DmK461EmXTzW8IJgbiuHXSurQ88Zp3ZrJ7DWiv25J onVxJKV5dalH91jEywCXTNm/3goRQr7o3xipBBq52V5TacblX7Bs43C1duw0Oehj+R6DlQ Pw7JcNx17p0f2C3lnGCO8UDDp0hTFlrQGjjJnAAri0hwnIkqba76bRakVj/OQNz+VCvKdk qQNoQwcql7qd3L37lhrz+m86/0InmCAJ77R9Bn+zQkAX83POqdGlckgAJXnKyyaxDp6O9b COwsPKHGSldKjEw7SLRz5aOPM29HGwgw0ZNgCfX53eKb96uSlJCWjuIIFWB69g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739900897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E55PdLEICWNxYiUHWC2eL+LBfeKKuOrnKkGgqkvc74I=; b=H23FpN/cq+xxE7OIkliDowOUoyel8l7Jg3piKRnBssq6L2racQdhGFzNuleOerISq2rZMz Y7d2NMnJkeGvvhr7heKv1jlvLpq4yKZuN5Db4cGT+YdX0MMa/ODfYpa1tcR9Vc8001Xj40 JOGL04h20NW9+PMaIuVeWmSvg4oGC3+OyOnZI4hRJPnAxu2Iesn954KjZsJwRsuACfPoDC L2yBwknGzRCexR8tKDR+9y+iDMCwmzCCB5vlqvUA5OdseO1iPb7x4N+dvGTzAW2sZWY75A DyrIvhB957nowNoOvW26o+IVHYTkV2TUbVnsvyz0Je2wkXRb8mLapaDiyqDe2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yy6Sc5ynczTZn; Tue, 18 Feb 2025 17:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51IHmGmn023113; Tue, 18 Feb 2025 17:48:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51IHmG8V023110; Tue, 18 Feb 2025 17:48:16 GMT (envelope-from git) Date: Tue, 18 Feb 2025 17:48:16 GMT Message-Id: <202502181748.51IHmG8V023110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 006aaafd3552 - main - full-test.sh: Support running on macos List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 006aaafd3552fefcd615efc200a48d6fa864aa28 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=006aaafd3552fefcd615efc200a48d6fa864aa28 commit 006aaafd3552fefcd615efc200a48d6fa864aa28 Author: Warner Losh AuthorDate: 2025-02-18 17:43:06 +0000 Commit: Warner Losh CommitDate: 2025-02-18 17:43:20 +0000 full-test.sh: Support running on macos Sponsored by: Netflix --- tools/boot/full-test.sh | 80 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 60 insertions(+), 20 deletions(-) diff --git a/tools/boot/full-test.sh b/tools/boot/full-test.sh index bdb030361b1f..370088f120bb 100644 --- a/tools/boot/full-test.sh +++ b/tools/boot/full-test.sh @@ -30,6 +30,47 @@ BIOS=${STAND_ROOT}/bios SCRIPTS=${STAND_ROOT}/scripts OVERRIDE=${STAND_ROOT}/override +# Find make +case $(uname) in + Darwin) + t=$(realpath $(dirname $0)/../..) + # Use the python wrapper to find make + if [ -f ${t}/tools/build/make.py ]; then + MAKE="${t}/tools/build/make.py" + case $(uname -m) in + arm64) + DEFARCH="TARGET_ARCH=aarch64 TARGET=arm64" + ;; + x86_64) + DEFARCH="TARGET_ARCH=amd64 TARGET=amd64" + ;; + *) + die "Do not know about $(uanme -p)" + ;; + esac + else + die "Can't find the make wrapper" + fi + ;; + FreeBSD) + MAKE=make + ;; + # linux) not yet + *) + die "Do not know about system $(uname)" + ;; +esac + +SRCTOP=$(${MAKE} ${DEFARCH} -v SRCTOP) +echo $SRCTOP + +# Find makefs and mkimg +MAKEFS=$(SHELL="which makefs" ${MAKE} ${DEFARCH} buildenv | tail -1) || die "No makefs try WITH_DISK_IMAGE_TOOLS_BOOTSTRAP=y" +MKIMG=$(SHELL="which mkimg" ${MAKE} ${DEFARCH} buildenv | tail -1) || die "No mkimg, try buildworld first" +MTREE=$(SHELL="which mtree" ${MAKE} ${DEFARCH} buildenv | tail -1) || die "No mtree, try buildworld first" + +# MAKE=$(SHELL="which make" ${MAKE} ${DEFARCH} buildenv | tail -1) || die "No make, try buildworld first" + # hack -- I have extra junk in my qemu, but it's not needed to recreate things if [ $(whoami) = imp ]; then qemu_bin=/home/imp/git/qemu/00-build @@ -46,8 +87,6 @@ ARCHES="amd64:amd64 arm64:aarch64" # The smallest FAT32 filesystem is 33292 KB espsize=33292 -SRCTOP=$(make -v SRCTOP) - mkdir -p ${CACHE} ${TREES} ${IMAGES} ${BIOS} die() @@ -197,14 +236,15 @@ make_freebsd_test_trees() [ "${m}" != "${ma}" ] && ma_combo="${m}-${ma}" dir=${TREES}/${ma_combo}/test-stand mkdir -p ${dir} - mtree -deUW -f ${SRCTOP}/etc/mtree/BSD.root.dist -p ${dir} + ${MTREE} -deUW -f ${SRCTOP}/etc/mtree/BSD.root.dist -p ${dir} echo "Creating tree for ${m}:${ma}" - cd ${SRCTOP}/stand + cd ${SRCTOP} # Indirection needed because our build system is too complex -# SHELL="make clean" make buildenv TARGET=${m} TARGET_ARCH=${ma} - SHELL="make -j 100 all" make buildenv TARGET=${m} TARGET_ARCH=${ma} - SHELL="make install DESTDIR=${dir} MK_MAN=no MK_INSTALL_AS_USER=yes WITHOUT_DEBUG_FILES=yes" \ - make buildenv TARGET=${m} TARGET_ARCH=${ma} + # Also, bare make for 'inside' the buildenv ${MAKE} for outside +# SHELL="make clean" ${MAKE} buildenv TARGET=${m} TARGET_ARCH=${ma} + SHELL="sh -c 'cd stand ; make -j 100 all'" ${MAKE} TARGET=${m} TARGET_ARCH=${ma} buildenv + DESTDIR=${dir} SHELL="sh -c 'cd stand ; make install MK_MAN=no MK_INSTALL_AS_USER=yes WITHOUT_DEBUG_FILES=yes'" \ + ${MAKE} buildenv TARGET=${m} TARGET_ARCH=${ma} rm -rf ${dir}/bin ${dir}/[ac-z]* # Don't care about anything here done } @@ -279,14 +319,14 @@ make_linuxboot_images() img2=${IMAGES}/${ma_combo}/linuxboot-${ma_combo}-zfs.img pool="linuxboot" mkdir -p ${IMAGES}/${ma_combo} - makefs -t msdos -o fat_type=32 -o sectors_per_cluster=1 \ + ${MAKEFS} -t msdos -o fat_type=32 -o sectors_per_cluster=1 \ -o volume_label=EFISYS -s80m ${esp} ${src} - makefs -t ffs -B little -s 200m -o label=root ${ufs} ${dir} ${dir2} - mkimg -s gpt -p efi:=${esp} -p freebsd-ufs:=${ufs} -o ${img} - makefs -t zfs -s 200m \ + ${MAKEFS} -t ffs -B little -s 200m -o label=root ${ufs} ${dir} ${dir2} + ${MKIMG} -s gpt -p efi:=${esp} -p freebsd-ufs:=${ufs} -o ${img} + ${MAKEFS} -t zfs -s 200m \ -o poolname=${pool} -o bootfs=${pool} -o rootpath=/ \ ${zfs} ${dir} ${dir2} - mkimg -s gpt \ + ${MKIMG} -s gpt \ -p efi:=${esp} \ -p freebsd-zfs:=${zfs} -o ${img2} rm -f ${esp} # Don't need to keep this around @@ -446,10 +486,10 @@ make_freebsd_images() cat > ${dir2}/etc/fstab < ${dir2}/etc/fstab < ${dir2}/etc/fstab <