| 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.
|
|
|