Escolar Documentos
Profissional Documentos
Cultura Documentos
Chromebook Unix
Branch: master New pull request Create new file Upload files Find file Clone or download
reynhout add note for unrecognized GalliumOS versions Latest commit 2b97964 20 hours ago
dist GalliumOS: Fix LINK, add CHELL HiDPI pkg selection 23 days ago
README.md GalliumOS: Fix LINK, add CHELL HiDPI pkg selection 23 days ago
chrx-setup-storage update docs for Ubuntu 16.04; update steam install for xenial; do not 10 months ago
go update docs for Ubuntu 16.04; update steam install for xenial; do not 10 months ago
README.md
chrx
Install Linux onto your Chromebook. Dual-boot alongside ChromeOS for maximum flexibility.
chrx.org
github.com/reynhout/chrx
status
Version 2.4 Add support for Fedora; Updated for Ubuntu 16.10; Installs GalliumOS by default. See changelog.
usage
Installing Linux via chrx onto a new (or freshly recovered) Chromebook is a two-phase process:
The first phase reserves space on your SSD or other 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.
step-by-step
1. Enable Developer Mode (process is model-specific; for Acer C720, press ESC+F3(Refresh)+Power ), then reboot
2. Load ChromeOS by pressing CTRL+D at the white "OS verification is OFF" screen
3. Configure your Wi-Fi network if necessary, then log in (Guest account is fine)
4. Open the ChromeOS Terminal by pressing CTRL+ALT+T , and enter shell at the prompt
5. Update firmware, if necessary (required for Bay Trail and Braswell models, recommended for Broadwell and Skylake
models, optional for Haswell models -- see chromebooks)
6. Run chrx: cd ; curl -Os https://chrx.org/go && sh go (see options)
7. Follow on-screen instructions to prepare your Chromebook for installation
8. Reboot, then repeat steps 2-4 and 6 to install and configure your new system
options
chrx can accept several command-line options:
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, 2.0, xenon, nightly
ubuntu etc: latest, lts, dev, 16.04.1, xenial, etc
fedora: latest, 23, 24, 25
-a ARCH processor architecture (i386, amd64) [amd64]
-m MIRROR distribution-specific download mirror [${CHRX_OS_MIRROR}]
galliumos: ny1.us, va1.us, ca1.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
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:
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:
Ubuntu Standard, version 16.04, system name hal , first user dave , including some administrative tools:
cd ; curl -Os https://chrx.org/go && sh go -d ubuntu -e standard -r 16.04 -H hal -U dave -p admin-misc
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 go script, like this:
export CHRX_WEB_ROOT="http://myserver/chrx"
cd ; curl -O $CHRX_WEB_ROOT/go && sh go
compatibility
chromebooks
If you do not know the CPU in your device, check here: https://wiki.galliumos.org/Hardware_Compatibility
operating systems
Linux Lubuntu A light-weight variant of Ubuntu, with the LXDE desktop environment.
Linux Xubuntu A light-weight variant of Ubuntu, with the Xfce desktop environment.
Linux Edubuntu Full Ubuntu plus application bundles used in educational settings.
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 would not choose standard, full, Ubuntu for a Chromebook. It is perfectly usable, bit it's heavier and suffers in
performance, without offering any important benefits. Memory use starts higher and increases much more quickly as
you use the desktop apps (not reflected in measurements below). If your Chromebook model has 4GB of RAM, the
performance differences are reduced but not eliminated.
sample measurements
1. All distributions were installed with the desktop environment option, except where noted.
2. Disk space can be reduced by removing unwanted packages. The number shown reflects the default install for the
desktop environment.
3. RAM use is measured after graphical login, connecting to Wi-Fi, and opening one window of the default Terminal
program to run /usr/bin/free after a couple minutes for the system to stabilize. The number shown is an average of
several tests, and variance is very low (2-3%).
4. Installation time will vary greatly depending on your Internet connection, but the ratios should be representative.
test suite
evolution
chrx past
chrx began as an updated and enhanced version of ChrUbuntu, and still retains some original ChrUbuntu code (especially
the disk partitioning bits).
chrx present
chrx has been used to install Linux on thousands of Chromebooks. Users and discussion can be found on /r/chrubuntu.
chrx future
I'd like to test on a wider variety of hardware, and to install other Linux distributions.
alternatives
chrx is a command-line installer which requires requires no physical media or other preparation to install. It allows you to
dual-boot, so you can choose Linux or ChromeOS each time you turn on your Chromebook. This is a flexible setup, well-
suited for many users, but of course not all.
Crouton allows you to run ChromeOS and Linux simultaneously, instead of dual-booting like chrx or ChrUbuntu. This
arrangement has a few drawbacks, but if you spend most of your time in ChromeOS and your Linux needs are limited,
it should serve well.
The original ChrUbuntu has been tested on a wide variety of hardware. Unfortunately, it is now significantly outdated,
and fails to install Ubuntu 15.04 and newer properly. 14.10 and older should install successfully via ChrUbuntu, but
they will require significant additional configuration to work well. If your Chromebook is older and unsupported by
chrx, give ChrUbuntu a try.
Running code from the net is always an act that requires careful thought. chrx can be run directly from the net, and by
default will download additional code via the same mechanisms. Any of these downloads could be misdirected or
compromised. Downloading over an unsecured network (e.g. public Wi-Fi) raises the likelihood of such malfeasance, but it
can never be fully eliminated.
If these are concerns of yours, you can mitigate your risks by auditing all of the code involved, comparing checksums of
downloaded packages, and hosting local caches (see advanced usage).
Also, chrx "pings home" on every install to report success or failure. This ping includes no personal information, only data
that might be useful for investigating failures.
sw combines a few of the command-line settings (or defaults) that you used to run chrx.
If this level of information sharing makes you uncomfortable, the behaviour can be disabled with the -n switch.
meta, obligatory
thanks
To Jay Lee for ChrUbuntu, to /r/chrubuntu for assembling links to tons of helpful resources, and to the dozens of people
who found answers and solved problems before I even started looking.
changelog
1.0 (20141223)
1.1 (20150504): add support for Ubuntu 15.04
1.1.1 (20150508): add "-r RELEASE" option; validate some input
1.1.2 (20151005): update Ubuntu "trusty" to 14.04.3; add recognized HWIDs (PEPTO, LINK, SAMUS, LEON, PAINE,
YUNA, SPRING, SKATE, FALCO, WOLF); always verify chrx.org certificates
2.0 (20151025): add GalliumOS support; add support for Ubuntu 15.10; add detection and installation prognosis for all
known ChromeOS devices; add "-d DISTRIBUTION" and "-e ENVIRONMENT" options; remove "-m METAPACKAGE"
option; remove "-i IMAGE" option, make RELEASE smarter; work around systemd conflict; refactor code into
functions to facilitate multiple distros and future operating systems
2.0.1 (20151113): update core image pathname for GalliumOS
2.0.2 (20151118): update some HWIDs
2.0.3 (20151119): bugfix: issue #4, parted and partprobe removed from ChromeOS
2.0.4 (20151120): bugfix: issue #5, "-r RELEASE" handling failing for some values of RELEASE
2.0.5 (20151212): add first user to important groups; use generic coreimage for GalliumOS
2.0.6 (20151214): bugfix: issue #7, add GalliumOS hwspecific pkgs properly
2.0.7 (20151214): update detection for all known ChromeOS devices; improve prognosis descriptions
2.0.8 (20160102): add CHRX_NO_REBOOT env var for use with https://github.com/MattDevo/scripts
2.1 (20160103): add "-p PACKAGE" option to install additional packages
2.1.1 (20160120): update URL for GalliumOS coreimage; make sure util pkgs are added
2.1.2 (20160130): add parsing for "-r nightly" (GalliumOS only, installs nightly build); log chrx command line for
debugging; add first user to groups more quietly
2.2 (20160304): switch default distribution to GalliumOS
2.2.1 (20160316): bugfix: issue #12, errors installing to external media
2.2.2 (20160420): retry/resume failed image downloads; add new HWIDs
2.2.3 (20160426): do not drop to shell before reboot; do not retry coreimage downloads; update steam install for
xenial; update docs for Ubuntu 16.04
2.2.4 (20160505): add Google Chrome to installable packages; add new HWIDs, update others
2.2.5 (20160512): update Ubuntu base/core image URL (thanks arsfeld)
2.2.6 (20160619): hide eMMC partitions properly (thanks gmykhailiuta); improve -r RELEASE handling for
GalliumOS; add preliminary handling for running under non-ChromeOS
2.2.7 (20160810): use version-dependent Ubuntu URL to match new Canonical schemes; update Ubuntu "trusty"
to 14.04.5
2.2.8 (20161002): add support for new GalliumOS hardware-specific pkgs: braswell, skylake, samus
2.3 (20161121): add support for Fedora! thanks @jedigo!
2.3.1 (20161208): Fedora: add -p support, add latest to auto-detection, add nonfree codecs (thx @jedigo);
GalliumOS: use chrx GRUB config; all: add more hidden mmcblk0 partitions, update GRUB config
2.3.2 (20161222): add first user to groups individually in case selected distro/metapackage/spin does not include
all (fixes #30)
2.4 (20161228): add support selection of mirror sites (GalliumOS-only)
2.4.1 (20170129): GalliumOS: Fix LINK, add CHELL HiDPI pkg selection
2017 GitHub, Inc. Terms Privacy Security Status Help Contact GitHub API Training Shop Blog About
Close
Page Saved
Open Pocket
Remove Page
Add Tags
Save