Chromium Docs - Using a chroot (original) (raw)
If you want to run web 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
. Runbuild /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 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
.
Reclient builds
If you get mysterious compile errors (glibconfig.h or dbus header error), don't use reclient 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 web 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.
Having web test results open in a browser
After running web 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, check the following conditions.
- Make sure
DISPLAY
is set. See the Running X apps section above. - Install
xdg-utils
, which includesxdg-open
, a utility for finding the right application to open a file or URL with. - Install Chrome.