This is an old revision of the document!


This pages contains information about self-hosting on ARM devices.

  • SD cards are not suitable for heavy I/O and certain operations may take an excessive amount of time such as checking out source via SVN or GIT. This can however heavily depend on your SD card's performance, faster rating doesn't necessarily translate into better random write and read speed.
svnlite checkout svn://svn.freebsd.org/base/head /usr/src --> 10h58m28.12s real               5m32.95s user           16m11.79s sys

Also worth considering is that they have a very limited amount of writes compared to a HDD and SSD.

  • Compiling LLVM/Clang will roughly use 500-700MByte of memory per process at some stages which may cause your device to run out of memory. Adding a swap (1Gbyte is usually enough) will mitigate this issue but you most likely also want to limit jobs to 1 per 512Mbyte of total available memory. Compiling world and kernel takes more than a day using 2 jobs on armv7 or arm64.
  • You may want to set CPUTYPE?= in /etc/make.conf
    Pending patch for adding information in /usr/share/examples/etc/make.conf
  • If your device has less than 2Gbyte of RAM (see above) you can force number of jobs by setting MAKE_JOBS_NUMBER in /etc/make.conf to avoid excessive usage of swap and out of memory issues.
MAKE_JOBS_NUMBER=n

Where n corrensponds to the number of jobs

  • arm/self-hosting.1561146629.txt.gz
  • Last modified: 2019/06/21 19:50
  • by DanielEngberg