SkillAgentSearch skills...

Chrx

Chromebook Unix

Install / Use

/learn @reynhout/Chrx
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

chrx

Install Linux onto your Chromebook. Dual-boot alongside ChromeOS for maximum flexibility.

| | | | ------------ | ---------- | |works on|Most Chromebook models. See chromebooks.| |installs|Several Linux distributions. See operating systems and recommendations.|

chrx.org <br /> github.com/reynhout/chrx

status

Version 3.0.2 See changelog.

<a name="usage"></a>

usage

Installing Linux via chrx onto a new (or freshly recovered) Chromebook is a two-phase process:

  • The first phase reserves space on your storage device for the new operating system, and then reboots.
  • The second phase installs your chosen distribution, and configures the new system according to your selected options.

If you reinstall later, or switch to a another distribution, chrx will skip directly to phase two.

<a name="step-by-step"></a>

step-by-step

  1. Enable Developer Mode
    • (for most models, press ESC+F3(Refresh)+Power)
  2. Boot ChromeOS and open Terminal
    • Press CTRL+D at the white "ChromeOS is missing or damaged" (or "OS verification is OFF") screen
    • Configure Wi-Fi and log in (Guest account is fine)
    • Open ChromeOS Terminal by pressing CTRL+ALT+T, and entering shell at the prompt
  3. Update firmware, if necessary -- see chromebooks
    • required for Bay Trail, Braswell, and Apollo Lake models
    • recommended for Broadwell, Skylake, and Kaby Lake models
    • optional for Haswell models
  4. Download and run chrx
    • curl https://chrx.org/ | sudo tar xzfC - /usr/local && chrx
    • Several options are available to customize your installation
    • This new command line is required for ChromeOS M82 and newer. It also works on older ChromeOS versions.
  5. Follow on-screen instructions to allocate storage space for Linux
    • chrx will suggest dedicating as much space as possible to Linux, and as little as necessary for ChromeOS. Choose your allocation ratio according to your personal requirements and preferences!
  6. Repeat steps 2 and 4 to install and configure your new system

<a name="options"></a>

options

chrx can accept several command-line options:

Usage: chrx [ option ... ]

Options
   -d DISTRIBUTION OS-specific distribution to install [galliumos]
                     galliumos, ubuntu, lubuntu, xubuntu, kubuntu, edubuntu,
                     fedora
   -e ENVIRONMENT  distribution-specific environment [desktop]
                     galliumos: desktop
                     ubuntu etc: desktop, minimal, standard, server
                     fedora: desktop, workstation, kde, xfce, lxde, mate,
                       cinnamon, sugar
   -r RELEASE      distribution release number or name [latest]
                     galliumos: latest, 3.0, bismuth, 2.0, xenon, nightly
                     ubuntu etc: latest, lts, dev, 16.04, 16.10, xenial, etc
                     fedora: latest, 23, 24, 25
   -a ARCH         processor architecture (i386, amd64) [amd64]
   -m MIRROR       distribution-specific download mirror [primary]
                     galliumos: ny1.us, va1.us, rb1.fr
   -t TARGETDISK   target disk (/dev/mmcblk1, /dev/sdb, etc) []
   -p PACKAGE      additional packages to install, may repeat []
                     kodi, minecraft, steam, etc, see chrx.org for more
                     (not yet supported on fedora)
   -H HOSTNAME     hostname for new system [chrx]
   -U USERNAME     username of first created user [chrx]
   -L LOCALE       locale for new system [en_US.UTF-8]
   -Z TIMEZONE     timezone for new system, Eggert convention [America/New_York]
                     America/San_Francisco, Europe/Amsterdam, Etc/UTC, etc
   -n              disable success/failure notifications
   -s              skip all customization, install stock OS only
   -y              run non-interactively, take defaults and do not confirm
   -v              increase output verbosity
   -h              show this help

Default values are shown in brackets, e.g.: [default].

If TARGETDISK is not specified, chrx will select the internal SSD.

<a name="packages"></a>

packages

chrx can install additional software packages after installing your new operating system, using the -p PACKAGE option.

You can install any package in the Ubuntu repositories via this method, plus a few non-Ubuntu packages for which chrx has special handling, and some aliases for convenience:

  • minecraft installs Minecraft
  • steam installs Steam
  • kodi installs Kodi Media Center
  • chrome installs Google Chrome
  • admin-misc is an alias for "ssh tmux rsync vim"
  • dev-misc is an alias for "arduino geany geany-plugins ruby"

