[PATCH] [DOCS] How to Build on ARM

Mikael Lyngvig mikael at lyngvig.org
Thu Nov 14 15:12:25 PST 2013

The patch adds Renatos very valuable tips and tricks for using ARM
development boards to the ARM build documentation.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131115/dc0786a5/attachment.html>
-------------- next part --------------
Index: HowToBuildOnARM.rst
--- HowToBuildOnARM.rst	(revision 194711)
+++ HowToBuildOnARM.rst	(working copy)
@@ -45,3 +45,40 @@
      --target=armv7l-unknown-linux-gnueabihf --with-cpu=cortex-a9 \
      --with-float=hard --with-abi=aapcs-vfp --with-fpu=neon \
      --enable-targets=arm --enable-optimized --enable-assertions
+Notes On Using ARM Boards as Buildbot Slaves
+These notes were gleaned from the LLVMdev mailing list:
+1. Always have more than one buildbot on any configuration. Build time can be
+   huge, and dev boards are notoriously faulty. We have had huge problems with
+   Panda boards in the past, to the point where they were all removed from the
+   build system. The Odroid U2 seems more stable, but the XU has some
+   hardware/kernel problems (randomly re-mounting partitions read-only,
+   disabling CPUs and never re-enabling them again, cache flush between every
+   big.LITTLE switch, amongst others).
+2. Create boot scripts to check for those problems, plus set the CPU scheduler
+   to "performance" on ALL CPUs. This eases most CPU problems:
+   .. code-block:: bash
+      # The code below requires the package 'cpufrequtils' to be installed.
+      for ((cpu=0; cpu<`grep -c proc /proc/cpuinfo`; cpu++)); do
+          sudo cpufreq-set -c $cpu -g performance
+      done
+3. Create a stable configuration and save the image as it will run in
+   production, to make it easier to re-create bots on the spot.
+4. Have extra spare boards to replace a broken bot, as most of the time, the
+   easiest path is to re-flash, but you need something running while you do it.
+5. Running the build on SD cards is ok, but they are more prone to failures
+   than good quality USB sticks, and those are more prone to failures than
+   external hard-drives (those are also a lot faster). So, at least, I'd
+   recommend you to buy a SanDisk Ultra USB stick.
+6. Make sure you have a decent power supply (dozens of dollars worth) that can
+   provide *at least* 4 amperes.

More information about the llvm-commits mailing list