Sunday, January 12, 2014

HOWTO: Bodhi Linux on Samsung ARM Chromebook

The battery recently died in my old Asus Netbook which gave me some fire to finally get together a functional filesystem for the Samsung Chromebook I've had for a little over a year. I published a rough file system with install instructions here last December. Since then a few things have changed in the structure of ChromeOS and the install script/file systems needed some updates.

The following instructions install a Debian Wheezy based ARMHF file system with the Bodhi branded E17.6 desktop powered by the EFL 1.8.4

It is also worth noting that this updated installer script now supports installing the file system to an external media. When you run the second command in step three, simply provide an install target as the first argument (such as /dev/sda for a flash drive) and then press ctrl+u to boot tell the Chromebook to boot from an external media at start up.

Please note following these steps WILL permanently delete all local data and configurations of your ChromeOS! It essentially restores the system to factory defaults.



Step 1 - Boot in Recovery 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 into recovery mode.

Step 2 - Get to a TTY with Internet

Once the system reboots in recovery mode it will take a few moments to get everything configured (this requires no user input, just waiting - so grab a snack). Once the system starts up select a wireless access point to connect to, but do not log into a Google account. Now that we have an internet connection you need to drop to a TTY. To do this press ctrl+alt+-> (The "->" key is where f2 would be on a standard keyboard).

For the username type chronos and then press enter - no password is needed.

Step 3 - Download and run Bodhi installer

From the tty run:
wget http://goo.gl/HFG6a

Followed by:
sudo bash HFG6a

Both of the above commands are case sensitive so make sure you type them correctly! After running the second command you will be provided with some information about your Chromebook - you should be asked if you want to install our stable or testing release.

At this point I would recommend using the Testing release because it offers fuller hardware support (such at 3D) and a newer Chromium version. I'd only recommend using the stable release if you need exactly Debian Wheezy as a base for some reason.

Step 4 - Choose how much space you are giving Bodhi

The installer will prompt you for how much space you want to give to Bodhi. Enter an integer amount for how many gigs you would like to give Bodhi. On the 16gig smartbook the most I would recommend giving to Bodhi is 9gigs (with the max being 10).  For reference the base Bodhi install occupies around 1.6gigs. Once you select an amount of space to give Bodhi the drive will be re-partitioned automagically and then your system will restart. When it starts back up again you will need to walk through the ChromeOS setup process once more - again get as far as the Google login screen but do not log in.

Step 5 - Getting the Bodhi Filesystem

Get to a TTY again by following the instructions outlined in step 2 once more. Then run the same two commands provided in step 3. This time the Bodhi installer will see your drive has already been partitioned and it will begin downloading the Bodhi Chromebook image which it will then install. Note that this will take awhile depending on your internet connection speed as a 300MB tarball needs to be downloaded and extracted. After it finishes installing your system will reboot and you will be greeted by the Enlightenment desktop!

User Information

Default username:
armhf

Default password:
bodhilinux

The default user has sudo rights.

Getting back to ChromeOS

If you need to get back into ChromeOS after installing Bodhi on your Chromebook - don't worry it is still there. In a terminal client on Bodhi run:

sudo cgpt add -i 6 -P 0 -S 1 /dev/mmcblk0

Once you are done with ChromeOS you can run the following in the ChromeOS TTY to get back to Bodhi:

sudo cgpt add -i 6 -P 5 -S 1 /dev/mmcblk0

Notes

I am really happy with the state of this image. Audio works, screen backlight is functional, Chromium browser works, and Flashplayer works. Sadly opengles still escapes me, but I have no need to play games on my netbook.

Wrapping Up

As always, please do not post support requests here! Please direct them to the ARM section of our forums. I'd also like to say many thanks to Bodhi community member Seekamp for posting here about the many improvements he came across in the last year for Bodhi on the Chromebook.

Cheers,
~Jeff Hoogland

22 comments:

  1. Nice work Jeff. I love seeing easy ways to make inexpensive hardware more use ful.

    ReplyDelete
  2. Thanks for this. Have held off so far on purchasing a Chromebook until more options become available to "un Google" them. Being able to run Bodhi would be great!

    ReplyDelete
  3. Thanks Jeff, that might just sell another Chromebook (or two).
    Flymo

    ReplyDelete
  4. Which kernel version does this use? Thanks.

    ReplyDelete
    Replies
    1. This uses the same 3.4.0 kernel Chrome OS uses on the device.

      Delete
  5. I've had it running for a few days now and I am very satisfied. No complaints. Thanks!

    ReplyDelete
  6. I love this image. Question: have you gotten the Google hangouts plugin to work? Google doesn't seem to offer it for armhf.

    ReplyDelete
  7. We did not. This is closed source software and doesn't appear to have a single binary we can copy over chrome Chrome OS like we did with flash.

    ReplyDelete
  8. I really love this image, I just wonder if it is okay if I translate the instruction into Chinese and help the Chinese users who want to use Linux on their Chromebook?(will just post on my blog for learning purpose)

    ReplyDelete
    Replies
    1. Feel free. Just put a short blurb with a link back to this post if you'd be so kind.

      Delete
  9. Are these downloads still active and usable? Thanks

    ReplyDelete
  10. it didn't ask me how much space I want to partition and went straight to assume 9 GB. The installation is OK. but actually i want all 16 GB for this Bodhi image. How can i do it ?

    ReplyDelete
    Replies
    1. This method doesn't support a single boot due to limitations with the ARM hardware.

      Delete
  11. Works great; Thanks!

    ReplyDelete
  12. Firs off -- this is the best native linux experience I have had on my chromebook .. Well done !!!

    I would like to enable a proper lightdm login .. how can I get it to stop autologin and enable a login screen.

    Thanks,
    Simeon

    ReplyDelete
    Replies
    1. You will need to install a proper display manager. The default image uses this method to login by default.

      Delete
  13. I thought I remembered you were announcing that you were planning on stopping development for ARM versions of Bodhi? I mean it works great and I'm loving it but I was shocked to find this as an available option....

    ReplyDelete
    Replies
    1. That just means we won't be doing regular updates to these images. We aren't going to remove work that is already created/functional.

      Delete
  14. Hi Jeff,
    thanks for your work. Is there a way to undo the installation and free the disk space again for chrome?

    ReplyDelete
    Replies
    1. Restoring your Chromebook to factory defaults will reset the drive setup.

      Delete
  15. Once the system reboots in recovery mode it will take a few moments to get everything configured (this requires no user input, just waiting - so grab a snack).

    System goes back to a screen says enable OS ok I restart try the following below no luck. Go back to start from one again but only when I reboot in recovery now it says missing or damaged. I can still but Chrome though???

    Once the system starts up select a wireless access point to connect to, but do not log into a Google account. Now that we have an internet connection you need to drop to a TTY. To do this press ctrl+alt+-> (The "->" key is where f2 would be on a standard keyboard).

    ReplyDelete