Sunday, January 26, 2014

HOWTO: Bodhi Linux on the Acer C720 Chromebook

Early last week I acquired my latest tech toy an Acer C720 Chromebook:


I've been on kind of a Chromebook kick lately and I must say I love this Acer C720 even more than Samsung Chromebook. Why you ask? Well - the primary reason is the processor architecture. The Acer C720 is a traditional x86 processor, meaning you are able to easily boot alternative OSes on it.

This also means that under a Linux OS I am able to run applications like the latest Google Chrome browser, Google Hangouts (or Skype), Steam, and even Netflix.

I plan on writing a formal review of the C720, similar to the one I did for the Samsung Chromebook, later next month. Today however I would like to share how you can go about installing Bodhi Linux on the Acer C720 Chromebook.

Please note following these steps WILL permanently delete all local data and configurations of your ChromeOS!


Step 1 - Enable Developer Mode

Make sure your chromebook is off. Then hold the escape and refresh keys (where f3 should be) and power on the device. This should get you to a recovery screen - press ctrl+d followed by enter. The system should now reboot with developer mode enabled.

Step 2 - Enable SeaBIOS


After changing to developer mode, configure Chrome OS so that you can log in.

To enable the legacy bios:
  • Open a crosh window with Ctrl+Alt+T.
  • Open a bash shell with the shell command.
  • Become superuser with sudo bash
  • Enable legacy boot with:
crossystem dev_boot_usb=1 dev_boot_legacy=1

Step 3 - Create a Bodhi image for the C720

While the C720 uses an x86 processor, some of the hardware it uses doesn't have drivers in the mainline Linux kernel yet. Because of this you need to download a custom ISO image I've prepared for the C720 from here. You then need to write it to a flash drive using the dd command.

Change to the directory where you have downloaded the ISO image to and run:

dd if=bodhi-c720-chromebook.iso of=/dev/sdX

Where X is replaced with the drive letter of your USB stick. If you prefer a GUI tool or are using OSX/Windows to create the flash drive you can find detailed information on this process here.

Step 4 - Boot and install Bodhi

Plug the USB stick you prepared in step 3 into your Chromebook. At the startup screen press the key combination ctrl+l (that is a lowercase "L") to tell the system to boot from the legacy BIOS. Then press the escape key to select to bring up the boot menu, select your USB device from the list it provides.

From this point you can follow the normal Bodhi install instructions.

Notes

When your Chromebook starts up you will need to press ctrl+l to boot into the legacy BIOS/Bodhi. Still looking for a work around to remove this step - if you know of one please let me know!

When I installed Bodhi on my Chromebook I wiped out all the Chrome partitions and gave Bodhi the full drive. I've not experimented with a dual boot setup. I don't really have a need for ChromeOS with how functional Bodhi is on this hardware.

The custom ISO image for the C720 differs from the normal Bodhi desktop release in a few ways. First is that it utilizes the 3.11 Linux kernel with a few custom patches to support the C720 hardware. Second is that it utilizes pulseaudio for the default sound system as alsa has a few issues. It has slightly newer Intel/Mesa drivers to support OpenGLES on the C720 by default. Finally, it comes with a custom E17 profile that has key bindings for Chrome OS function keys configured.

A picture is worth a thousand words, so here is the default desktop you will see on your Bodhi Chromebook install:


Finally, if you have any issues getting Bodhi setup/installed on your Chromebook I would ask that you please open a support request on our user forums as opposed to simply pasting a comment below.

Cheers,
~Jeff Hoogland