To install multiple packages from the chrx command line, you can repeat the -p PACKAGE option as many times as you need, or you can quote the argument, e.g.: -p "gimp blender inkscape".

examples

GalliumOS Desktop (latest), verbosely:

chrx -v

GalliumOS Desktop (latest), plus packages:

chrx -p "minecraft steam kodi"

Lubuntu Desktop (latest):

chrx -d lubuntu

Ubuntu Standard, version 16.04, system name hal, first user dave, including some administrative tools:

chrx -d ubuntu -e standard -r 16.04 -H hal -U dave -p admin-misc

<!-- <a name="advanced-usage"></a> ### advanced usage You may choose to host or cache these installation files yourself. There are many good reasons to do so, especially if you'll be doing a large number of installations. However, setup can be somewhat more complicated, and instructions are outside the scope of this README. To point **chrx** at your cache, just set the `CHRX_WEB_ROOT` environment variable before running the `chrx` script, like this: ``` export CHRX_WEB_ROOT="http://myserver/chrx" cd ; curl -O $CHRX_WEB_ROOT/go && sh go ``` -->

<a name="compatibility"></a>

compatibility

<a name="chromebooks"></a>

chromebooks

status |CPU family |notes :----------------:|-------------------------------------|------------------ :white_check_mark:|Intel Haswell |Firmware update available (RW_LEGACY) :white_check_mark:|Intel Broadwell |Firmware update recommended (RW_LEGACY) :white_check_mark:|Intel Skylake |Firmware update recommended (RW_LEGACY) :white_check_mark:|Intel Kaby Lake |Firmware update recommended (RW_LEGACY) :white_check_mark:|Intel Bay Trail |Firmware update required (RW_LEGACY) :white_check_mark:|Intel Braswell |Firmware update required (RW_LEGACY) :white_check_mark:|Intel Apollo Lake |Firmware update required (RW_LEGACY) :question: |Intel Sandy/Ivy Bridge |Requires SeaBIOS with Legacy Boot capability :question: |Intel Pineview |Requires SeaBIOS with Legacy Boot capability :x: |ARM |ARM support is very unlikely

If you do not know the CPU in your device, check here: https://wiki.galliumos.org/Hardware_Compatibility

<a name="operating-systems"></a>

operating systems

status| OS | distribution | notes :----:| --- | ------------ | ----- :white_check_mark:|Linux|GalliumOS|Derived from Xubuntu, developed specifically for compatibility and optimized performance on Chromebook hardware. :white_check_mark:|Linux|Lubuntu|A light-weight variant of Ubuntu, with the LXDE desktop environment. :white_check_mark:|Linux|Xubuntu|A light-weight variant of Ubuntu, with the Xfce desktop environment. :white_check_mark:|Linux|Kubuntu|Ubuntu with the KDE desktop environment. :white_check_mark:|Linux|Edubuntu|Full Ubuntu plus application bundles used in educational settings. :white_check_mark:|Linux|Ubuntu|The standard full Ubuntu distro. :white_check_mark:|Linux|Fedora|New 20161121! :x:|FreeBSD||Work in progress!

<a name="recommendations"></a>

recommendations

Chromebooks perform best with lighter-weight operating systems and desktop environments, and they often require updated kernel drivers to support their new and tightly integrated hardware.

Selecting a distribution which meets these needs is therefore an important part of Linux-on-Chromebook happiness. While any updated distro will work for ordinary tasks, there are a few that stand out:

  • GalliumOS is optimized specifically for Chromebooks. It scores well on all metrics, looks great, and installs quickly. Some memory-hungry applications (e.g. Steam games) perform best on GalliumOS thanks to careful optimizations. GalliumOS is the default distro installed by chrx.
  • Lubuntu also scores and performs well. It uses significantly less RAM than other distros.
  • Xubuntu is another good choice. It's a bit heavier-weight than Lubuntu, but still performs very well.
  • Fedora comes in several "spins" (desktop environments, selected with -e ENVIRONMENT), some of which (lxde) are lightweight, and some of which (desktop (gnome), default) are heavier. A few sample spins have been added to measurements below.
  • I wo
View on GitHub
GitHub Stars435
CategoryDevelopment
Updated4d ago
Forks67

Languages

Shell

Security Score

75/100

Audited on Apr 4, 2026

No findings