Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 May 2021 23:26:00 +0100
From:      tech-lists <tech-lists@zyxst.net>
To:        freebsd-arm@freebsd.org
Subject:   Re: RPi 4 build time
Message-ID:  <YKgzeLxxZNhViwoi@ceres.zyxst.net>
In-Reply-To: <YKgTB7Hf3dkQiW5c@vax.khramtsov.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
Hi,

On Fri, May 21, 2021 at 11:07:35PM +0300, Evgeniy Khramtsov via freebsd-arm wrote:

>How long are compile times for aarch64 8 GB RPi? It is especially
>interesting to know about overclocked results. I guess buildworld time
>would describe it well, but any heavy port (ex. rust) would also be great.

It depends. I've got it down to about 4 1/2 hrs for the
buildworld/buildkernel steps. But this is after all this has been done:

for stable/13:

1. configuration and use of devel/ccache-static
2. clocking to 2.0 GHz with the following config.txt:

[...]
% less /boot/msdos/config.txt 
arm_control=0x200
dtparam=audio=on,i2c_arm=on,spi=on
dtoverlay=mmc
dtoverlay=pwm
dtoverlay=disable-bt
device_tree_address=0x4000
kernel=u-boot.bin
over_voltage=6
arm_freq=2000
sdram_freq_min=3200

*make SURE you have good cooling!!!!!* I have a flirc rpi4 case on this
one.

3. /usr/obj /usr/src and /var/cache/ccache on zfs on usb3-connected
spinning rust

4. /tmp as tmpfs (512mb)

5. make -j6 buildworld && make -j6 buildkernel (after make -j10 cleanworld 
&& make -j10 cleandir && make -j10 clean)

6. having *already built* a new world and kernel and installed it all and
rebooted, which had been built with the following /etc/src.conf :

[...]
WITH_MALLOC_PRODUCTION=
WITHOUT_DEBUG_FILES=
WITH_CCACHE_BUILD=
WITH_OPENSSL_KTLS=

WITHOUT_APM=
WITHOUT_ASSERT_DEBUG=
WITHOUT_BLUETOOTH=
WITHOUT_CUSE=
WITHOUT_DICT=                                                                                                  
WITHOUT_DMAGENT=                                                                                               
WITHOUT_FLOPPY=                                                                                                
WITHOUT_FREEBSD_UPDATE=                                                                                        
WITHOUT_HAST=                                                                                                  
WITHOUT_IPFILTER=                                                                                              
WITHOUT_IPFW=                                                                                                  
WITHOUT_ISCSI=                                                                                                 
WITHOUT_KERNEL_SYMBOLS=                                                                                        
WITHOUT_LLVM_TARGET_ALL=                                                                                       
WITH_LLVM_TARGET_AARCH64=                                                                                      
WITH_LLVM_TARGET_ARM=
WITHOUT_LPR=
WITHOUT_NDIS=
WITHOUT_NETGRAPH=
WITHOUT_NIS=
WITHOUT_OFED=
WITHOUT_PORTSNAP=
WITHOUT_PPP=
WITHOUT_RADIUS_SUPPORT=
WITH_RATELIMIT=
WITHOUT_RBOOTD=
WITHOUT_ROUTED=
WITH_SORT_THREADS=
WITH_SVN=
WITHOUT_TALK=
WITHOUT_TESTS=
WITHOUT_TFTP=
WITHOUT_UNBOUND=
#
CFLAGS.clang+= -mcpu=cortex-a72
CXXFLAGS.clang+= -mcpu=cortex-a72
CPPFLAGS.clang+= -mcpu=cortex-a72
ACFLAGS.arm64cpuid.S+= -mcpu=cortex-a72+crypto
ACFLAGS.aesv8-armx.S+= -mcpu=cortex-a72+crypto
ACFLAGS.ghashv8-armx.S+= -mcpu=cortex-a72+crypto

(and afterwards, make check-old (then) yes | make delete-old then yes|
make delete-old-libs) then 

7. with the following in /etc/sysctl.conf :
vfs.read_max=128 

With regard to building ports (I use poudriere-devel) with jobs=4 I see
the following build times for the largest five ports built subsequently:

rust-1.51.0 took 7hrs 46mins
doxygen-1.9.1,2 took 1hr 36mins
texlive-texmf-20150523_4 took 1hr 36mins
llvm10-10.0.1_5 took 1hr 4mins
binutils-2.33.1_4,1 took 57mins 37s

The poudriere jail instance for this rpi4 uses the same /usr/src as what
has built the OS. This means it was built with the same /etc/src.conf
parameters.

My other rpi4 (runs main/14, currently I'm testing it) will clock to 2.1GHz. 
I've not thoroughly tested buildtimes there yet.

I forgot to mention both my stable/13 rpi4 and main/14rpi4 run powerd
with these lines in /etc/rc.conf:

powerd_enable="YES"
powerd_flags="-r 1"
-- 
J.

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE8n3tWhxW11Ccvv9/s8o7QhFzNAUFAmCoM28ACgkQs8o7QhFz
NAU0Ig//TUV/8RGRhH1No8N6Ux/LQzdJF7ow9qMCB+XLH8JfNO7ZbfJdgBsmd9ct
YjRWkZa2Azaxdu8Kk9XXciY7i9O7kV5MJAsCpagOngXDC8E4jC+H2Yy8mCVAudjJ
j1Tqx8YHTh8INBk36nCDKGkG9yn/IcIvF6PFieRAoNFHGS7FXGiJ/qZil+6duJdK
GTgf+aiwn29L3Y6XfF5XNgR7FRvnBSY4aL2+Yme+hLfAyYWea+0eXSbFKE4XmbSt
hnPPE5sCII4hAsRqEpVwcQw58pej9fvLCSGq35G6TEFrhP5ec3QRq2kbHGq6jpSF
MwjAbLYk49Jb+gMophB+fy9sbaWCW2Px79hzieszQPoKDpWugAxm/nWq0OpVEAmo
mlFtio6Jl3Jya1fac75PIbJ+9xXrg9Dczx6ZfEBfe5lXTrHzyhwAsw2iFaN8000x
nv6XRrUhw4cv21OsXEMzLHIQJyZJsv/ce8duwsmGwhpcRY1NZvY5W8ihvg6CGXJN
zYMrDbpK5RBnyxpgjM+OBlFM/h1YCND2LWFJFHcLU+S/hWjPNo0aTu216hmGe4yO
y2JkYlNMIVXhPicnxAQTNe0f8+sN0EfDxTRzoTHQBoPwKUv/RAGDcGfee65i5BCt
dCP/Lhvj5pmFz1yJvkoONEuYBSfsmutgho3YE/SVYRgJPQwNHUA=
=DFQv
-----END PGP SIGNATURE-----
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YKgzeLxxZNhViwoi>