HP Chromebook 14 + Lubuntu First Pass

I’ve procured a new HP Chromebook 14. Chrome OS is nice, but I can’t code with it in any useful way. So I’ve opted to put Linux on it, the LXCE variant of Ubuntu (Lubuntu). And try a few other OSes while I’m at it. This post covers what I did, and my initial findings.

Background

I haven’t bought a personal laptop in 7 or 8 years. The one I have is a “budget” model, which means lots of proprietary hardware that doesn’t work, not even in modern or older versions of Windows (I’ve tried XP, which I had an OEM of from years past, and I bought Windows 8 out of desperation). Ubuntu runs well on it, except that the fan runs constantly and it heats up like a curling iron. Not great for a laptop. And for what its worth, it randomly shuts down under Windows 8. Chipset drivers are just ‘not a thing’ for this model of laptop.

After a couple of years of fiddling with it and generally not being happy, I decided it was time for a new laptop. Instead of going right for a new MacBook Pro, I decided to look at what I wanted to do and get the cheapest laptop I could find. Here’s what I do with my old laptop, when I can stand it:

  • Chat – IRC, gtalk, AIM, yadda-yadda-yadda.
  • Code – jEdit, Python, zc.buildout, web browser, terminal
  • Charts, minor graphics work – the Gimp, Libreoffice
  • Fiddling with my systems – terminal, RDP from time to time
  • Internet – mostly looking up stuff in regards to coding, what I’m watching on TV, reading about in a book, etc.

Typically all from my couch, far away from my desktop in another room. I pick it up, do some stuff, close it up and go back and forth.

Initially, I started down this path back when netbooks were something people actually stocked and bought. The problem was by the time I was ready to buy, they were no longer something anyone cared about, and more expensive ultrabooks were gaining momentum (or, really, being shoved down our throats).

So what this means in terms of specs:

  • It has to have a modest amount of ram, but not too little (2-4GB)
  • It has to have a multi-core processor if possible
  • It needs a decent screen.
  • It needs to boot fast.
  • It needs to run cool.
  • It needs a real keyboard (touch screen is OK, but no tablets for me – I’ve had an iPhone for a couple of years and still can’t work the onscreen keyboard)

And again, I want it to be relatively cheap – if I somehow grow out of it, or drop it, I don’t want that to hurt too much financially.

I knew chromebooks were a phenomenon, but since they sounded a lot like netbooks, only less computer-like because of the cloud-centric nature of Chrome OS, I hadn’t paid much attention. Then I heard about the Chromebook Pixel. And then I heard it could run Ubuntu. And then I saw one first hand. I was floored – it’s one of the nicest laptops I’ve ever put my hands on, and I’ve worked with and owned some of the nicer MacBook Pro’s, ThinkPads, and ASUS laptops.

For the money, I couldn’t justify a Pixel. But looking at Google’s site, I realized there were several other models available that were part of this new generation. That’s how I cam across the HP Chromebook 14, starting at $299. There are two variants of this model, one with  2GB of RAM, and another with 4GB. The other difference is the inclusion of a 4G antenna and a free T-mobile Data SIM card, good for 200MB/month of data for two years. The price difference is a mere 50 dollars. The problem is that the second model, with 4GB of RAM, is hard to find. Amazon doesn’t carry them. The only retailer I was able to find was Wal-Mart, of all places. It was out of stock online. At my local store, they had it in stock, but not on display. I had to ask a clerk, and he had to check the back stock. Very weird.

By the way, I got the “Aqua” one – the colors on the web are not entirely accurate, so pay attention to the names – “Coral” is a pinkish, red-peachy color. “Aqua” is greenish blue, like sea foam green. And they have sparkles. :)

Warning: there is also an HP Chromebook Pavillion 14, available in “sparkling black”. This model is almost identical – it costs about the same, has 4GB of ram – but apparently it is not the same thing. No idea if it has the same modern BIOS setup (SeaBIOS) that the newer HP Chromebook 14 has. Going by this page, it really doesn’t look like it. But then again, I haven’t opened my model up… yet.

Booting Another OS (and Replacing Chrome OS if you want)

There are several lists of instructions and things like crouton and ChrUbuntu out there on the internet. They’re great for getting up and running quickly, but I have a natural distrust of anyone who tells me to run a script I just downloaded from an obfuscated URL with sudo (ha!). I also like to know what’s going on, and I have a preference for not using Chrome OS at all, as opposed to dual-booting (ChrUbuntu), or running linux in a chrooted environment (crouton).

