| Index: docs/using_a_linux_chroot.md
|
| diff --git a/docs/using_a_linux_chroot.md b/docs/using_a_linux_chroot.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e95eabdd65af62c3824b0e33e18b03fed9b625ad
|
| --- /dev/null
|
| +++ b/docs/using_a_linux_chroot.md
|
| @@ -0,0 +1,62 @@
|
| +# Using a chroot
|
| +
|
| +If you want to run layout tests and you're not running Lucid, you'll get errors due to version differences in libfreetype. To work around this, you can use a chroot.
|
| +
|
| +# Basic Instructions
|
| +
|
| + * Run `build/install-chroot.sh`. On the prompts, choose to install a 64-bit Lucid chroot and activate all your secondary mount points.
|
| + * sudo edit `/etc/schroot/mount-lucid64bit` and uncomment `/run` and `/run/shm`. Verify that your mount points are correct and uncommented: for example, if you have a second hard drive at `/src`, you should have an entry like `/src /src none rw,bind 0 0`.
|
| + * Enter your chroot as root with `sudo schroot -c lucid64`. Run `build/install-build-deps.sh`, then exit the rooted chroot.
|
| + * Delete your out/ directory if you had a previous non-chrooted build.
|
| + * To enter your chroot as normal user, run `schroot -c lucid64`.
|
| + * Now run `build/gyp_chromium`, compile and run DumpRenderTree within chroot.
|
| +
|
| +
|
| +# Tips and Tricks
|
| +
|
| +## NFS home directories
|
| +The chroot install will be installed by default in /home/$USER/chroot. If your home directory is inaccessible by root (typically because it is mounted on NFS), then move this directory onto your local disk and change the corresponding entry in `/etc/schroot/mount-lucid64bit`.
|
| +
|
| +## Goma builds
|
| +If you get mysterious compile errors (glibconfig.h or dbus header error), make sure that goma is running in the chroot, or don't use goma for builds inside the chroot.
|
| +
|
| +## Different color prompt
|
| +
|
| +I use the following code in my .zshrc file to change the color of my prompt in the chroot.
|
| +```
|
| +# load colors
|
| +autoload colors zsh/terminfo
|
| +if [[ "$terminfo[colors]" -ge 8 ]]; then
|
| + colors
|
| +fi
|
| +for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
|
| + eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
|
| + eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
|
| +done
|
| +PR_NO_COLOR="%{$terminfo[sgr0]%}"
|
| +
|
| +# set variable identifying the chroot you work in (used in the prompt below)
|
| +if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
| + debian_chroot=$(cat /etc/debian_chroot)
|
| +fi
|
| +
|
| +if [ "xlucid64" = "x$debian_chroot" ]; then
|
| + PS1="%n@$PR_GREEN% lucid64$PR_NO_COLOR %~ %#"
|
| +else
|
| + PS1="%n@$PR_RED%m$PR_NO_COLOR %~ %#"
|
| +fi
|
| +```
|
| +
|
| +## Running X apps
|
| +
|
| +I also have `DISPLAY=:0` in my `$debian_chroot` section so I can run test\_shell or layout tests without manually setting my display every time. Your display number may vary (`echo $DISPLAY` outside the chroot to see what your display number is).
|
| +
|
| +You can also use `Xvfb` if you only want to [run tests headless](http://code.google.com/p/chromium/wiki/LayoutTestsLinux#Using_an_embedded_X_server).
|
| +
|
| +## Having layout test results open in a browser
|
| +
|
| +After running layout tests, you should get a new browser tab or window that opens results.html. If you get an error "Failed to open [file:///path/to/results.html](file:///path/to/results.html)", check the following conditions.
|
| +
|
| + 1. Make sure `DISPLAY` is set. See the [Running X apps](https://code.google.com/p/chromium/wiki/UsingALinuxChroot#Running_X_apps) section above.
|
| + 1. Install `xdg-utils`, which includes `xdg-open`, a utility for finding the right application to open a file or URL with.
|
| + 1. Install [Chrome](https://www.google.com/intl/en/chrome/browser/).
|
|
|