Index: docs/linux_chromium_arm.md |
diff --git a/docs/linux_chromium_arm.md b/docs/linux_chromium_arm.md |
index 927be6e79497a92460fc6f0df9f21e2b9645a430..2e01d77e52c3b682ab593da43998eda71a916f62 100644 |
--- a/docs/linux_chromium_arm.md |
+++ b/docs/linux_chromium_arm.md |
@@ -1,21 +1,21 @@ |
-Note this currently contains various recipes: |
+# Linux Chromium Arm Recipes |
+[TOC] |
+## Recipe1: Building for an ARM CrOS device |
---- |
+This recipe uses `ninja` (instead of `make`) so its startup time is much lower |
+(sub-1s, instead of tens of seconds), is integrated with goma (for |
+google-internal users) for very high parallelism, and uses `sshfs` instead of |
+`scp` to significantly speed up the compile-run cycle. It has moved to |
+https://sites.google.com/a/chromium.org/dev/developers/how-tos/-quickly-building-for-cros-arm-x64 |
+(mostly b/c of the ease of attaching files to sites). |
-# Recipe1: Building for an ARM CrOS device |
-This recipe uses `ninja` (instead of `make`) so its startup time is much lower (sub-1s, instead of tens of seconds), is integrated with goma (for google-internal users) for very high parallelism, and uses `sshfs` instead of `scp` to significantly speed up the compile-run cycle. It has moved to https://sites.google.com/a/chromium.org/dev/developers/how-tos/-quickly-building-for-cros-arm-x64 (mostly b/c of the ease of attaching files to sites). |
+## Recipe2: Explicit Cross compiling |
- |
- |
---- |
- |
- |
-# Recipe2: Explicit Cross compiling |
- |
-Due to the lack of ARM hardware with the grunt to build Chromium native, cross compiling is currently the recommended method of building for ARM. |
+Due to the lack of ARM hardware with the grunt to build Chromium native, cross |
+compiling is currently the recommended method of building for ARM. |
These instruction are designed to run on Ubuntu Precise. |
@@ -24,30 +24,28 @@ These instruction are designed to run on Ubuntu Precise. |
The install-build-deps script can be used to install all the compiler |
and library dependencies directly from Ubuntu: |
-``` |
-$ ./build/install-build-deps.sh --arm |
-``` |
+ $ ./build/install-build-deps.sh --arm |
### Installing the rootfs |
-A prebuilt rootfs image is kept up-to-date on Cloud Storage. It will |
-automatically be installed by gclient runhooks installed if you have 'target\_arch=arm' in your GYP\_DEFINES. |
+A prebuilt rootfs image is kept up-to-date on Cloud Storage. It will |
+automatically be installed by gclient runhooks installed if you have |
+`target_arch=arm` in your `GYP_DEFINES`. |
To install the sysroot manually you can run: |
-``` |
-$ ./chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py --arch=arm |
-``` |
+ |
+ ./chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py \ |
+ --arch=arm |
### Building |
-To build for ARM, using the clang binary in the chrome tree, use the following settings: |
+To build for ARM, using the clang binary in the chrome tree, use the following |
+settings: |
-``` |
-export GYP_CROSSCOMPILE=1 |
-export GYP_DEFINES="target_arch=arm" |
-``` |
+ export GYP_CROSSCOMPILE=1 |
+ export GYP_DEFINES="target_arch=arm" |
-There variables need to be set at gyp-time (when you run gyp\_chromium), |
+There variables need to be set at gyp-time (when you run `gyp_chromium`), |
but are not needed at build-time (when you run make/ninja). |
## Testing |
@@ -55,21 +53,20 @@ but are not needed at build-time (when you run make/ninja). |
### Automated Build and Testing |
Chromium's testing infrastructure for ARM/Linux is (to say the least) |
-in its infancy. There are currently two builders setup, one on the |
+in its infancy. There are currently two builders setup, one on the |
FYI waterfall and one the the trybot waterfall: |
http://build.chromium.org/p/chromium.fyi/builders/Linux%20ARM%20Cross-Compile |
http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_arm |
- |
-These builders cross compile on x86-64 and then trigger testing |
-on real ARM hard bots: |
+These builders cross compile on x86-64 and then trigger testing on real ARM hard |
+bots: |
http://build.chromium.org/p/chromium.fyi/builders/Linux%20ARM%20Tests%20%28Panda%29/ |
http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_arm_tester |
-Unfortunately, even those the builders are usually green, the testers |
-are not yet well maintained or monitored. |
+Unfortunately, even those the builders are usually green, the testers are not |
+yet well maintained or monitored. |
There is compile-only trybot and fyi bot also: |
@@ -78,7 +75,10 @@ http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_arm_compile |
### Testing with QEMU |
-If you don't have a real ARM machine, you can test with QEMU. For instance, there are some prebuilt QEMU Debian images here: http://people.debian.org/~aurel32/qemu/. Another option is to use the rootfs generated by rootstock, as mentioned above. |
+If you don't have a real ARM machine, you can test with QEMU. For instance, |
+there are some prebuilt QEMU Debian images here: |
+http://people.debian.org/~aurel32/qemu/. Another option is to use the rootfs |
+generated by rootstock, as mentioned above. |
Here's a minimal xorg.conf if needed: |
@@ -119,5 +119,7 @@ EndSection |
``` |
### Notes |
- * To building for thumb reduces the stripped release binary by around 9MB, equating to ~33% of the binary size. To enable thumb, set 'arm\_thumb': 1 |
- * TCmalloc does not have an ARM port, so it is disabled. |
+ |
+* To building for thumb reduces the stripped release binary by around 9MB, |
+ equating to ~33% of the binary size. To enable thumb, set `'arm_thumb': 1` |
+* TCmalloc does not have an ARM port, so it is disabled. |