I initially planned to start this series with some introductory material, such as giving a tour of the project, or explaining why I think contributing is a worthy endeavor.
At the same time, setting up Chromium will keep your development machine busy for a long time. Start this right away, so you won’t be blocked waiting for your computer later on.
Chromium development requires a reasonably powerful machine. Your computer should have at least 4GB of RAM and at least 60GB of free disk space.
This article contains an easy way of getting a Chromium development environment. For the sake of simplicity, I made some decisions for you, and didn’t waste space documenting alternatives.
You can make different choices, and you’re responsible for figuring out how they impact my instructions. In general, you can get away with any change, as long as you can read the full Chromium guides, and use Google and StackOverflow to figure out error messages.
Use a UNIX Operating System
My articles assume you use a UNIX operating system. You’ll have the easiest time developing on OS X, but running it requires an Apple computer. For PCs, the best environment for Chromium development is the Ubuntu Linux distribution.
Mainstream Linux distributions, such as Fedora and Arch are also supported, but you’ll have to do a bit more research and debugging to if some of the commands don’t work right away.
Windows is not suitable for Chrome development, and I recommend against using it. The only good reason for running Windows on a machine is hardware support. If your machine needs Windows drivers, you should use a virtualization product, such as VirtualBox or VMWare Player, and get Ubuntu Linux. You should allocate at least 4GB of RAM and 64 GB of disk space to the VM that you use to run Ubuntu.
You need git to be able to contribute to many popular open-source software. If you don’t know how to use git, worry about that later. Remember we’re trying to kick off all the downloads you need to hack on Chromium, so you can read up on stuff you need while your dev machine downloads code.
On OS X, installing Apple’s XCode will give you git and all the other tools you need to build Chromium.
On Ubuntu, run the command below in Terminal. Other Linux distributions require similar commands.
Chromium uses code from dozens (if not hundreds) of code repositories. The only sane way of getting all the code is to use depot_tools, which is their repository management software.
Copy-paste the commands below in Terminal.
Set Your Environment Variables
The Chromium tools use a few environment variables. To make your life easy,
they should be always set on your development machine. The best way to achieve
that is to add the lines below to
~/.bash_profile (on OS X) or to
On OS X, the easiest way of editing the file I mentioned is to run the commands below in Terminal, and adding the lines above in the TextEdit window that shows up.
On Ubuntu Linux, use the commands below instead.
Get the Chromium Source Code
You are now ready to download the all source code used to build Chromium. If you have a laptop, go to the place with the best Internet connection that you have access to, because you’ll be downloading a few gigabytes of code.
Run the commands below in Terminal.
Handling fetch Errors
The fetch command may fail if either your Internet connection or Google’s server goes down during the (very long) download. If that happens, remove everything and try again.
Get Libraries and Tools
On OS X, XCode contains all the tools you need to build Chromium.
On Ubuntu, run the commands below in Terminal.
For other Linux distributions, find the relevant section under Distribution-specific Notes in Chromium’s Linux Build Prerequisites wiki page, and follow the instructions there. The official instructions tend to be out of date, so read through the comments section on the page for updates.
The Chromium build process takes up a few hours and all the CPU cycles that your machine has to spare, causing its fans to blow at full speed. Make sure this is appropriate in your environment.
Run the commands below in Terminal to build Chromium.
Dealing with Build Errors
If you’re unlucky, you might get build errors. This usually happens when some tool or library (such as the compiler installed by Xcode) is updated, and Chromium hasn’t caught up with the changes. Before trying anything else, update the source code using the commands below, then run the build commands above again.
If you’re particularly unlucky, you’ll have to figure out the error by yourself. It usually comes down to missing a library or tool.
Set Up the Sandbox
Chromium uses sandboxing to reduce the amount of damage that a security vulnerability can cause. You don’t need to understand how it works right now, but you do need to run the commands below once to get your Chromium build running.
If you made it this far, your development machine is all set up for hacking on Chromium. Check your work by running the Chromium binary that you have just built.
On OS X, run the commands below.
On Linux, use these commands instead.
Congratulations! You are now ready to change the world!
I used information from the Chromium guides below.