Acer C7 (C710) Chromebook running Xubuntu 13.04

So, new adventure. Wanted a small laptop with Linux (Xubuntu) without a lot of money. My Lenovo W510 is a power house but weighs a lot and takes up quite a bit of real estate. Found out that the Acer C7 can be hacked a bit to load up Linux. Spent about 4 days so far testing various options, now have it running pretty darn well. Note, left it at 13.04 until the Intel Video driver is available in 13.10 or 14.04.

Quite a few caveats that I’ll try to cover. First, though, if you want 64-bit with a clean kernel, don’t bother with the various scripts. I utilized the firmware change instead that loads SeaBIOS and Grub2. That gets you to where you can install Linux more or less normally. Chrome OS? That’s different; if you have to have it then you’re on your own. I wanted Linux. Period.

First, I swapped the 4 GB RAM for 16 GB RAM and the 16 GB SSD to a 1 TB Hitachi SATA 3. Yes, it runs with no problem, although the drive is a bit tight fit.

Next, jumpered out the write protect on the motherboard. Various Internet sites show how to accomplish this so I’ll not bother showing pics. It’s a very small micro-jumper, so I used a little foil from a Hershey’s Kiss and a bit of tape to hold it on the pins. You’re only doing this long enough to backup the old firmware and then write the new firmware.

Speaking of firmware, use sudo flashrom -r filename.rom to backup the existing firmware. It’s pretty quick. Next, find the firmware you want to replace it with and use sudo flashrom -w whatevername.rom. This takes a couple of minutes so be patient. Whatever you do, don’t let the battery run down or otherwise cycle power. Can you say $200 brick?

Now that firmware is backed up and copied to a safe place, as well as the new firmware in place, reboot. You’ll see a text-mode screen that resembles GRUB; follow the prompts, pressing F10 to get to a boot menu. Hopefully, you have a memory stick prepared with Xubuntu 64-bit live distro (or whatever) using unetbootin to set it up. BTW, this step took longer than just about everything else, other than figuring out that the script method was out.

Once booted, you can pretty much install as normal. I don’t think I experienced any heart-stopping moments. I did start with 12.04 LTS and then updated until I reached 13.04, but you should be able to install whatever version you want, within reason.

You’ll notice that the trackpad doesn’t work (unless you’re luckier than I am). Upgrade the kernel to 3.11.4+ using the following commands (this is the 64-bit version). The reason for this upgrade is because 3.11 includes quite a few items relating to the Chromium laptops that are out there:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.4-saucy/linux-headers-3.11.4-031104-generic_3.11.4-031104.201310081221_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.4-saucy/linux-headers-3.11.4-031104_3.11.4-031104.201310081221_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.4-saucy/linux-image-3.11.4-031104-generic_3.11.4-031104.201310081221_amd64.deb

sudo dpkg -i linux-headers-3.11.4*.deb linux-image-3.11.4*.deb

Reboot.

Now, you’ll find that your trackpad still doesn’t work. Problem is that only 1 of 4 drivers loads and order of the 4 is essential. First, use sudo rmmod chromeos_laptop to briefly unload that driver. Now, use sudo modprobe i2c-i801, sudo modprobe i2c-dev, sudo modprobe chromeos_laptop, and sudo modprobe cyapa to load everything in the correct order. Your trackpad should work. I still have to figure out how to force Xubuntu to load them in the order I want, but I now have options.

BTW, glxgears gives about 300 fps out of the box. I haven’t played with any optimization. Also, VirtualBox appears to have installed properly, which I have been unable to accomplish using the script configurations.

EDIT: To enable the trackpad, edit /etc/modprobe.d/blacklist.conf to include the line:

blacklist chromeos-laptop

Now edit /etc/modules to include the lines:

i2c-i801

i2c-dev

chromeos-laptop

cyapa

Your trackpad should now be functional.

[2014-08-08: Edited chromeos-laptop entry.]