The Linux Rain Linux General/Gaming News, Reviews and Tutorials

Freeing an HP Chromebook 11 with Arch Linux ARM

By Andrew Powell, published 08/06/2017 in Tutorials

A few years ago I acquired an HP Chromebook 11, which I talked about in an article on this site at that time. I talked about how I ran Linux software side-by-side with Chrome OS thanks to the likes of Crouton. Since then, the machine has had some basic use, and rather ironically, used as an offline machine, where I would use it for typing purposes mostly, being that the machine has a lovely keyboard and is very battery efficient. But I recently felt it was time to ditch Papa Google's influence on the machine and get rid of Chrome OS - enter Arch Linux ARM.

Back when I had my first look at the machine and installed Crouton, it seemed that installing Linux properly to the machine (eg. completely replace Chrome OS) didn't seem feasible for a machine with an ARM processor such as the HP Chromebook 11. Thankfully, I was either wrong back then or perhaps things have simply improved the last couple of years, as installing a proper Linux distro on one of these little machines and blowing away Google's product is quite easy to do. Now the amount of GNU/Linux distributions that properly support this particular machine are not plentiful, being an ARM machine with very particular hardware and firmware, but thankfully Arch Linux ARM (the ARM port of Arch Linux) does. Or more specifically, it supports the Samsung Chromebook 11, which seems to be the exact same machine, just with different branding.

Now you could use the official install guide on the Arch Linux ARM wiki guide, but even easier, there's a really handy automated install script provided by user David Stark which I used and it worked great.

Getting Arch Linux ARM for the HP Chromebook 11

Before we do anything, we want to make sure any local files are backed up (the Download folder, for instance). Not that a Chromebook typically has many locally saved files, but still...

Once we've done that, the process is as easy as this (though be sure to follow the link above in case the procedure changes at all):

  • have Developer Mode enabled on the Chromebook (those of us using Crouton already do)
  • in Chrome OS, press ctrl+alt+t to open a "terminal" session
  • type shell, followed by sudo su -
  • enable USB boot (very important!): type crossystem dev_boot_usb=1 dev_boot_signed_only=0
  • plug in a memory/USB stick (that you're happy to have overwritten, if it's not empty)
  • type wget -O followed by bash

And the rest is done automatically.

Well, sort of.

This will actually install Arch Linux ARM just to the USB drive itself, allowing you to boot an Arch system off the USB stick and try it out on your Chromebook, without actually touching your base Chrome OS install. Which is handy, although you may decide later you want to install to the Chromebook itself, but we'll get to that in a moment.

So, how does one actually boot off the USB stick? Simple. When you reboot the machine and you come to the boot screen (where, in Developer Mode you normally type ctrl+d to boot), hit ctrl+u. This will tell the Chromebook to boot off the USB drive.

Now hopefully Arch will now boot happily! Being a basic Arch system, you'll just get a command prompt/console and there won't be any graphical sessions (yet), but that's typical of any new Arch system. From here you can just tinker with the system, connect to a wireless network as you normally would with the commandline in Arch (hint: type wifi-menu) and even install some packages once you're connected to a network, if you so wish.

Installing Arch Linux ARM to the HP Chromebook 11 (and obliterating Chrome OS!)

This is actually very easy, once you boot off the USB stick with your new Arch install. The script is setup nicely to allow this and the script + Arch Linux ARM archive that was pulled down earlier should be saved in a directory like /home/root, in which case you won't have to download anything a second time, and you can just re-run the script, but this time, appending the Chromebook's internal memory card as the target install device:

bash /dev/mmcblk0

If you don't have the script and Arch Linux ARM archives saved for any reason, no worries - just fetch them again as we did earlier: wget -O, and continue as above.

And that's it! Reboot the machine again, this time hitting ctrl+d to boot the internal memory card instead of the USB (and you might as well remove the USB stick now) and you'll boot into a new shiny Arch system, completely free of Chrome OS.

Thoughts/Impressions + Tips

Personally, I'm very happy I made the switch. I never felt too great running Google's Chrome powered OS, even if it is Gentoo at heart. Being tied purely into Google Chrome as a browser and funnelling all data through Google's services and not to mention potentially all the phoning home that Google probably does in the background - one of the reasons I often used the machine for offline purposes, just connecting when I needed to transfer some data.

I installed MATE desktop on my new Arch system, made a few MATE-specific tweaks to maximise screen real estate and whammo - this is the basic result.

I like it a lot. Looks decent enough, runs surprisingly snappy and actually utilizes screen space a bit better than the original OS. The performance did surprise me a bit - I didn't think it would come too close to the original, highly optimized Chrome OS, but it actually does. Same for battery life, which was extremely pleasing! Suspend/resume also works fine, although I would warn this: don't follow the directions on the Arch Linux ARM wiki to install acpid. Doing so will just cause it to clash with systemd when suspending/resuming, causing all sorts of problems. I had to remove acpid (after installing it), and found systemd handles suspending/resuming just fine anyway, no configuration needed. Everything else on the wiki seems to be useful, however, so check it out if it's relevant to you.

For video acceleration, you'll need to make sure you install the right Xorg driver for the Mali GPU:

sudo pacman -S xf86-video-fbturbo-git

Obscure name, I know, but it seems to be the correct driver.

If you have no sound, you may need to go into alsamixer and un-mute some channels, as described in the wiki.

Anyway, best of all, we now have a full repository of true GNU/Linux software available, of course. At least what the Arch Linux ARM repos provide, which is certainly much smaller than the regular x86 Arch Linux, but there's still plenty of good software in there. Plus, you can still utilize the AUR to compile packages, as long as there aren't any x86 specific lines in the AUR package's PKGBUILD, in which case you would just have to edit it.

All in all, I now have a nice little machine with all the software I want to run, such as GIMP, LibreOffice, Vim, VLC, Apache server and tools etc. Plus, Firefox instead of Chrome! It's nice to have that level of choice. I quite like the HP Chromebook as a small and efficient netbook type machine - it has nice aesthetics and a superb little keyboard. Okay, it clearly borrows much in design from some of the small Apple laptops, but in this case it isn't a bad thing!

About the author

Andrew Powell is the editor and owner of The Linux Rain who loves all things Linux, gaming and everything in between.

Tags: tutorials editorials hp chromebook arch-linux arm
blog comments powered by Disqus