[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.
Cheers,
Mikael
-------------- 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