As I wrote two years ago, I started by replacing ChromeOS with HugeGreenBug's port of Ubuntu 14.04. This gave me almost exactly the UI I was then running on my desktop, so I was happy with one exception:
I'm still not used to the much bigger touch pad, and keep accidentally moving the cursor by touching the touch pad with the balls of my thumbs.This turned out to be a permanent irritation (but see below for what I should have done to fix it). Although the combination of the C720 and Ubuntu 14.04 gave sterling service for a long time, I started noticing an occasional crash. One of them was a very spectacular snow crash, which caused me to suspect a hardware problem. It was a day and a half before a trip, so I resorted again to Amazon's same-day delivery for a second C720. By the time it arrived all seemed well again with the first one, so I left with it and had no problem on the trip.
Now I had two C720s, so I could experiment with alternate Linux ports. I installed GalliumOS on the second one, and worked with it for a while. It was totally crash-free, being based on Xubuntu 16.04 was significantly more up-to-date, and it was certainly lean-and-mean. Derrick Diener's GalliumOS: The Linux Distro Specially Designed for Chromebook is a good review of GalliumOS.
But I just couldn't come to terms with the XFCE desktop and the way the touchpad had been configured to mimic the ChromeOS touchpad. I'd traded one irritation for two. Then I found Mark Solters' Ubuntu 16.04 on the Google Pixel 2, which reported:
I hit upon trying Linux Mint 18 “Sarah”, currently beta. This version of Mint is 16.04 based, and the installer boots on the Pixel 2!So I downloaded Linux Mint 18.1 "Serena" - Cinnamon (64-bit), wrote the .iso to a USB drive, popped it into the first C720 and powered up. The Mint live system came right up! I played with it for a while. Everything seemed to work, and the Cinnamon UI was a lot more to my taste than XFCE. Worth a try. After backing up my files from 14.04, I double-clicked on "Install Linux Mint".
After you answer the questions about keyboard and time zone and so on, the install starts with a worrisome long pause with the spinning cursor, but then things proceed normally with a progress bar. After it finished and I rebooted, I had a default Linux Mint system with 19GB of free space.
My next step was to connect to my WiFi network and
which updated 12 packages. I have no travel for the next month and a working if slightly irritating environment on C720 #2, so I can take the opportunity to clean things up and customize a nice fresh environment on C720 #1.
For the programming environment I needed:
sudo apt-get update
sudo apt-get upgrade
- git - the LOCKSS Program is converging on gitlab.com and gitlab CE.
- emacs - which I still use for programming although I also use vi.
- The JDK, ant, libxml2-utils and junit - needed to build the LOCKSS software.
- TeX Live- still my favorite environment for writing papers.
- KeePassX - everyone should use a password safe.
- zoom.us - a program committee I'm on uses this for distributed meetings, it works really well.
Then I closed the lid, had a cup of tea, and opened the lid again. Things seemed to be working but, as I quickly discovered there was a problem. It turns out that the Mint kernel shows symptoms that appeared on Chromebook Linux wikis back in 2014:
- Suspend/resume works the first time, but the next time the screen locks but the processor keeps running indefinitely. Shutdown behaves similarly.
- And after a resume
/var/log/kern.logis continually spammed with messages from
resume error -19.
- C720 #2 with a working kernel and a userland I didn't like.
- C720 #1 with a broken kernel and a userland I liked.
Stage 1 was to get the GalliumOS fixes relevant to the suspend/resume issue into the Mint userland:
- Check out the CalliumOS config files for Haswell by:
git clone https://github.com/GalliumOS/galliumos-haswell
- Copy each of the files into its appropriate place.
- Create a file
/etc/apt/sources.list.d/additional-repositories.listcontaining the line:
deb http://apt.galliumos.org/ xenon main
- Copy the file
/etc/apt/trusted.gpg.d/galliumos.gpgfrom C720 #2 to C720 #1.
- Run synaptic, reload, search for
linux-image-galliumos, mark it for installation, apply.
- Set the grub bootloader to display its menu by default so that if something goes wrong you can boot the Mint kernel using the "advanced options" menu item. Edit /etc/default/grub to read:
#GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=false GRUB_TIMEOUT=15
- Run update-grub to make the changes take effect.
- Reboot, and the system comes up:
$ uname -r 4.7.2-galliumos $
Three years ago redditor SuccessInCircuit posted List of fixes for Xubuntu 13.10 on the Acer C720. Some of these fixes still seem to be relevant:
- GalliumOS follows SuccessInCircuit's advice to optimize for the C720s SSD. So I edited the root file system entry in
/dev/mapper/mint--vg-root / ext4 discard,relatime,errors=remount-ro 0 1
- I find it necessary to disable the touchpad while typing. SuccessInCircuit says to do this with
syndaemon, but there is a better way for Ubuntu 16.04, installing a touchpad control applet in the tray:
$ sudo add-apt-repository ppa:atareao/atareao $ sudo apt-get update $ sudo apt-get install touchpad-indicator
- Brave souls have upgraded the M.2 SSD, reinstalled ChromeOS, then installed Linux, but I'm not yet up for that despite the lack of space.
Update 4th May 2018:
After another strange crash on C720 #1 which corrupted its disk, I found C720 #3 refurbished for $129.99 on Amazon. This time I also got a 128GB M.2 SSD to replace the stock one.
Update 9th May 2018
I installed the 128GB SSD, recovered Chrome OS, installed Mint Cinnamon 18.3 and now have over 100GB free space on disk. To install the SSD I:
- Turned the C720 over and removed the 13 screws holding the back cover on.
- Cracked the case open using a small screwdriver to get a front corner open, then slid a guitar plectrum along to free up the the rest of the clips. This step is a bit scary!
- Removed the screw holding down the original SSD, replaced it with the new one, and replaced the screw.
- Put the back cover back in place, pressed down on it to get most of the clips seated.
- replaced the 13 screws, tightening them gently to seat the remaining clips.
Gratuitous copy and paste
I notice that the links to the instructions for installing Linux from A Note Of Thanks are now broken, so I'm cutting and pasting them from the Archlinux wiki so I can find them easily:
I'll update this post again after I've tried replacing the SSD.
Enabling developer modeDeveloper Mode is necessary in order to access the superuser shell inside Chrome OS, which is required for making changes to the system like allow booting through SeaBIOS.
Warning: Enabling Developer Mode will wipe all of your data.To enable developer mode:
- Turn on the Chrome OS device.
- Press and hold the
Esc + F3 (Refresh)keys, then press the
Powerbutton. This enters Recovery Mode.
Ctrl + D(no prompt). It will ask you to confirm, then the system will revert its state and enable Developer Mode.Note: Press
Ctrl + D(or wait 30 seconds for the beep and boot) at the white boot splash screen to enter Chrome OS.
Accessing the superuser shellAfter you have enabled the Developer Mode you will need to access the superuser shell. How you do this depends on whether you have configured Chrome OS or not.
Accessing the superuser shell without Chrome OS configurationIf you have not configured Chrome OS, just press
Ctrl + Alt + F2(F2 is the "forward" arrow on the top row, →), you will see a login prompt.
chronosas the username, it should not prompt you for a password.
- Become superuser with sudo, use the command
sudo su -.
Accessing the superuser shell with Chrome OS configurationIf you have configured Chrome OS already:
- Open a crosh window with
Ctrl + Alt + T.
- Open a bash shell with the
- Become superuser with sudo, use the command
sudo su -to accomplish that.
Enabling SeaBIOSIf your Chrome OS device did not ship with SeaBIOS or you prefer to install a custom firmware, then continue to Flashing a custom firmware.
This method will allow you to access the pre-installed version of SeaBIOS through the Developer Mode screen in Coreboot.
- Inside your superuser shell enter:# crossystem dev_boot_usb=1 dev_boot_legacy=1
- Reboot the machine.
Booting the installation media
- Plug the USB drive to the Chrome OS device and start SeaBIOS with
Ctrl + Lat the white boot splash screen (if SeaBIOS is not set as default).
Escto get a boot menu and select the number corresponding to your USB drive.