* libmbedtls => 4.0 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add librhash compatibility symlink to keep cmake from breaking. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add py3_jsonschema and add as dep to libmbedtls. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add py3_attrs build dep to libmbedtls. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add -Wno-dev to CMAKE_OPTIONS. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Do not cache git repos when in GitHub Actions. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add more python packages Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add py3_jsonschema_specifications. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add builds for py3_pygments Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adjust deps. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add py3_jinja2 dep to mbedtls build Signed-off-by: Satadru Pramanik <satadru@gmail.com> * lint Signed-off-by: Satadru Pramanik <satadru@gmail.com> * lint Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Disable tests. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adjust rubocop reinstalls during builds. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Update i686 manifest Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add armv7l manifest Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add x86_64 filelists. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Use array in superclass check. Signed-off-by: Satadru Pramanik <satadru@gmail.com> --------- Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Chat With Us
Note
Discord is not currently syncing messages with Slack
Overview
Chromebooks with ChromeOS run a Linux kernel. The only missing pieces to use them as full-featured Linux distro were gcc and make with their dependencies. Well, these pieces aren't missing anymore. Say hello to Chromebrew!
Prerequisites
You will need a Chromebook with developer mode enabled. To do so, select your device on the ChromiumOS Wiki and follow the instructions listed there.
Warning
Please be aware of the fact that developer mode is insecure if not properly configured.
Tip
Setting a password as instructed in the VT-2 login screen is recommended. It is also recommended to enable signed boot:
sudo chromeos-setdevpasswd sudo crossystem dev_boot_signed_only=1
Supported Systems
| Architecture | Supported? |
|---|---|
| x86_64 | Yes |
| i686 | Yes* |
| armv7l | Yes |
| aarch64 | Yes |
* We can only provide limited support for i686 since Google has discontinued support. Although we can no longer support GUI apps, we will try to continue to support CLI programs.
Installation
Important
The beta, dev, and Canary channels are not supported and should not be used with Chromebrew. Failure to take notice of this warning will cause major issues with your Chromebrew installation.
Warning
On ChromeOS M117+, the Chromebrew installer will not work in
croshanymore due to the security changes introduced in ChromeOS M117.
Open a VT-2 terminal session with Ctrl+Alt+-> and login with the chronos user and password if set above. (if you are unable to do this, please have a second look at the prerequisites and make sure your Chromebook is in developer mode)
Then run the installation script below:
bash <(curl -L git.io/vddgY) && . ~/.bashrc
Help
Please check out the wiki to find out more information about Chromebrew including helpful tips, resource links and frequently asked questions.
Also please check existing issues before submitting a new one.
Usage
crew <command> <package1> [<package2> ...]
Where available commands are:
| Command | Description |
|---|---|
| build | build package(s) from source and store the archive and checksum in the current working directory |
| check | check packages(s) |
| const | display constant(s) |
| deps | display dependencies of package(s) |
| diskstat | show statistics about disk space occupied by installed packages |
| download | download package(s) to CREW_BREW_DIR (/usr/local/tmp/crew by default), but don't install |
| files | display installed files of package(s) |
| help | get information about command usage |
| install | install package(s) along with dependencies after prompting for confirmation |
| list | available, compatible, incompatible, essential, installed packages |
| postinstall | display postinstall messages of package(s) |
| prop | display all package boolean properties |
| reinstall | remove and install package(s) |
| remove | remove package(s) |
| search | look for package(s) |
| sysinfo | show system information in markdown style |
| update_package_file | update package file binary hashes |
| update | update crew itself |
| upgrade | update all or specific package(s) |
| upload | upload binaries for all or specific package(s) |
| upstream | check if an upstream version is available for package(s) |
| version | check for the Chromebrew version, or if a package is specified, the package version |
| whatprovides | regex search for package(s) that contains file(s) |
Available packages are listed in the packages directory.
Chromebrew will wipe its BREW_DIR (/usr/local/tmp/crew by default) after installation unless you pass -k or --keep when running crew install.
crew install --keep [...]
License
Copyright 2013-2025 Michal Siwek and all the awesome contributors.
This project including all of its source files is released under the terms of GNU General Public License (version 3 or later). This project embeds docopt.rb at lib/docopt.rb. We retain its MIT license.
