logo

Installing Ubuntu on the Acer Chromebook 14

Posted on: 2017-07-23

In costco at the weekend I saw they had a quite nice looking Acer Chromebook 14 (CB3-431 'Edgar') going for 260 bucks. From a while back I've had a policy of not buying a new laptop over 250 bucks, since my last quite nice Asus machine which was under that price. The acer had a IPS (in plane switching - means better viewing angle) HD (1920x1080) display. It has a nice aluminum chasis. 4gb RAM, 32GB SSD and an Intel celeron 3160 4 core processor.

The problem - it's a chromebook. I want a fully functional default non-spying machine. It put my heckles up that just to use an account on it it had to be a google account. Really? Why can't I use a local account? Ugh.

So I did a lookup whilst in the store, and it looked at least feasible to install a flavor of Linux/Ubuntu. As it turns out though it was actually pretty time consuming and scary to get it to work, so I hope with this post I'm providing a short cut for other people who want to do something similar.

To cut to the chase it seems the most direct way to get something to work is to install galliumos using chrx.

The pros with taking this approach are...

The downside compared to just using chromeos

NOTE! I do NOT recommend installing crouton even though the rest of the internet seems to push that. I explain more below - but the short version is: it didn't work when I wanted to install other software, the default UI wasn't great (xfce), you won't have replaced chomeos (and therefore google) and booting to crouton is cumbersome.

How to Install Ubuntu/GalliumOS

It turns out he Acer Chromebook 14 that costco is selling is specifically Acer Chromebook 14 (CB3-431) EDGAR - and you can see from the compatibility list that it should work. For this to work we need to first install new firmware to make the chromebook boot into other operating systems.

That is the first two steps of this post.

This is where I diverged - as I wanted to install GalliumOS and the way I did so was with using chrx. Doing this way automatically re-partitioned the drive and made the chromebook dual boot.

As taken from the instructions on chrx ...

  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

Note that on the Acer Chromebook that the top row of keys has a bunch of symbols but are equivalent to function keys F1-F10. F1 if <- and F2 is -> and so forth.

I set up a partition with 23Gb as the chrx recommended. I also let it use all the defaults - so the original user is chrx. Once I had everything going I created the user I wanted, and gave it super user permissions, so I could disable the chrx one.

Other Tutorials

I ran across another tutorial for installing GalliumOS which covers a doing some more sophisticated but perhaps risky stuff.

Other Issues

(Update 1)

The top row of small keys actually map to the function keys F1-F10. F1 if <- and F2 is -> and so forth.

The 'Search' key is where the caps lock would be. You'd hope it would just work as caps lock in linux but it doesn't. It seems that the actual key code from that key is a 'super' key. I tried mapping that to caps lock, or making pressing both shifts would enable caps - but neither worked. I'll update if I get a fix.

The keyboard doesn't have a delete key only backspace. You can get delete key functionality by pressing Alt & Backspace. This works the same way as it does in chromeOS.

When you plugin headphones in ChromeOs it will automatically switch audio output. In Ubuntu it does not. You can switch from speakers manually though. Click on the 'speaker' icon. Click on 'Output' tab, and then switch from Speakers to Headphones. This is a little clumsy, but at least it works.

Skype for linux installs, and runs but it is unusable because audio playback breaks up multiple times a second. You can work around this by using USB headset.

Failed Attempts

I didn't just arrive at the solution above I spent many hours trying to get things to work. That is generally my experience with trying to install and dual boot to linux. On my Asus it was in the main fighting UEFI. This was more painful - not least because there are more options.

For any of the options I first needed to setup developer mode, and replace the firmware. This was relatively painless and you can follow the first 2 steps from the techanarchy.

I'm not recommending you try any of the following - I explain why it was a problem and I had to reject.

Linux Mint 64

I burned onto a memory stick, and then booted into the memory stick using the CTRL-L option. The nice thing is that you can test out how it works running from the memory stick before installing.

The first problem was that the touchpad didn't work. To fix this I found this post which says do...

xinput set-prop "Elan Touchpad" "Synaptics Finger" 5 10 50

This worked great, and I put in my .profile.

Okay now the problem was that there was no sound. Moreover in sound settings It did not even list the Realtek sound card, just the HDMI output. I tried for a while to get this to work, but didn't find a way. So for me that was a fail - but since it was my first attempt, and it was close it made me think perhaps using a more mainstream distro would work.

Ubuntu Desktop 64 17.04

Again I burned to memory stick, and booted from it so I could test without installing. Ubuntu never came up though as it was unable to start up the graphics server.

Crouton - Unity

If you search the web for ways to install linux on a chromebook - crouton comes up with the most hits. Crouton allows you to run linux alongside chromeos, where the device drivers and the guts of the underlying operating system remain chromeos.  It also means you can flip between chromeos and linux without rebooting.

Note that given the choices - I wasn't super keen on having chromeos running underneath everything. I don't know what it's doing. I don't like the stupid way you have to login (or use a Guest account) - or all the steps to start crouton which are hardly simple.

This Think-Geek article is the one I followed.

It's pretty easy to follow. The actual download an installation take quite a long while - so be prepared to wait perhaps an hour or two for it to complete.