48 comments:

  1. Will this work on the Acer C710-2847 Chromebook or just on this model?

    ReplyDelete
    Replies
    1. I haven't tested on that hardware, but try booting the Live USB to see.

      Delete
  2. It should, that model has an x86 processor as well.

    ReplyDelete
  3. Netflix works in ChromeOS, as does Hulu and Hangouts. You don't need full blown Linux to use those services. But I can see the usefullness of having Ubuntu for Skype or Steam.

    ReplyDelete
    Replies
    1. I never said these things didn't work under ChromeOS. My intention was high lighting things to do NOT work under a Linux OS on ARM Chromebooks.

      Delete
  4. Just bought a new C720, will try this out, thank you!

    ReplyDelete
  5. When I enter legacy mode and select my USB device it tells me missing operating system. I used UNetbootin to create the usb drive from your ISO. Any ideas what could be wrong?

    ReplyDelete
    Replies
    1. You need to create the flash drive using the dd command as I specified in the post above.

      I'm not sure what this BIOS does differently from other traditional BIOSes, but Unetbootin created drives do not boot on it.

      Delete
    2. You can use the pendrivelinux tool with Bodhi image to boot from USB

      Delete
    3. Thanks I got it working! I'm loving how minimal this version is.

      Delete
  6. Thanks! Works like a charm, never tried Bodhi before (Xubuntu here), but I love it.

    ReplyDelete
  7. Tip: install the kernel-headers to get Virtualbox working, it´s glorious :)

    ReplyDelete
    Replies
    1. Yep. We mention that in our wiki.

      Do VMs run well on the C720? Haven't had a chance to play with that myself yet.

      Delete
    2. I am currently running a VM from pentesterlab.com (Debian), no problems at all.

      Delete
  8. Anyway to disable the power button instantly shutting down? I tried removing the keybindings in the acpi bindings manager but it didn't seem to help.

    ReplyDelete
    Replies
    1. Based on this post it looks like you need to edit the powerbtn.sh in /etc/acpi directory.

      Delete
  9. Jeff,

    I just purchased a c720 today and have very little Linux experience. I wanted a low cost laptop to run an Ubuntu LAMP Server. It sounds like the Bodhi distro may be a better option for this laptop. Can I load AMP on Bodhi and run as a webserver?

    Thanks,
    Brian

    ReplyDelete
    Replies
    1. Bodhi will do anything Ubuntu does that isn't unity specific.

      Delete
    2. Perfect. I have the stock 16GB SSD. I assume that is enough for this install?

      Delete
    3. Yep, it needs at least 3GB to be happy - 16GB is plenty.

      Delete
  10. Thanks for a good write up. The install was easy. I'm still playing with key bindings, Toggling from desktop to command line.

    One thing I might mention is the time it would take for the computer to get from one command to the next step was often longer than expected. Patience works here.

    ReplyDelete
  11. Can you describe how to remove Bodhi and return to stock?

    ReplyDelete
    Replies
    1. https://support.google.com/chromebook/answer/1080595

      Delete
  12. Is it possible to dual boot? I'd like to have Chrome remain on the SSD and run Linux on a USB drive.

    ReplyDelete
    Replies
    1. Sure. Just select the USB/SD card you want to boot from as the install target when you walk through the Bodhi installer.

      Delete
  13. Is the custom image for all 720 models or is there a specific sub model number it was designed for i.e. 720-2848 etc etc?

    ReplyDelete
  14. I can't play sound whith the internal speakers. Can anyone please explain me how to do it?

    ReplyDelete
    Replies
    1. Audio is enabled by default - just make sure your speakers aren't muted. Press the unmute button or click on the speaker icon in the upper right hand corner of the screen to make sure it is unmuted.

      If that doesn't do the trick please open a thread on our support forums.

      Delete
  15. Works like a charm up until the auto partitioning during the installation. Then I get an error message about the being unable to inform the kernel of changes made. I would prefer to wipe the SSD and just boot Bodhi but I've also tried installing to an SD card and got the same results. Any suggestions? Thanks for the work developing the hardware in this direction.

    ReplyDelete
    Replies
    1. Please open a support request on our forums with a screenshot of the error and details on what you did to get it.

      I've done a couple dozen installs at this point and haven't hit what you are taking about when I wipe out the entire drive and give it to Bodhi.

      Delete
  16. Jeff, thank you for the great distro! One thing I ran into during bootable USB process w/OSX 10.8.5. The Ubuntu instructions above failed, but I found this process which worked for me: http://blog.tinned-software.net/create-bootable-usb-stick-from-iso-in-mac-os-x/
    The only modification I added was "sudo" in front of the "Copy the image to the USB stick" command.
    Regardless, I appreciate all your hard work and the team dedication to this project. Best wishes!

    ReplyDelete
  17. Thanks for sharing Jef. I found that touchscreen did not work out of the box on C720P-2600 after booting your image into RAM.

    Any suggestions or plans to add this ability to future images?

    Also, I got an Elightenment Error. This is very bad. Enlightment SEGV'd message. Removing ~/.e directory would fix that?

    ReplyDelete
    Replies
    1. Just tap F1 to restart E, no need to wipe anything out.

      I don't own a touch screen model so I can't test changes. I'm going to try and build these modules into my 3.0.0 Chromebook image, but I won't be able to test them myself - so no promises they will work.

      Delete
  18. Hello,
    Does it work bodhi-c720-chromebook.iso with C710 ?

    ReplyDelete
  19. Great stuff. Did you try this to avoid using ctrl+l to boot into the legacy BIOS/Bodhi?
    http://johnlewis.ie/how-to-make-seabios-the-default-on-your-acer-c720/

    ReplyDelete
    Replies
    1. Pretty sure this requires hardware access to flash a different BIOS. Not a good solution.

      Delete
  20. I just tried bodhi on my c720, love it!
    Nice job jeff.

    Buuut, sound quit after 1st suspend, wtf!
    Spent a day researching experimenting etc.
    Some how, the default out put went hdmi.

    To get it back to analog stereo,
    right click the mixer / volume icon on the panel and
    select settings.
    In my case some thing set it to hdmi, hmph.
    Just click built in analog stereo.
    All is right with the world now.

    Also, be sure to install the restricted extras
    to enable playing various content.

    ReplyDelete
    Replies
    1. That is due to a small bug with how the automatic audio output works over HDMI. Run your system updates and it won't happen any more.

      Delete
  21. Is the C720 64 bit? Do you have a customized 64 bit distro?

    Thanks!

    ReplyDelete
    Replies
    1. There is zero reason to run a 64bit OS on hardware with the specs of a Chromebook.

      Delete
    2. Yeah there is. I'm using the Chromebook to run Pianoteq, which has low ram requirements but is fairly processor intensive. Benchmarks show better performance with 64 bit, which means more polyphony for me.

      Delete
    3. I have no intentions of making a 64bit Chromebook disc. If you are doing anything processor intensive a Chromebook isn't the ideal device for that task.

      Delete
  22. Excellent write-up. Had some problems with Bodhi creating and formatting the partition with encryption enabled. Retried a few times without encryption and it worked like charm on Acer C720 w/ 16 gb.

    ReplyDelete
  23. Did anyone tested Bodhi image for the C720 on toshiba 13 chromebook? I just bought one and willing to try, but I don't want to screw anything up. Hardware on acer and toshiba is very similar.

    ReplyDelete
    Replies
    1. Not that I'm aware of. This is a live CD though - so give it a try.

      Delete