Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jun 2020 08:54:52 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   4 GiByte RPi4 -j4 buildworld buildkernel when booted via https://github.com/pftf/RPi4/releases/tag/v1.16 materials: somewhat under 13 hours
Message-ID:  <22283E0A-29A9-40EE-895C-9641F9EA4E1D@yahoo.com>
References:  <22283E0A-29A9-40EE-895C-9641F9EA4E1D.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This was using over_voltage=3D6 and arm_freq=3D2000 via
config.txt . The environment is (mostly) based on
head -r360311 . EFI/BOOT/BOOTAA64.EFI ( loader.efi )
was more recent. A USB3 Ethernet is in use because
the built-in Ethernet does not show up in FreeBSD.
( /dev/mmcsd0 does not show up either. ) The RPi4
has heatsinks and a fan and was using a 5.1V 3.5A
power supply.

I deleted the prior contents of the build tree first.

. . .
make[1]: "/usr/src/Makefile.inc1" line 323: SYSTEM_COMPILER: Determined =
that CC=3Dcc matches the source tree.  Not bootstrapping a =
cross-compiler.
make[1]: "/usr/src/Makefile.inc1" line 328: SYSTEM_LINKER: Determined =
that LD=3Dld matches the source tree.  Not bootstrapping a cross-linker.
. . .
>>> World built in 43050 seconds, ncpu: 4, make -j4
. . .
>>> Kernel(s)  GENERIC-NODBG built in 2768 seconds, ncpu: 4, make -j4

So a little under 12 hours for buildworld and somewhat under 50
minutes for buildkernel. So, somewhat under 13 hours overall when
not needing to build a bootstrap compiler or linker. But my
selections of what/how to build are somewhat unusual. For
reference:

# more ~/src.configs/src.conf.cortexA53-clang-bootstrap.aarch64-host=20
TO_TYPE=3Daarch64
#
KERNCONF=3DGENERIC-NODBG
TARGET=3Darm64
.if ${.MAKE.LEVEL} =3D=3D 0
TARGET_ARCH=3D${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_SYSTEM_COMPILER=3D
WITH_SYSTEM_LINKER=3D
#
WITH_LIBCPLUSPLUS=3D
WITHOUT_BINUTILS_BOOTSTRAP=3D
WITH_ELFTOOLCHAIN_BOOTSTRAP=3D
#Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=3D
WITH_LLVM_TARGET_AARCH64=3D
WITH_LLVM_TARGET_ARM=3D
WITHOUT_LLVM_TARGET_MIPS=3D
WITHOUT_LLVM_TARGET_POWERPC=3D
WITHOUT_LLVM_TARGET_RISCV=3D
WITHOUT_LLVM_TARGET_X86=3D
WITH_CLANG=3D
WITH_CLANG_IS_CC=3D
WITH_CLANG_FULL=3D
WITH_CLANG_EXTRAS=3D
WITH_LLD=3D
WITH_LLD_IS_LD=3D
WITHOUT_BINUTILS=3D
WITH_LLDB=3D
#
WITH_BOOT=3D
WITHOUT_LIB32=3D
#
#
NO_WERROR=3D
MALLOC_PRODUCTION=3D
#
# Avoid stripping but do not control host -g status as well:
DEBUG_FLAGS+=3D
#
WITH_REPRODUCIBLE_BUILD=3D
WITH_DEBUG_FILES=3D
#
# Use of the .clang 's here avoids
# interfering with other C<?>FLAGS
# usage, such as ?=3D usage.
CFLAGS.clang+=3D -mcpu=3Dcortex-a53
CXXFLAGS.clang+=3D -mcpu=3Dcortex-a53
CPPFLAGS.clang+=3D -mcpu=3Dcortex-a53
ACFLAGS.arm64cpuid.S+=3D  -mcpu=3Dcortex-a53+crypto
ACFLAGS.aesv8-armx.S+=3D  -mcpu=3Dcortex-a53+crypto
ACFLAGS.ghashv8-armx.S+=3D        -mcpu=3Dcortex-a53+crypto

I currently use the same media with a Rock64 and
currently choose to tune for that CortexA53 context
instead of for CortexA72. (Both are -march=3Darmv8-a
and so are compatible.)

For reference, my odd variation of top
reported:

2104Mi MaxObsActive
661004Ki MaxObsWired
2628Mi MaxObs(Act+Wir)

"Obs" is short for "Observed".

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?22283E0A-29A9-40EE-895C-9641F9EA4E1D>