The missing package manager for ChromeBooks
Chromebooks with Chrome OS run a Linux kernel. The only missing pieces to use them as full-featured Linux distro are GCC and Make with their dependencies. Well, these pieces aren't missing anymore. Say hello to ChromePKG!
You will need a Chromebook with Developer Mode enabled. To do so, select your device on the Chromium OS Wiki and follow the instructions listed there.
Please be aware of the fact that developer mode is insecure if not properly configured. Setting a password as instructed in the VT-2 login screen is essential. It is also recommended to enable signed boot:
sudo chromeos-setdevpasswd
sudo crossystem dev_boot_signed_only=1
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.
The beta, dev, and Canary channels are not supported and should not be used with ChromePKG. Failure to take notice of this will cause major issues with your ChromePKG installation.
Open Crosh with Ctrl+Alt+T and type shell
.
If this command returns ERROR: unknown command: shell
, please have a second look at the prerequisites and make sure your Chromebook is in developer mode.
Then download and run the installation script below:
curl -Ls https://git.io/JzMFm | bash
On a rooted Google OnHub, the command needs to be run with the "chronos" user. In order to make su work, a password is needed for the chronos user.
# passwd chronos
Changing password for chronos.
Enter new UNIX password:
Retype new UNIX password:
# su - chronos
Password:
$ curl -Ls https://git.io/JzMFm | bash
Please check out the wiki to find out more information about ChromePKG including helpful tips, resource links and frequently asked questions. Also please check existing issues before submitting a new one.
crpkg <command> [-k|--keep] <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 |
const | display constant(s) |
download | download package(s) to CREW_BREW_DIR (/usr/local/tmp/crpkg 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, installed, compatible or incompatible packages |
postinstall | display postinstall messages of package(s) |
reinstall | remove and install package(s) |
remove | remove package(s) |
search | look for package(s) |
update | update crpkg itself |
upgrade | update all or specific package(s) |
whatprovides | regex search for package(s) that contains file(s) |
Available packages are listed in the packages directory.
ChromePKG will wipe its BREW_DIR
(/usr/local/tmp/crpkg
by default) after installation unless you pass -k
or --keep
when running crpkg install
.
crpkg install --keep <package1> [<package2> ...]
Name | Description | Date Upgraded | Version |
---|---|---|---|
gcc | The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C, Fortran, Ada, and Go. | 2021-11-24 | 8.3.0 |
node | As an asynchronous event driven JavaScript runtime, Node is designed to build scalable network applications. | 2021-11-24 | 16.13.0 |
atom | The hackable text editor | 2021-08-21 | 1.58.0-1 |
vulkan_icd_loader | Vulkan Installable Client Driver ICD Loader | 2021-08-20 | 1.2.189 |
vulkan_headers | Vulkan header files | 2021-08-20 | 1.2.189 |
mesa | Open-source implementation of the OpenGL specification | 2021-08-20 | 21.2.1 |
upx | Extendable, high-performance executable packer for several executable formats | 2021-08-19 | 4.0.0-8a82 |
qtbase | Qt Base (Core, Gui, Widgets, Network, ...) | 2021-08-19 | 5.15.3 |
patchelf | PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables. | 2021-08-18 | 0.13 |
gtest | Google Test - C++ testing utility | 2021-08-17 | 1.11.0 |
libidn2 | GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA 2003 specifications. | 2021-08-17 | 2.3.2 |
libnghttp2 | library implementing HTTP/2 protocol | 2021-08-17 | 1.44.0 |
Name | Description | Date Added |
---|---|---|
crew | Chromebrew is a package manager for Chromebooks. | 2021-11-24 |
apktool | A tool for reverse engineering Android apk files | 2021-08-20 |
teams | Microsoft Teams - Meet, chat, call, and collaborate in just one place. | 2021-08-15 |
github_desktop | GitHub Desktop is an open source Electron-based GitHub app | 2021-08-15 |
py3_secretstorage | Python bindings to Freedesktop.org Secret Service API | 2021-07-29 |
py3_openssl | PyOpenSSL is a Python wrapper module around the OpenSSL library. | 2021-07-29 |
py3_oci | Oracle Cloud Infrastructure Python SDK | 2021-07-29 |
py3_keyring | Keyring stores and accesses your passwords safely. | 2021-07-29 |
py3_impacket | Impacket provides network protocols constructors and dissectors. | 2021-07-29 |
py3_ebooklib | Ebooklib is a Python E-book library for handling books in EPUB2/EPUB3 format. | 2021-07-29 |
py3_cryptography | Cryptography provides cryptographic recipes and primitives to Python developers. | 2021-07-29 |
Copyright © 2021 Zach, Inc. This project, including all of its source files, is released under the terms of GNU General Public License (version 3 or later).