| Index: docs/chromeos_build_instructions.md
|
| diff --git a/docs/chromeos_build_instructions.md b/docs/chromeos_build_instructions.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0cfa993d3ec6088a4690c9a6433403be5a38019d
|
| --- /dev/null
|
| +++ b/docs/chromeos_build_instructions.md
|
| @@ -0,0 +1,104 @@
|
| +# ChromeOS Build Instructions (Chromium OS on Linux)
|
| +
|
| +Chromium on Chromium OS is built on a mix of code sourced from Chromium
|
| +on Linux and Chromium on Windows. Much of the user interface code is
|
| +shared with Chromium on Windows. As such, if you make a change to
|
| +Chromium on Windows you may find your changes affect Chromium on
|
| +Chromium OS. Fortunately to test the effect of your changes you don't
|
| +have to build all of Chromium OS, you can just build Chromium for
|
| +Chromium OS directly on Linux.
|
| +
|
| +First, follow the [normal Linux build
|
| +instructions](https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md)
|
| +as usual to get a Chromium checkout.
|
| +
|
| +## Running Chromium on your local machine
|
| +
|
| +If you plan to test the Chromium build on your dev machine and not a
|
| +Chromium OS device run:
|
| +
|
| +```shell
|
| +export GYP_DEFINES="chromeos=1"
|
| +gclient runhooks
|
| +```
|
| +
|
| +Now, once you build, you will build with Chromium OS features turned on.
|
| +
|
| +### Notes
|
| +
|
| +When you build Chromium OS Chromium, you'll be using the TOOLKIT\_VIEWS
|
| +front-end just like Windows, so the files you'll probably want are in
|
| +src/ui/views and src/chrome/browser/ui/views.
|
| +
|
| +If chromeos=1 is specified, then toolkit\_views=0 must not be specified.
|
| +
|
| +The Chromium OS build requires a functioning GL so if you plan on
|
| +testing it through Chromium Remote Desktop you might face drawing
|
| +problems (e.g. Aura window not painting anything). Possible remedies:
|
| +
|
| +* --ui-enable-software-compositing --ui-disable-threaded-compositing
|
| +* --use-gl=osmesa, but it's ultra slow, and you'll have to build
|
| + osmesa yourself.
|
| +* ... or just don't use Remote Desktop. :)
|
| +
|
| +Note the underscore in the GYP_DEFINES variable name, as people
|
| +sometimes mistakenly write it GYPDEFINES.
|
| +
|
| +To more closely match the UI used on devices, you can install fonts used
|
| +by Chrome OS, such as Roboto, on your Linux distro.
|
| +
|
| +To specify a logged in user:
|
| +
|
| +* For first run, add the following options to the command line:
|
| + **--user-data-dir=/tmp/chrome --login-manager**
|
| +* Go through the out-of-the-box UX and sign in as
|
| + **username@gmail.com**
|
| +* For subsequent runs, add the following to the command line:
|
| + **--user-data-dir=/tmp/chrome --login-user=username@gmail.com**.
|
| +* To run in guest mode instantly, you can run add the arguments
|
| + **--user-data-dir=/tmp/chrome --bwsi --incognito
|
| + --login-user='$guest' --login-profile=user**
|
| +
|
| +Signing in as a specific user is useful for debugging features like sync
|
| +that require a logged in user.
|
| +
|
| +### Compile Testing Chromium with the Chromium OS SDK (quick version)
|
| +
|
| +Note: These instructions are intended for Chromium developers trying to
|
| +diagnose compile issues on Chromium OS, which can block changes in the
|
| +CQ. See the [full
|
| +documentation](http://www.chromium.org/chromium-os/how-tos-and-troubleshooting/building-chromium-browser)
|
| +for more information about building & testing chromium for Chromium OS.
|
| +
|
| +To do a build of Chromium that can run on Chromium OS itself, the Chromium OS
|
| +SDK must be used. The SDK provides all of chromium's dependencies as they are
|
| +distributed with Chromium OS (as opposed to other distributions such as Ubuntu).
|
| +
|
| +To enter the SDK build environment, run the following command (replace the value
|
| +of the `--board` flag with the name of the configuration you want to test).
|
| +
|
| +```shell
|
| +cros chrome-sdk --board=amd64-generic --use-external-config
|
| +```
|
| +
|
| +Once in the SDK build environment, build using the normal linux workflow (except
|
| +for a different build directory):
|
| +
|
| +```shell
|
| +gclient runhooks
|
| +ninja -C out_amd64-generic/Release chromium_builder_tests
|
| +```
|
| +
|
| +The current configurations verified by the CQ are:
|
| +
|
| + Board Flag | Build Directory | CPU architecture
|
| + --- | --- | ---
|
| + amd64-generic | out_amd64-generic | 64-bit Intel
|
| + x86-generic | out_x86-generic | 32-bit Intel
|
| + daisy | out_daisy | 32-bit ARM
|
| +
|
| +## Running Chromium on a Chromium OS device
|
| +
|
| +Look at the [Chromium OS
|
| +documentation](http://www.chromium.org/chromium-os/how-tos-and-troubleshooting/building-chromium-browser)
|
| +for the official flow for doing this.
|
|
|