At first this seemed like a success. Sound and the touch pad worked (cos they were just using chromeos). It seemed fairly responsive. But if I tried to install anything new it failed claiming that the privilege module wouldn't allow it.  I spent a little while looking into but didn't find anything.

The default ui is not unity but xfce on crouton. So next I tried that.

Crouton - Xfce

So I deleted the chroot, and reinstalled crouton using xfce.

This worked. But I still had the problem with the privilege manager. Moreover the xfce UI was just no to my liking at all. It had to go.

GalliumOS

At this point I was getting disheartened, and was wondering if I should just return the machine. I ran across GalliumOS - which said was designed for chromebooks, and had drivers that other distros didn't have. Ok this is good.

My first attempt was to download an iso, and burn to memory stick, and boot this. This worked. The UI was a little different but not too bad. The problem - sound still didn't work.

So I spent several hours looking into this. It was a known problem that sound from the speakers on this machine had been a problem. It looked like it may have been fixed - but for me it clearly didn't work, and so I was in the same situation as I was with Linux Mint, which wasn't good enough.

GalliumOS using chrx

Is the method that I describe above. I'm not 100% sure if audio worked out of the box.

I read this whole thread about it. I may have required doing...

sudo apt-get install galliumos-braswell

from the command line to get sound, I'm not 100% sure.

(Update 2)

I've subsequently done a complete new install on another CB3-431 chromebook, and audio worked fine directly from chrx installation.

Comments

Johannes Wilm on November 14, 2017 at 11:50 am

This seems like the right place to document how to install Ubuntu 17.10 on the Chromebook 14.

  1. In step 6 of the chrx instructions, specify the right UBuntu version by replacing “cd ; curl -Os https://chrx.org/go && sh go” with “cd ; curl -Os https://chrx.org/go && sh go -d ubuntu -r 17.10″

  2. Once Ubuntu 17.10 is installed, most things should work out of the box. An exception is audio. We need to install one particular galliumos package and fake-install some others. First run “apt-get install equivs nano”.

  3. Then run “equivs-control dummy-galliumos”. You should now see a file with the name “dummy-galliumos” in your current directory.

  4. Edit the file by running “nano dummy-galliumos”. Change the line starting with “Package” to “Package: dummy-galliumos” and add a line “Provides: linux-image-galliumos-braswell,galliumos-base”. Save and close the file.

  5. Then run “equivs-build dummy-galliumos && sudo dpkg -i dummy-galliumos”. This should build and install the dummy package.

  6. From http://rb1.fr.mirror.galliumos.org/apt/pool/main/g/galliumos-braswell/ download “galliumos-braswell_2.0.5_all.deb”.

  7. Install the downloaded file with “sudo dpkg -i galliumos-braswell_2.0.5_all.deb”

  8. Force-reload alsa with “sudo alsa force-reload”

Your system should now be fully working.

Richard Sessions on March 1, 2018 at 9:02 am said:

Hi Johannes, On step 5 I am getting the message: … dh_builddeb dpkg-deb: building package ‘dummy-galliumos’ in ‘../dummy-galliumos_1.0_all.deb’.

The package has been created. Attention, the package has been created in the current directory, not in “..” as indicated by the message above! dpkg-deb: error: ‘dummy-galliumos’ is not a debian format archive dpkg: error processing archive dummy-galliumos (–install): subprocess dpkg-deb –control returned error exit status 2 Errors were encountered while processing: dummy-galliumos

Any ideas?? thanks, Richard

Josh on January 24, 2018 at 2:10 am said:

Johannes, I wanted to take a minute to thank you for the post. Specifically, your comments on getting Ubuntu running with Chrx. This absolutely awesome. I messed around with it a lot using just Mr. CHromebox firmware but graphics would not initialize. Your steps via Chrx got everything going perfect.

***John Henry on May 23, 2019 at 4:57 pm said:***

First off, thanks so much for posting this super awesome tutorial. Unfortunately, I’m running into some roadblocks. I’m using the same model (Chromebook 14 CB3-431, Braswell, EDGAR-D25-E5K-S8E-A8R) and I’ve updated the firmware with items 1, 3, and 4 of the chrx firmware update script. Now, when i try to run “cd ; curl -Os https://chrx.org/go && sh go” I get an error:

This Chrome device does not support CTRL-L Legacy SeaBIOS booting. You might have better luck with the old ChrUbuntu script.

Also, when I run the firmware update script again and try to use it at all, I get the following error:

Error reading firmware (non-stock?); unable to …

I’m hesitant to do anything right now because I was unable to back up the original firmware. I’m a total newbie–this is my first time loading Linux onto any device. Not sure what to do here! Any help would be much appreciated!

Jonathan on May 23, 2019 at 7:36 pm said:

Hi John,

sorry your having problems. The short answer is I’m not sure why that is happening.

Perhaps you could try the places to ask suggested here… https://mrchromebox.tech/#support

On looking on https://chrx.org/

They suggest asking https://www.reddit.com/r/chrubuntu

It does seem at first glance as if SeaBIOS has not installed correctly.

Hope this helps, and good luck,

Jonathan

Comments closed