A fork of the original chrx installer, redesigned to work with any Linux distribution that provides a rootfs tarball. Install your favorite distro on your Chromebook with a single command!
Install chrx and set up Linux on your Chromebook with one command, run twice:
curl -L tinyurl.com/td-chrx-tar | sudo tar xzfC - /usr/local && chrx- Creates a partition for Linux
- Asks for desired partition size (default: 16 GB)
- Formats the partition
- Prompts you to run the command again
- Downloads and installs Linux
- Default: Zorin OS 17 Core
- Configures system settings
- Installs GRUB bootloader
- Sets up dual-boot with ChromeOS
- Universal: Works with any Linux distro that provides a tar.gz rootfs
- Two-step process: Partition once, install once
- Smart detection: Automatically determines which mode to run
- URL support: Handles direct downloads and shortlinks (TinyURL, bit.ly, etc.)
- Interactive TUI: Beautiful text-based menus for easy configuration
- Non-interactive mode: Full automation with command-line options
- GRUB automation: Automatically installs and configures GRUB
- Dual-boot: Seamlessly coexists with ChromeOS
- Chromebook in Developer Mode
- 8+ GB free disk space (16+ GB recommended)
- Internet connection
Simply run the command and follow the prompts:
curl -L https://tinyurl.com/td-chrx-tar | sudo tar xzfC - /usr/local && chrxThe installer will guide you through:
- Setting partition size
- Choosing your distro (via URL)
- Configuring hostname, username, timezone
- Setting passwords
Fully automated installation with command-line options:
# First run - create 32GB partition
chrx -s 32 -y
# Second run - install custom distro
chrx -u https://example.com/my-distro.tar.gz -H mycomputer -U myuser -P mypassword -y| Option | Description | Example |
|---|---|---|
-u URL |
Rootfs tar.gz download URL | -u https://example.com/distro.tar.gz |
-s SIZE |
Partition size in GB | -s 32 |
-t DISK |
Target disk device | -t /dev/mmcblk0 |
-H HOSTNAME |
System hostname | -H mycomputer |
-U USERNAME |
User account name | -U myuser |
-P PASSWORD |
Root password | -P mypassword |
-L LOCALE |
System locale | -L en_US.UTF-8 |
-Z TIMEZONE |
System timezone | -Z America/New_York |
-y |
Non-interactive mode | -y |
-v |
Verbose output | -v |
-h |
Show help | -h |
This version of chrx (hypothetically) works with any Linux distribution that provides a rootfs tarball. Popular options include:
- Arch Linux: https://mirrors.kernel.org/archlinux/iso/latest/
- Ubuntu: https://cdimage.ubuntu.com/ubuntu-base/
- Debian: https://www.debian.org/distrib/
- Fedora: https://alt.fedoraproject.org/
- Gentoo: https://www.gentoo.org/downloads/
- Alpine: https://alpinelinux.org/downloads/
- Void Linux: https://voidlinux.org/download/
By default, chrx-generic installs Zorin OS 17.3 Core:
- URL: https://tinyurl.com/chrx-zorin-17
- Size: ~2.5 GB download
- Features: Ubuntu-based, Windows-like interface, beginner-friendly
To install a custom distribution:
- Find a rootfs tar.gz file for your chosen distro
- Use the
-uoption with the direct download URL:
chrx -u https://example.com/path/to/rootfs.tar.gzIf your favorite distro doesn't provide a rootfs tarball, you can create one:
- Install the distro in a VM or container
- Create a tarball of the root filesystem:
sudo tar czf my-distro-rootfs.tar.gz -C /path/to/root .- Upload to a web server and use with chrx
Recommended partition sizes by use case:
- Minimal: 8-16 GB (CLI-only, basic tools)
- Standard: 16-32 GB (Desktop environment, common apps)
- Developer: 32-64 GB (IDEs, build tools, containers)
- Workstation: 64+ GB (Heavy workloads, multimedia)
After rebooting, at the "OS verification is OFF" screen:
- Press CTRL+D to boot ChromeOS
- Press CTRL+L to boot Linux
- Username:
chrx(or your specified username) - Password:
chrx(or your specified password)
passwdDepending on your distribution, you may need to:
-
Configure networking:
# For systemd-based distros sudo systemctl enable NetworkManager sudo systemctl start NetworkManager
-
Update the system:
# Ubuntu/Debian sudo apt update && sudo apt upgrade # Arch sudo pacman -Syu # Fedora sudo dnf upgrade
-
Install additional packages:
- Graphics drivers
- Firmware packages
- Desktop environment (if not included)
Run chrx in partition mode first:
chrx -s 16 -y- Check your internet connection
- Verify the URL is correct and accessible
- Try with
-vfor verbose output
Some minimal rootfs archives don't include GRUB. Install it manually after setup:
sudo apt install grub-pc # Ubuntu/Debian
sudo pacman -S grub # ArchThen run:
sudo grub-install /dev/sdX
sudo grub-mkconfig -o /boot/grub/grub.cfgTry updating the bootloader:
sudo update-grub # Ubuntu/Debian
sudo grub-mkconfig -o /boot/grub/grub.cfg # Others-
Clone the repository:
git clone https://github.com/trainingdummy/chrx.git cd chrx -
Make your changes to the
chrxscript -
Build the distribution package:
chmod +x build.sh ./build.sh
-
Test locally:
sudo tar xzfC dist.tar.gz /usr/local sudo chrx
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly on a Chromebook
- Submit a pull request
This fork differs from the original chrx in several ways:
| Feature | Original chrx | chrx-generic |
|---|---|---|
| Supported distros | Pre-configured list | Any distro with tar.gz |
| Configuration | Distro-specific tweaks | Generic, minimal |
| Customization files | Extensive per-distro files | User provides rootfs |
| Bootloader | Conditional GRUB install | Always attempts GRUB |
| URL support | Internal mirrors | Any public URL |
| Interface | CLI-focused | Modern TUI menus |
This project is a fork of the original chrx, which is licensed under the GPL. This fork maintains the same license.
- Original chrx by reynhout and contributors
- GalliumOS team for Chromebook Linux pioneering
- The ChromeOS and Linux communities
- Open an issue on GitHub
- Check the Troubleshooting section
- Visit the chrx.org documentation
This software modifies your Chromebook's disk partitions. While designed to be safe:
- Backup your data before proceeding
- Use at your own risk
- Not responsible for data loss or hardware damage
- Test in a non-critical environment first
Made with β€οΈ by the Chromebook Linux community