Note: it’s worth taking a look at http://vger.kernel.org/~davem/chromebook_pixel_linux.txt and the scripts linked at http://chromeos-cr48.blogspot.com/2013/10/chrubuntu-for-new-chromebooks-now-with.html (CruBuntu). Note that the CruBuntu script downloads (at least) one other script – keep an eye out when you look at the source code to make sure you’ve got all of the stuff it does. Both sources have useful info on getting working drivers for ubuntu/debian. They are the source material for my experiments.

I’m fortunate that my HP Chromebook 14 supports SeaBIOS, and with a couple of command-line calls and some key combinations, I can boot and/or install any OS I want.

  1. Prepare a bootable SD card or USB drive (only tested with USB) of your chosen OS. There are instructions everywhere for this, and it will vary a bit depending on what you’re running. Hint: there are tools in windows and ubuntu to do this, but in all  unix-like environments, including Mac OS-X, you can use the dd command.
  2. Put the chromebook into developer mode. On the HP Chromebook 14, this is accomplished by holding ESC and Reload, then hitting the power button.
  3. You will see a ‘scary boot screen’. Hit Ctrl-D, then Enter to turn OS Verification OFF. The machine will reboot a few times. There is an intentional delay (about 5 minutes) at this point and the security subsystems kick in – this will restore the machine to factory settings again.
  4. Hit Ctrl-D to boot into Chrome OS.
  5. Open a prompt. This is accomplished by pressing Ctrl-Alt-Forward (next to Reload).
  6. Log in as chronos, no password is necessary.
  7. Become root. Type sudo su -
  8. Enable legacy booting. Type crosssytem dev_boot_usb=1 dev_boot_legacy=1
  9. Insert your bootable USB drive.
  10. Reboot. Type reboot.
  11. Press Ctrl-L, then ESC when you see “Press ESC for boot menu”.
  12. Select your USB drive from the list.
  13. You may want to plug in a USB mouse – the distros I’ve tried don’t support the touchpad (and I hear the same is true for the touch screen) out of the box.
  14. Run a live CD and see what works. Install if you want.

If you install an OS, just remember you will need to hit Ctrl-L every time you boot.

Getting Back To Chrome OS

Google provides a recovery tool. See this page for details. I have 3 USB thumb drives I’m using for my experimentation. One for the recovery disk, and two for operating system ISOs.

Test 1: Lubuntu 13.10

I obtained the ISO from GetLubuntu.

Here are my initial findings. Will update after I investigate further and try to get any broken bits working.

  • WiFi WORKS.
  • Touchpad does NOT work.
  • Sound does NOT work.
  • Closing the lid does NOT work. (OS freezes when you open it back up)

Test 2: FreeBSD 9.2

Downloaded the Special Edition USB stick live image from http://mfsbsd.vx.sk/

Here are my initial findings. Will update after I investigate further and try to get any broken bits working.

  • Upon boot, error message “can’t load ‘kernel’ no bootable kernel”.

Test 3: Ubuntu 13.10

Procured from http://www.ubuntu.com/download/desktop.

Here are my initial findings. Will update after I investigate further and try to get any broken bits working.

Note that I absolutely HATE the Unity desktop. This test is just to see if there’s any difference between Ubuntu and Lubuntu out of the box.

  • Audio WORKS.
  • Wifi WORKS.
  • Touchpad does NOT work.
  • Closing the lid does NOT work. (OS freezes when you open it back up)

Test 4: Linux Mint 15 KDE

Could not boot from the image – “not enough memory to load specified image”. Found promising lead in a blog post, http://www.chromestory.com/2013/02/how-to-install-linuxmint-on-your-chromebook-pixel/#more-8048, but it caused a kernel panic. Need to try the standard cinimon variant.

Appendix 1: Creating A Bootable Disk (USB drive, SD card, etc) From An ISO In OS X

See the man page for the dd and diskutil commands for details on the command line options.

  1. Insert your media into your computer.
  2. Open a terminal (Applications->Utilities->Terminal or use iTerm2 like I do :))
  3. Find your media and any paritions using diskutil. Type diskutil list.

The output of diskutil will look like this:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            999.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS Time Machine Backups    2.0 TB     disk1s2
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *2.0 TB     disk3
   1:        Apple_partition_map                         32.3 KB    disk3s1
   2:                  Apple_HFS G-RAID                  2.0 TB     disk3s3
/dev/disk4
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *8.2 GB     disk4
   1:             Windows_FAT_32 USB20FD                 8.2 GB     disk4s1

