chruboot: ChrUbuntu and ChromeOS boot selector

Trying to remember the command to set the active boot partition on the Chromebook was driving me crazy. I wanted one script to switch between the two so I didn’t have to remember sudo cgpt add -i 6 -P 5 -S 1 /dev/mmcblk0. Anyway, I’m sure a lot of people wrote their own bash script for this, but in the case you haven’t yet, you can pick mine up here. This is based on the original instructions from this blog.

I’ll eventually migrate the trackpad fix over to this same repo as well. Eventually, I’ll make an open source contribution where the code is longer than the license :p

That’s two posts in a day… I really got to get back to studying…

Emacs24 in ChrUbuntu on Samsung ARM Chromebook

All good things happen while procrastinating… In this case I now have emacs24 running in ChrUbuntu on my Chromebook!

Emacs 24 on the ARM chromebook
Emacs 24 on the ARM chromebook under ChrUbuntu

Here’s what I did:

  1. Make sure to run apt-get update and refresh all of your packages.
  2. I used the update manager gui to update a ton of packages.
  3. Download the emacs 24 source: emacs-24.2.tar.gz
  4. There are a few other packages missing, which I learned through multiple configure grumblings. But this line should get you all the required dependencies: sudo apt-get install libgtk2.0-dev libjpeg-dev libxpm-dev libgif-dev libtiff-dev libncurses-dev
  5. Then fire off the normal build steps of: configure; make; sudo make install

Enjoy ūüôā

The first configure error I ran into
The first configure error I ran into

Ubuntu is just a keypress away with crouton

Last weekend I tried another Ubuntu approach on my Samsung Chromebook. On the same blog where I found the ChrUbuntu trackpad fix, Craig provides instructions on how to run crouton. What’s crouton: it’s a ‘Chromium OS Ubuntu Chroot Environment’ originally found here.

The advantage of this method over the dual-boot method is that dual booting is not required! Instead, one can install linux to an SD card, launch X, and then switch between ChromeOS and Ubuntu with Ctrl-Alt-Shift-Back. And if you can master this key chord, Emacs commands are just one step away :p

So, I followed Craig’s instructions and setup XFCE as my window manager. However, I am still going to keep ChrUbuntu and my dual-boot for the time being. First let’s look at what’s cool about crouton:

  1. Swap between ChromeOS and Ubuntu without rebooting.
  2. apt-get install emacs works and installs emacs23 no problem. (I haven’t figured out how to get emacs24 on this device yet…)
  3. Ubuntu and ChromeOS can share files together by mounting your ChromeOS directory into the Ubuntu chroot environment. (See bottom of this post)

Here’s what didn’t work for me:

  1. I did not like XFCE. It was my first experience with this window manager and I had a few issues that I could not easily fix: the resolution was set too high and I could not seem to change it and I could not switch the super key to ctrl in XFCE. Using ctrl on the home row is a blessing and curse. It is SO NICE to use that nice big button for something useful besides caps lock, but on the other hand, it drives me bonkers to type on the default keymap… ARGH!
  2. Something odd was going on with my SD card. After a reboot, all that was visible was “lost and found.” So, I just reformatted my card back to its regular self.

I may try this experiment again, but I might pick KDE as the target not xfce. But since I already have the dual-boot setup, there is not much motivation for me to change at this moment. If you don’t have Ubuntu running at all on your Chromebook, it may be better to start with the crouton approach since you don’t have to re-partition your internal drive at all.

Chrubuntu on the Samsung Chromebook: Trackpad fix

On the initial Chrubuntu image, the trackpad responsiveness is a bit sluggish.  Fortunately, over at this blog a fix was found.

But until you fix the trackpad, you have to deal with a difficult copy and paste environment, so I’ve made it a bit easier for you. ¬†You can clone my chrubuntu_trackpad repository and just run the script! ¬†You did run sudo apt-get update and sudo apt-get install git right away didn’t you?

Lastly be sure to check out The Chromebook Chronicles¬†[update Sept 2013: the site is no longer there]. ¬†It’s has a nice summary of known issues (fixed and not) and it’s a great consolidated spot for all things Chromebook and Chrubuntu.

Starting to geek out my Chromebook... A Creative Commons sticker would look nice in that blank spot.
Starting to geek out my Chromebook… A Creative Commons sticker would look nice in that blank spot.

Hello world from ChrUbuntu!

After following these instructions, my Chromebook is now running ChrUbuntu!¬† The install is fairly painless and the instructions worked for me without any modifications.¬† It took about 15 minutes for my Chromebook to switch into “developer mode,” but after running the script and a few reboots later, I can dual-boot into Linux!

Emacs on chrubuntu with some disk usage stats in the corner.
Emacs on ChrUbuntu with some disk usage stats in the corner.

Thanks to the great work over at that blog and to this motivated reader for posting some awesome links to some Linux on the Chromebook material!¬† At the moment, I just have the vanilla ChrUbuntu sources but per the comments there seems to be active community members trying to fix various issues.¬† Most notable is that the touchpad is less responsive than in ChromeOS… [Update 21JAN13: I’ve post a script to fix this issue here]

While I don’t support Canonical decision to leave in its surveillance search feature, ChrUbuntu seemed the easiest Linux distro to get up and running right now. ¬†Plus, ChrUbuntu is based from Ubuntu 12.04 and I don’t think Canonical’s search appeared until 12.10.¬† Thankfully, thanks to the diligent work from the EFF (this is a great organization, I just re-upped my membership), they have a post on how to remove this “feature.”

My first apt-get was for Emacs of course, in which I’m happily typing away.¬† The Chromebook’s “search” key acts like a “super” key (Windows key) in ChrUbuntu so I found this post which shows how to switch it.¬† Once you get used to the ctrl key located to the left of the “a” key, it’s very hard to switch back…¬† I tried to get emacs24 but there were some issues.¬† For some reason, I couldn’t add the ppa for emacs24 to apt-get and when I tried to build by source there were a lot of missing depends on x-windows and various ncurses libraries.¬† So, I decided not to push it too far right now and be content with emacs 23 (which installed with apt-get just fine).

If you plan on using the Chromebook as a pure consumption device or if you never heard of Linux(?!) than ChromeOS may be fine for you.¬† But actually, if that’s the case, a tablet may be better because you probably don’t need a keyboard.¬† Otherwise, if you want to do *anything* else, try ChrUbuntu.¬† Firefox is the default browser, but it may be possible to install Chromium if you really want.¬† And if you have never tried Linux, the Chromebook is a well priced laptop, with which you can experiment.¬† Just be sure to understand what’s working and not before you make the plunge.