Pages

Thursday, January 24, 2013

Chrubuntu On My Acer C7 Chromebook

Well, I took the plunge. Experiments with Crouton script are set aside because of no support for SD card on C7, so I moved to a more transparent Jay Lee's script.

Here's almost verbatim copy of Jay Lee's manual. "Almost" means I added some of my observations, so whoever would want to follow might have less trouble.

First of all, you'd need to get into Developer's mode:

  1. You need to be in developer mode. Start with your Chromebook off. Hold down the ESC and Refresh keys (2 keys at top left of keyboard on either side of the arrow keys) and then press the power button. You'll boot up to the recovery screen prompting you to perform USB recovery. Now hit CTRL+D on the keyboard and then Enter. You should reboot into recovery mode.
  2. After entering developer mode, your Chromebook will wipe and then reboot into the out of box (OOB) setup screen. Proceed to configure WiFi but do not login to a Google account.(You'd need to get to actual login screen, not the scary face, so just waitPress CTRL+ALT+=> (=> is the forward arrow where the F2 key would be on a PC). Do not use the normal CTRL+ALT+T method to get a shell. Use the CTRL+ALT+=> method while no one is logged in.
  3. Login as user chronos, no password is needed.
  4. As the chronos user, run:

    wget http://goo.gl/34v87; sudo bash 34v87 (I used a later ~/tnyga repo, instead of 34v87)

    Make sure you have the command exactly right. 34v87 is all lowercase letters and would sound like "three four vee eight seven" if you said it out loud (go ahead, try it!). If you get a "not found" error, make sure you have Internet connectivity.
  5. You'll be prompted with some information about your Chromebook. Press Enter to continue.
  6. The Chrome OS stateful partition where your data and settings are stored is just short of 11gb by default, the script shrinks the stateful partition to make room for ChrUbuntu. You can choose to give ChrUbuntu from 5gb up to 10gb in 1gb increments (Note: If you've installed a larger SSD in your Chrome device, your max number and recommended max will be larger). I recommend not going higher than 9 as 10 leaves Chrome OS with very little free space (less than 1gb). Once you've entered a number, your hard drive will be repartitioned. Then the Chromebook reboots, wipes the stateful partition, reboots again and shows you the Welcome screen you got when you first turned on your Chromebook out of the cardboard box.
  7. Go through the Chrome OS setup process again until you get to the Google login page. You'll need to have a WiFi or Ethernet connection again at this point. (Chrome OS will also spend like 5-10 minutes to recover itself from "repartitioning disaster" -- as it sees it) Now follow steps 2 through 5 again. This time the script will see that you've already made room for Ubuntu and will start downloading the ChrUbuntu image and copying it to the SSD.
  8. There are 52 100mb files to be downloaded. Each is compressed so the actual download size ranges from less than 1mb in size to 99mb in size. The total size of all the files is about 1gb compressed and 5gb uncompressed so the download and install will take awhile. The files are named ubuntu-1204-arm.binXX.bz2 (where XX is aa, ab, ac, ad, ae, af... ba, bb, bc... all the way to bz). If you want to see how big each piece is, take a look here.
  9. The script keeps track of which of the 52 files have been successfully installed so if you lose Internet connectivity, or the battery dies (you should be plugged in BTW), etc, just re-run Step 4 and it should resume where it left off. (I've got one chunk right after 5 or 6 re-dpwnload attempts, but nothing critical prompting me to 
  10. After all 52 files have been downloaded and copied to the SSD, the script will make a few more updates to your Cr-48 and then reboot.
  11. You'll see ChrUbuntu start up! The username is "user" and the password is "user" if you need to make changes.
  12. Right now, you're in ChrUbuntu but if you reboot, you'll be back in Chrome OS. To make ChrUbuntu the default, run:

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

    (password is "user"). It should be possible to run this from ChrUbuntu or Chrome OS.
  13. To make Chrome OS the default again, either turn off Developer Mode (instructions for doing show are shown at bootup), or run:

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

Well, it works like a charm: 64 bit Ubuntu is agile in 8 GB dual channel RAM PC1600 (two sticks) that I fed my Acer C7 with, it runs great whatever I want. 1080p 60 FPS video clips from YouTube and Vimeo play just fine at about 40...50 FPS compared to less than 25 FPS, plus microfreezes here and there in Chrome OS. Here are some photos:

wget gets busy with fetching these 52 chunks of Chrubuntu

Hello, Chrubuntu!

Last command is setting Chrubuntu as a default garnished from Chrubuntu's shell.

XBMC of 11th version. Running fine, though I'd prefer version 12 that runs very good on my Nook Color (somehow Ubuntu repositories lag to compile and add a .deb.

OK, 533 updates/~500 MB have just arrived, I need to take care of them.

All updates went well, including a scary one: GRUB got lost the partition where to put its own update. Two checkmarks on both partitions in question did the job: one was not for r/w  (which is a pity: no Windows, no Hackintosh, no FreeBSD, no OpenQNX as per yet), the other one was the one made for serving this Chrubuntu instance I'm writing in right now.

Time to change UN/PW which are user/user still... here we go, done! Then add all the keyboard layouts I use, and look for better, "cooler" ("Minty"?) desktop gamma.

UPDATE: I don't really like the "stock" Ubuntu desktop, it's butt-ugly for my taste and missing a lot of functionality. So, I just installed XFCE desktop:
I feel great relief now, lol. What remains is:
-- nasty keyring popping up for whatever reason. Even after I deleted all the login/passwpord records, the keyring is still here;
-- I didn't test suspend just yet, as there some bugs reported;
-- mic works in Google Voice calling, but I have no idea how good it might turn out in Skype or in Hangouts: nobody to call, lol;
-- "muting" touchpad when typing doesn't work system-wide, so prepare to scatter your letters all across your document;
-- a WebGL implementation is usually quite hungry for GPU/CPU resources. It's nice to know that MapsGL plugin for Google Maps works like a champ, making transition between satellite views and  "street view" almost seamless. Lightweight XFCE helps here too, I think.
-- in Hangouts, web cam capture generates better FPS than in Chrome OS. Except for tighter and out-of-the-box integration with Google Drive, I don't see any better marks for ChromeOS. Chrubuntu based on Ubuntu 13.04 will certainly resolve the issues with clouds.


Enhanced by Zemanta

7 comments:

  1. Hey,
    I've done exactly the same thing as you but I'm experiencing major problems with suspend/resume.
    Are you having the same problems?
    - http://askubuntu.com/questions/247439/suspend-problems-chromebook-running-12-04-1-lts

    Let me know :)

    ReplyDelete
  2. I didn't test suspend/resume in Ubuntu, so I have no idea. I've got me an erratic keyboard after switching to XFCE desktop, so getting me a straight keyboard is my priority, sorry.

    ReplyDelete
  3. this is for ARM-based chromebook (samsung chromebook) isnt it?\

    ReplyDelete
  4. the touch pad on the Acer C7 is not reliable so USB mouse is a must

    I get Arkose and LXC errors whenever I do apt-get-install
    but all the apps seem to work ok except Truecrypt and VirtualBox

    I think suspend works fine except when I dim the screen and then
    the screen saver goes on and I struggle to get the screen on

    ReplyDelete
  5. I installed chrubuntu on my c7 and it's great, except for some reason my bluetooth stops working (I've had to redo the install a few times due to children pressing the spacebar upon booting). it connects to speakers and earbuds and my iphone when the install is new but then it just stops working after a bit. Have you experienced this issue?

    ReplyDelete
  6. My understanding of how BT works in Chrubuntu on C7 is it is wholly based on BT firmware driver in Chrome OS which is admittedly defective. In Chrome OS of these days, it might get better, I don't know, couldn't care less. The kernel/firmware BT driver was that way back in January for that "experimental" 64-bit Linux kernel Chrubuntu uses. So for me, it's no wonder it won't find any nearby devices even if I upgraded to Ubuntu 13.04: old, but signed kernel won't let it work.

    ReplyDelete