My USB thumb drive is called USB20FD. We can see that it’s hardware name is disk4, and it has one partition, disk4s1. This translates to /dev/disk4s1 for the partition, and /dev/disk4 for the USB drive itself.

  1. Unmount the partition. Type diskutil unmountDisk /dev/[your USB drive]
  2. Write the iso to the drive. This has to be done as root. Type sudo dd if=/path/to/the/iso/image.iso of=/dev/[your usb drive itself] bs=4m. It’s important that you don’t put the ISO onto the partition (/dev/disk4s1 in my case) – it won’t boot. There’s no feedback as it’s working.
  3. Unmount again. Wait a minute or two for computer to try to mount it again. Type diskutil unmountDisk /dev/[your USB drive] again.
  4. Remove the USB thumb drive.

Now you can boot from that USB drive. Bam.

This entry was posted in chromebook and tagged , , , . Bookmark the permalink.

22 Responses to HP Chromebook 14 + Lubuntu First Pass

  1. Efe says:

    You are a genius. Thanks a lot!

  2. Efe says:

    By the way, how was the performance of lubuntu on hp chromebook 14?

    • jjmojojjmojo says:

      It’s actually quite good. With the dual core CPU (I think), solid state HDD and 4GB of ram it’s quite happy (doesn’t hurt that LDXE is built to be lightweight).

  3. lazy says:

    thank you so much for this article, i will pay you to make a similar article about the dual boot install of chrubuntu, how much do you want (paypal)

  4. lazy says:

    thank you again for this article, could you also do a usb 3.0 boot of chrubuntu? i will pay. how do you make the hp chromebook 14 boot from usb drive?

  5. xian says:

    Same machine, in the process of configuring Ubuntu 13.10.
    I used instructions from http://chromeos-cr48.blogspot.com/2013/10/chrubuntu-for-new-chromebooks-now-with.html to install onto the installed SSD. It looks like touchpad for Haswell is now working.

    I’m still struggling with sleep/hibernate. Using some magic grub incantation, I can make it through a single suspend-wakeup, but then the USB3 hub jams and renders the system unstable. I’ve managed to hibernate *to* an SD card swap partition, but haven’t ever recovered that session on wakeup.

    Also, any luck with cellular modem in linux?

  6. Barry Harris says:

    Hi, I was wondering if you have tested the Chromebook with Mint cinnamon variant and how it performed?

  7. Ubuntu 13.10 runs pretty well using Chrubuntu’s install script, and even with other distros, but you might need to compile your own kernel.

    If anyone with a chromebook 14 would like to test my automatic backlight script, please checkout https://github.com/mvklingeren/ambient-light-sensor-emulation

    if you want to use a custom build kernel like 3.12.6 to add touchpad support, you will need to run the following in your kernel src directory (add it to touchpad.sh;chmod+x touchpad.sh;./touchpad.sh):

    # Source: http://chromeos-cr48.blogspot.nl/
    # Use Benson Leung’s post-Pixel Chromebook patches:
    # https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/
    for patch in 3078491 3078481 3074391 3074441 3074421 3074401 3074431 3074411; do
    wget -O – https://patchwork.kernel.org/patch/$patch/raw/ | patch -p1
    done

  8. I have had nothing but trouble using all the available scripts and what not out there to do these things, but I have also just not been met with success on this issue at all. I have the hp 14 4gig ram wifi/sim model. I would KILL for step by step instructions to do the following.

    1. I am installing a 128gb ssd this weekend, (i know how to do this and dont need instructions)
    2. I want to install Ubuntu in a dual boot configuration (approx 20gb for chrome, 100gb ubuntu) I would prefer a distribution with the max number of working features (touchpad, sound, sim card, ect)
    3. if things are not working as they should be, how to go about fixing them.
    4. easy switching between the two OS’s (reboot is fine)
    5. all this step by step without script. either an instruction list, or a tutorial video.

    if anyone is willing to do this it would be absolutely awesome as I can not find this ANYWHERE really on the internet that is specifically focused on this device. I would be forever in your debt!!!!

  9. will says:

    does your chromebook have 4gb memory and T-mobile 4G for life? once you put ubuntu on, does it work with t-mobile 4G?

  10. Jean says:

    Hi,
    Following your instructions I try to install Lubuntu-14.04-desktop-i.386 on my hp 14 chromebook and I get this message:
    “not enough memory to load specified image”

    My usb image is working as expected on a windows machine.
    Any idea?

    • Jean says:

      Here is some more information. I tried various ubuntu images (lubuntu 14.04 as well as 13.10, 32 and 64 bits), none succesful.
      I attempted to modify the boot instructions, and suppressing “quiet” I get the following last lines :
      [7.154853] LZMA data is corrupt
      [7.164048] VFS: Cannot open root device “(null)” or unknown-block(2,0): error -6
      [7.164121] Please append a correct “root=” boot option; here are the available partitions:
      [7.164197] Kernel panic – not syncing: VFS: unable to mount root fs on unknown-block(2,0)

      ??

  11. chipowski says:

    I just bought a Toshiba Chromebook. I want to install Elementary OS with Chrubuntu. After i installed Elementary OS, Is it possible to go back only Chrome OS like brand new chromebook?

  12. M K says:

    Hey thank you so much for this post. I have just ordered one of these and I’m looking to install Lubuntu 14.04. Did you ever go back to try out the newer versions of the operating systems that you tried earlier?

    Thanks!

  13. Hi guys,

    Thank you so much for this blog.

    Anyone have an idea how do I unlock the bios of a HP Chromebook 14 Pavilion?

    I followed all the instructions, but nothing, someone said that I have to physically remove the seal of the bios?

    How do I do that?
    Thank you so much for your time :)

    • jjmojojjmojo says:

      Theres a screw you have to remove from the motherboard. I’ve got a new writeup on my todo list but I started with John Lewis’ site: https://johnlewis.ie – here’s a picture someone took of the location: http://s290.photobucket.com/user/bond304/media/IMG_5313_zpsacbb2723.jpg.html if you google around a bit you should be able to find more detailed instructions. It was a little scary but painless. Currently I’m running John’s coreboot BIOS and Arch Linux and it fixed all of the problems I was having with the power management. Its been rock solid and performs really well. I’m also looking into replacing the SSD, its a standard size module. HTH!!

  14. Hi guys I finally took the courage and decided to open my HP butterfly Angelo.
    No luck there os no screws to remove.
    The board doesn’t seems like the one you posted.
    It’s probably through software, but I couldn’t find on the Web any indicationsuggestions how to do it.
    I would love to install ubuntu instead Chrome OS so if you guys have any tip it would be very much appreciated!

  15. McLovinMcLovin says:

    I happen to have the HP Pavilion Chrombook, and I can tell for a fact, that it DOES NOT have the same SeaBios, in fact there is no way at all to get a legacy bios working at all, I’m starting to think it uses a UEFI, as I have tried every single way there is to get to a bios, and all I keep getting is, “This model does not support Legacy BIOS. SO if you, like me went for the really nice appealing Pavilion model, get ready to work REAL HARD to try to get a Linux OS loaded on this model. I’m a Linux dev. I build all my own versions of Linux, (Tweaker Linux, and was the original dev of LinuxMint LXDE edition) so I know my way around a system, and even I’m having to struggle with this one.

    • jjmojojjmojo says:

      I need to update this post, but what I ended up doing was replacing the bios with a coreboot variant from John Lewis. I was able to install linux using the bios I had, as I outlined in the post, but power management didn’t work reliably. Heres John’s site: https://johnlewis.ie

      With his bios, and removing a write protect screw, I turned my chromebook into a super reliable arch linux workhorse. It turns out the ssd is also replaceable, looking forward to replacing it once the prices come down. I haven’t tried but I should be able to go back to chromeos if I want.

      Btw, the chromebook I have is not a pavilian model – not sure if you are trying to correct my assertions or provide new info about the particular model you have.

      • McLovin says:

        I’m giving new info on the Pavilion model only, the actual name of the Pavilion OS is Butterfly Tango, NOT Butterfly Angelo. It appears that the HP 14″ Angelo Chromebooks have a different bios and MOBO, as there is no screw on the Pavilion model, instead it has a small switch that you have to flip down (Gustavo Cardoso – I think this part answers your question about the screw not being there). I think what happened was HP decided to make a high quality Chromebook to compete with the Samsung, so they took one of their actual Pavilion Slim models, changed the BIOS to work with ChromeOS, and released it that way, ’cause dis-assembly is the the exact way as the standard Pavilion Slim, it even seems to have the same MOBO, with the memory in the same place, as well as the HDD, (which I have changed out for a 1tb drive), and it’s running a dual core 64bit Intel Pentium, (granted not a core-I series, but not an Atom). I have attempted to get the new coreboot bios to go in, but the commands just keep spitting out errors, so for the moment, I’m on a Chromebook in DevMode trying to figure something out, if I get something to work, I’ll post back here and update for those who, like me, are running the actual Pavilion model Chromebook.

Leave a comment