Monday, October 29, 2012

ARM ChrUbuntu 12.04 Alpha 1 Now Available For New Chromebooks!

Update #3: There's a new version of the ChrUbuntu script that offers much more flexibility. Be sure to check out my latest post at ChrUbuntu: One Script to Rule them All!

Update #2: I've updated the script so that module loading works with beta and dev channel Chrome OS kernels. If you were on beta or dev channel and ChrUbuntu booted but you couldn't connect to WiFi/ethernet, try now. Thanks to not-so-lazy commenter "The Lazy Husband" for the pointer and fix. I've also added a possible fix for some people getting out of space errors. The script below now works with external USB Flash and SD Card ChrUbuntu installs.

Update: Instructions for installing to an external USB or SD Card are up!


Thanks to those who donated to the project, I'm excited to announce the first alpha release of ChrUbuntu 12.04 for the new Google Chromebook with ARM processor! This is an alpha release meaning there's a good bit of stuff that doesn't work yet. Known issues include:
  • Sound does not work in my limited testing
  • The touchpad is somewhat finicky to work with
  • Google Chrome does not exist for ARM Linux distributions except the Chromebook itself. You can install Chromium browser from the universe repository.
  • Graphics are not accelerated. We need to work on ripping Chrome OS binary drivers or wait until Google open sources the full stack for the new Chromebooks.
  • ???
  • success!
What works:
  • WiFi (no problem connecting to my home WPA2-PSK network)
  • Bluetooth (limited testing)
  • Battery monitor
  • USB / SD Card
Installing ChrUbuntu on a new Chromebook is extremely easy, just follow the steps below.
  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. Press 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

    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. 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.
  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/mmcblk0

    (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/mmcblk0
Thanks again to all the donors! We'll keep working to make ChrUbuntu a great and fun experiment on Chrome hardware!

329 comments:

  1. Working on installing now. Thanks for all the effort so far.

    ReplyDelete
  2. Question for you beings you mention ripping the drivers from ChromeOS. Aren't they all compiled into the kernel image? I looked around the file system and could not find any modules, but maybe I missed something obvious.

    ReplyDelete
    Replies
    1. Oh, side note: The HDMI does not work, I don't know if this is just an issue that I'm experiencing, however you might want to look into it, thanks. :)

      Regards,
      Eric

      Delete
  3. Sterling work so far. There is a way to go but I know you can do it. Google should pay you for giving their arm chromebooks a massive selling point.

    ReplyDelete
  4. Hi,

    Great work on this - is it possible to update to 12.10 via

    # update-manager --dist

    or would that not work?

    Thanks

    ReplyDelete
    Replies
    1. If you want to use the latest version of the Unity interface you probably need 3d drivers. So it might work in terms of package upgrades but I reckon you would probably need to mess around with installing a lightweight desktop in order to make it usable, at least until the driver situation is fixed.

      You might want to bear in mind that in 12.10 not many desktop packages on ARM have been tested by the community because of the lack of 3d support so expect bugs that might never be fixed because they messed up development by screwing over the community. 12.04 on the other hand is Long Term Support so should be better.

      Delete
  5. Few questions here, first, anyway to install to a usb flash drive instead of the small internal hd? Second, is there anyway I can help with this? Third, does skype work?

    ReplyDelete
    Replies
    1. >>small internal hd
      There is no HDD but small SSD. Yep, you have a possibility to install your distro onto SD-card.
      >>does skype work
      Nope, cause it delivered in a binary form that compiled only for a x86 architechture.

      Delete
    2. Is there a way to compile skype for this? Is the SD card option in the installer?

      Delete
    3. >>Is there a way to compile skype for this?
      No, because it's proprietary software. I think it is possible to run Skype with QEMU.
      >>Is the SD card option in the installer?
      Yep, If your distro's installer support this feature.

      Delete
  6. Is the ARM Chromebook as cranky as the Chromebox when it comes to replacing the SSD? (some work, some don't, some kinda work....)

    If so, what is a good choice of SSD?

    ReplyDelete
    Replies
    1. I don't know for sure, but I suspect it isn't possible to change out anything on this laptop. Everything is probably soldered directly onto the motherboard. This is, in part, what makes it so cheap (modularity is expensive).

      Delete
  7. Many thanks for the work on the new ARM Chromebook.

    This is a great project and makes the new Chromebook a useful device.

    ReplyDelete
  8. I would like to donate to support your Ubuntu work on the new ARM Chromebook.

    How can I do that? Why was the campaign closed? It is one thing to buy the new Chromebook but the donations should cover some of the work you do on it right?

    ReplyDelete
    Replies
    1. I'd like to donate as well. Just got Ubuntu up and running on my Chromebook thanks to your script and instructions.

      Delete
    2. Thanks guys, the donate link is back up on the main page:

      http://chromeos-cr48.blogspot.com

      Delete
  9. Wonderful work.

    Do you anticipate audio being available at some point?

    ReplyDelete
    Replies
    1. audio is avalable just need to do alittle work.
      i researched around and found that the audio is fixable by going to terminal, then typing in alsamixer, next scroll through all the levels only (dont change anything except the dai 1 varibles by pressing m) after you fix the level go to your settings and make sure the sound is set to speakers. if that doesnt fix it go ahead and increase the speaker lvl in alsamixer again(note not to make it to high or you will blow out speakers) if this helped please let me know. and i am no wizard of linex so dont think it is a fix to all. hoped this helped you guys and if you still have questions i can start posting vidoes online for people running ubuntu on the chromebook.

      Delete
  10. I agree with Sola. I'd like to donate too. You are really doing something so useful for others here. Keep at it.

    ReplyDelete
    Replies
    1. Thanks, the donate link is back up on the main page:

      http://chromeos-cr48.blogspot.com

      Delete
    2. Thanks so much. This is brilliant. I like Chrome OS but this has made the Chromebook a really useful tool. Look forward to the beta - though it looks like you've some other projects on the go. Thanks again.

      Delete
  11. I was able to get sound working fine on this. The problem is just default settings, not kernel or driver related. Go into alsamixer and turn on the Left Speaker Mixer Left DAC1 to get the built-in speaker to work, L/R Headhone Mixer L/R DAC1 for the headphones.

    I did muck about with some other settings first and it is possible something else I did was a required step, so if anyone could confirm that just setting these options on in alsamixer does the trick that would be great. Otherwise I can reimage my chrubuntu and walk the steps again, but I'd prefer not to do that right now.

    In any case, sound can absolutely be made to work with this build.

    Also,

    ReplyDelete
    Replies
    1. George, thanks for the info, sound is a must-have for me because I want to get Audacity running.

      Delete
    2. Yep, I can confirm that sound works when you unmute those channels in alsamixer.

      Delete
    3. You also want Right Speaker Right DAC1, that way you don't just have the left speaker working xD

      Delete
    4. I played around with alsamixer and now my speakers are toast :(. I did find another resource that says DO NOT monkey with the alsa settings:

      Take a look here - Step 11.
      https://www.berrange.com/posts/2012/11/30/installing-fedora-17-arm-on-a-samsung-google-chromebook/

      Delete
    5. Confirmed sound works with the method George suggests (aslamixer and clicking checkbox Left DAC1 and left right DAC1).

      Based on the link above from Jerry and the author of that link Daniel I didnt want to tinker with the settings... just turn those channels on :-)

      Cheers!

      Delete
  12. How hard would it be to restore the Chromebook to its original state?

    ReplyDelete
    Replies
    1. Not had at all. You just need to make a LiveUSB with the image from http://google.com/chromeos/recovery, reboot your Chromebook, insert the USB in, and follow the scary face prompt.

      Delete
    2. If you want you can get to the OS verification page and push space to re-do the chromebook. It wont do the partitions (from what I have read) but you can then create a recovery disk that can wipe the partitions away with a 4 Gig USB drive / SD card. Grabbing the recovery image also works :-)

      Delete
  13. How would I go about installing Ubuntu from usb and completely wiping Chrome OS from the system? I would actually prefer ubuntu withjout unity so maybe xfce. Just need a light weight system. Any help or instruction would be appreciated.

    ReplyDelete
    Replies
    1. more_arm++ yes, Would like to do this as well. I'm currently trying to get lxde to work

      Delete
  14. Will there be a tutorial on how to install android once the source for 4.2 is released ?? Seeing as how the Nexus 10 has the same CPU and chipset.

    ReplyDelete
  15. Once ChrU is installed, is there a way to select which OS on the boot?

    ReplyDelete
  16. Ubuntu 13.04 is working on my Chromebook. I got proper X11 display driver, touchpad is working. Wifi, Bluetooth and sound (thanks for hints George) work as well.

    I plan to package everything needed during next weeks and add it into Debian/Ubuntu. Will write more on my Google+ page http://gplus.to/hrw and/or blog: http://marcin.juszkiewicz.com.pl/

    ReplyDelete
    Replies
    1. Can you give us some instructions on how to do this ourselves?

      Delete
    2. Any progress on instructions to get 13.04 on the Chromebook? This would be great!

      Delete
  17. Can I install this on an SD card or USB flash drive? I'll donate if the author of this blog makes some easy steps on how to do so. Or heck, if anyone tells me. I'm not ready to mess around with the SSD.

    ReplyDelete
  18. Thanks for your work on this! I'm interested in trying this out. I'd like to echo interest in knowing more about completely removing chromeOS from the machine as well as expanding the internal storage either through a 32/64GB SD card or replacing the SSD.

    For those seeing finicky touchpad behavior, can you describe how finicky it is? Missed motions, or lack of double touch support?

    Does the trick with alsamixer persist through reboots and messing with the Unity volume control? I've had machines where touching the GUI volume control will cause previous alsa changes to go very bad. Like crazy deafening static bad.

    I'd love to get a chromebook as my travel laptop, but I'm a heavy command line user so I need a real OS. That makes this project perfect for me. So thank you again!

    ReplyDelete
  19. I get it installed just fine, after reboot I can't get back into Ubuntu. When running the boot command "sudo cgpt add -i 6 -P 5 -S 1 /dev/sda"

    sudo: unable to resolve host localhost.localdomain
    ERROR: cgpt add: Can't open /dev/sda: No such file or directory

    I get the "No such file or directory" when in Ubuntu or the Developer mode for Chrome OS.

    What is the correct command argument to have it boot to Ubuntu?

    ReplyDelete
    Replies
    1. Hi Robert,

      Sorry, that should be /dev/mmcblk0 on the ARM Chromebooks. I updated the instructions in this post.

      Thanks for the catch.

      Jay

      Delete
    2. Thank you so much for that update, I love this Chromebook now. One more quick question, should we not run the Ubuntu update manager. I am assuming it will update Non Arm updates.

      Thanks again

      Delete
  20. Can you share just your rootfs.tar.gz? I'd like to run this off an SD card and I see the script downloads a bunch of individual files.

    ReplyDelete
  21. Awesome that this is up and running! Anyone have any observations on battery life under Ubuntu?

    ReplyDelete
  22. is there an image I can just download and dd to a usb drive or sd card?

    ReplyDelete
    Replies
    1. I was asking the same thing. Not getting any responses here however..

      Delete
  23. I am looking forward to this project..

    ReplyDelete
  24. How do you stop it saying OS verification is off everytime it boots up?

    ReplyDelete
    Replies
    1. Based on what the Chromium guys have said, I don't think this is possible (unless you flash another BIOS onto it somehow).

      Delete
    2. This comment has been removed by the author.

      Delete
  25. Great directions, thank you, Jay!!

    My only question for others at the moment - does anyone have Ubuntu effectively 'crash' every time you close the lid? I changed the power options to "do nothing" when the lid is closed, but I still get a blank screen when reopening the lid, that does not seem to go away or react to input.

    ReplyDelete
    Replies
    1. yeah that happens to me too. I also switched to xubuntu by wiping all the gnome nautilus stuff off.

      Delete
  26. The warning screen at full brightness is really overdoing it by google. so if I want to use a real OS I have to put up with this? Fix it Google or I can not recommend this laptop till you do.

    ReplyDelete
  27. Just press control-d and it goes away immediately. It's really not that big of a deal.

    ReplyDelete
  28. Is there a way to restore the partitions to factory default after installing ChrUbuntu? Recovery via USB (chrome://imageburner) stalls with errors. Any ideas?

    ReplyDelete
  29. This is great. Thank you so much for accomplishing this. My only wall so far, is adobe flash. I have installed a flash based alternative successfully, which works quite well for most flash based applications, however for what I need it does not. I have four online video stream classes through my university. This works on a flash/quicktime combination, and when loading the class it attempts to load, but does not. I'm wondering if we can't get the arm based adobe flash from the Chrome OS (because I was not able to find it online), or find a workaround with a good alternative? For the record, I have tried both Gnash, and Lightspark. Gnash works partially as mentioned above, but Lightspark only crashes the browser. (I have found a way to download the classes through the Chrome OS, which works well - so this is not an immediate need for me, but I thought it was worth mentioning since it may increase functionality in a future release (beta?).

    ReplyDelete
    Replies
    1. First install Chromium in Ubuntu. So far I've got it sort-of-working by copying over the file /opt/google/chrome/pepper/libpepflashplayer.so from Chrome OS and running Chromium as follows

      chromium-browser --ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so --ppapi-flash-version=11.3.31.518 --ppapi-flash-args=enable_hw_video_decode=0,enable_stagevideo_auto=0,enable_trace_to_console=0

      It works, but without hardware decoding. HD content does not work (it lags).

      Delete
    2. Update: you can copy libpepflashplayer.so to:
      /usr/lib/chromium-browser/plugins/

      then edit:
      /etc/chromium-browser/default

      and add:
      CHROMIUM_FLAGS="--ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so --ppapi-flash-version=11.3.31.518 --ppapi-flash-args=enable_hw_video_decode=0,enable_stagevideo_auto=0,enable_trace_to_console=0"

      then your flash will work every time you start chrome normally :)

      Delete
    3. A small, but significant point: when editing /etc/chromium-browsers/default, be sure the flash path flag uses the correct path for Ubuntu (/usr/lib/chromium-browser/plugins/libpepflashplayer.so) not the ChromeOS path (/opt/google/chrome/pepper/libpepflashplayer.so).

      Delete
    4. i was trying to follow this and wanted to help anyone needing to copy the libpepflashplayer.so file.
      1) While logged into chromeOS as a user hit Ctrl-Alt-T to bring up crosh
      2) Type shell
      3) now you can copy from the above specified location to /home/chronos/user/Downloads if you want to copy to separate location using files app

      Delete
  30. what does hdparm -tT /dev/mmcblk0 give you guys? I get about 25-26 MB/sec for timing buffered data reads under ubuntu. This isn't very fast..

    ReplyDelete
  31. It's eMMC, it's not going to be very fast.

    ReplyDelete
  32. Is anyone else having trouble writing to an SD card in the internal reader? all cards seem to be mounted as read-only when using the internal SD reader... this happens in both Chromium and Ubuntu.

    ReplyDelete
    Replies
    1. Are the really read only (check in a terminal), or are they only showing up as read-only in nautilus? If the latter, I think it is a known nautilus issue (or at least I've had the same issue on my x86 12.04 install)

      Delete
  33. Great work! Can't wait to see the last few kinks worked out

    ReplyDelete
  34. I installed the ubuntu on my chromebook and love it. The only problem Ive had is getting flash and silverlight to install and work. Ive tried a package from the software center and a code found on internet through the terminal which didnt work either.

    If anybody has successfully installed these please help as I am new to linux but like it much more than chrome OS

    ReplyDelete
    Replies
    1. try the quicktime plugin for chromium - i can watch flash with that

      Delete
    2. Correction - I can watch some youtube videos, not flash however.

      Delete
  35. The problem in flash here too. Is there an source for flash plugin for ARM?

    ReplyDelete
  36. Is there a way to choose which OS to boot when I start the Chromebook? When I follow steps 12 and 13, I'm able to boot ONLY into Ubuntu, or ONLY into ChromeOS. Is there some sort of GRUB multiboot loader screen that's available?

    ReplyDelete
    Replies
    1. No Google makes it difficult to boot another OS. They also pop up a bright warning screen saying your OS is unverified every time you boot with no way to disable it. You have to hit ctrl+d every time you boot slowing down your boot time even more. Google how do you make Xubuntu verified? The don't offer support for a real Linux distro they force you to use their useless OS locking you in worse than apple imo. It's a waste of very capable hardware. Save your money.

      Delete
  37. What about performances? Do you think when you're finished, it will be a viable option? By viable, I mean a fast and reliable computer for school.

    Thanks for the great work! Really looking forward to buying one of those Chromebooks if I can use Ubuntu on it!

    ReplyDelete
  38. Any news on the next release yet? I'm gasping for more info.

    ReplyDelete
  39. Can anyone confirm how well Windows programs running under Wine work? Or does Wine not work on ARM cpu's? Also, has anyone completely wiped ChromeOS off the SSD and given the full 16gb to ChrUbuntu?

    ReplyDelete
    Replies
    1. Wine only runs on Intel/AMD based devices. ARM isn't supported because it;s a different architecture. I also don't think the script supports wiping the SSD because it still uses pieces of chromeos to get work done.

      Delete
    2. yes and at the moment its not worth getting rid of a perfectly functioning ChromeOS install when Ubuntu on this platform lacks some features like flash( for youtube), hardware GFX acceleration, power management bugs.
      I'm sure it will get there in time and its a very exciting project.

      Delete
    3. Actually youtube works fine, when using flash alternatives. See my post above for more details. Gnash has been the most successful for me.

      Delete
    4. so it does :-) Gnash works great, both in Firefox and Chromium. This is pretty cool because chromium browser tries to use HTML 5 video instead of Flash but some videos were requesting Flash to be installed. Now Gnash is installed everything just plays.

      For anyone interested the steps i took were to first install Gnash. Search "gnash" in the software centre and install Gnash SWF Viewer. then install the browser plugin "browser-plugin-gnash"

      Things are still a little "choppy" which i think is the lack of hardware acceleration.

      Delete
    5. Agreed. Things are still a little choppy, but definitely watchable. However it still didn't solve my problem, as mentioned in my post above. For that I think I'll need the real adobe flash plugin. I've been wondering if I can "grab" it from a chrome OS recovery image. Any thoughts?

      Delete
  40. This comment has been removed by the author.

    ReplyDelete
  41. Seemed pretty solid. I did return to Chrome OS but I can't wait for this to come together.. I wish I had more free time to contribute (and talent) hehe..

    ReplyDelete
  42. At some point i would like to completely remove the chrome os and go straight Linux and make the most of the 16gb drive space. Are there any source files out in the open for the kernel & bios?

    ReplyDelete
    Replies
    1. Quite a few of the components of the chromebook are encypted for use with only chromeos, notably, the bootloader, kernel, and a lot of the nicer hardware acceleration. And of course, the cgpt tool.

      From my understanding, Chrubuntu is really just a ChromeOS kernel with an Unbuntu file system. There's also the fact that should you ever need to restore your chromebook, it will only boot from presigned google recovery images that have been verified by google. It's possible to disable this so you can run other distributions, but a lot can go wrong.

      Right now I'd stay away from it, but you can get kernel source from the Chromium OS project. ...you're still required to use the standard chrome-only (as far as it can tell) bootloader though.

      Delete
  43. Thanks for your work! I've got four variants running now:
    1) chromeos
    2) vanilla chrUbuntu
    3) ubuntu-desktop with copied google kernel on an SD card (Olaf's instructions)
    4) ubuntu-desktop with my own chromiumOS kernel on a different SD card

    The Olaf approach works fine, but doesn't seem to recognize the wireless device, so no network. I'm diving into chrUbuntu to figure out how to get wireless working.

    My own kernel works fine, but doesn't seem to recognize the internal keyboard. External USB keyboard works fine.

    Learning lots, that's for sure.

    ReplyDelete
  44. This comment has been removed by the author.

    ReplyDelete
  45. Great stuff Marcin, one question if you dont mind whats the best way of upgrading to 12.10 from this version of Chrubuntu or must you install fresh. I tried using update manager and got a plymouthd error on reboot. then had to recover ChromeOS ;-)

    ReplyDelete
  46. Did a little digging on the lid closing issue.
    If you move to a terminal (CTRL+ALT+<=) and then close the lid ubuntu doesnt crash (CTRL+ALT+"Brightness up" to return to the gui). However this workaround doesn't turn off the screen.

    In the gui shell you can run "xset dpms force suspend" to turn off the screen, any button will fire it back up. But closing the lid will still cause the crash. (interestingly xset "off or standby" generates the crash instantly....)

    ReplyDelete
  47. Are these the correct instructions for all devices? I'm been reading through the various posts, and I'm not sure which instruction set to use with a Samsung 550c device.

    ReplyDelete
    Replies
    1. These instructions are only for the new ARM-based Samsung Chromebook. Users with a 550 or any other Chrome device should follow the normal instructions at:

      http://chromeos-cr48.blogspot.com/2012/04/chrubuntu-1204-now-with-double-bits.html

      Jay

      Delete
  48. Can you guys go to Plymouth bug and mark is as affecting you?

    We need to show that it is important for users to get it fixed.

    ReplyDelete
    Replies
    1. Done, thanks. Just wondering is there a workaround for this problem at present?

      Delete
    2. cd /etc/init
      for p in plymouth*
      do
      echo 'manual' >$p.override
      done

      Should work

      Delete
    3. Thanks for looking into this bug. I marked it as affecting me as well.

      Apologies if this is a stupid question, but could you give any suggestions on how to access the filesystem so I can modify the scripts, given how immediately it errors out? I couldn't find a way to get into a shell at that point. I tried accessing it from ChromeOS after reverting my stateful partition but I had no luck, possibly because I couldn't figure out which partition to mount. Should I have been mounting /dev/mmcblk0p7? For some reason I thought it was /dev/mmcblk0p5, which it wouldn't let me mount.

      Delete
    4. Marcin, thanks but unfortunately that doesn't work. Exophase how did you get back to chromeOS after it crashes with the plymouth bug.

      Delete
    5. Had to press space on bootup to restore the stateful partition, then fired up a terminal the same way the directions in this blog post specify. The old Ubuntu partitions were still there, hence why rhfwc didn't ask me to repartition again.

      Delete
    6. thanks thats useful to know. I've been trying again today, its annoying... did you find a way to access the ubuntu filesystem from CromeOS in the end? Theres some more info at Olof's page about the plymouth issue.. https://plus.google.com/109993695638569781190/posts/b2fazijJppZ
      it seems that the problem is caused when the X server tries to use the DRI interface.
      Theres a suggestion that disabling DRI & DRI2 in xorg.conf will solve it. Im just about to try this.

      Delete
    7. Sorry, I wasn't able to find out if I could access the Ubuntu FS from ChromeOS, I gave up pretty quickly because trying every partition was really tedious with ChromeOS's developer shell.

      Delete
    8. You can mount the Ubuntu filesystem in Chrome OS with a shell command like:

      mount /dev/mmcblk0p7 /mnt

      with that done, you can even chroot into it:

      chroot /mnt

      Jay

      Delete
    9. Can we mount the Chrome OS filesystem within Ubuntu?

      Delete
    10. I resolved my plymouth issue see below.

      runeks, maybe but i think you have to remove filesystem verification.. see here. http://www.chromium.org/chromium-os/poking-around-your-chrome-os-device

      Delete
    11. did you remove the DRI entries from xconf?

      Delete
  49. Is an empty /etc/hosts intentional?

    ReplyDelete
  50. This comment has been removed by the author.

    ReplyDelete
  51. This comment has been removed by the author.

    ReplyDelete
  52. Is there any way to delete the ChrUbuntu partition?

    ReplyDelete
  53. I've installed Chrubuntu and am very pleased with it -- thanks!

    Just one question: does anyone know how to change the search key for the control key?

    I want to change it to a control key for use with vi and emacs but the normal methods don't work (i.e. adding ctrl:nocaps to /etc/default/keyboard or by using the Unity keyboard preference tool).

    The search key appears to be called "Super L" in the Unity keyboard preference, but none of the options provided allow you to change it and I can't find a method of referring to it in /etc/default/keyboard that works.

    I can't find anything on Google, so if anyone can provide a link to how to do this, I'd be very grateful.

    thanks

    David

    ReplyDelete
  54. Questions ! Thank you's as well o_0 felt pretty claustrophobic with only a web browser.. although they did sort out the performance nicely - im sure Chrubuntu will catchup Ah ? hardware acceleration and HDMI far away ? > ok my main questions are host config file ? was that intentional > ? and I dont seam to be able to create users.... this beast woulnt be able to fully run Gnome 3 would it ? call me a twat but i'm not the bigest fan of ubuntu's desktop twist =D - thanks again for all your hard work !

    ReplyDelete
  55. ok so I have now updated to 12.10 quantal and got rid of the plymouth bug by:

    1. copying the xorg.conf.d/exynos.conf from the ChromeOS partition into the xorg.conf.d/ folder in the ubuntu system.

    2. update from 12.04 to 12.10 but DONT reboot

    3. Add Marcin's ppa to your software sources: add-apt-repository ppa:hrw/my-own-packages

    4. apt-get install xserver-xorg-video-armsoc

    5. apt-get install chromium-mali-opengles

    6. reboot

    Thanks to Loïc Nogues for your help today.

    Only problem is X is running slowly and it is using software rasterizing mode. the following shows up in /var/log/xorg.o.log

    [ 5.078] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so: cannot open shared object file: No such file or directory)
    [ 5.078] (EE) AIGLX: reverting to software rendering
    [ 5.078] (II) AIGLX: Screen 0 is not DRI capable

    Any ideas guys?

    ReplyDelete
    Replies
    1. /usr/lib/arm-linux-gnueabihf/dri/armsoc_dri.so

      Copy that from ChromeOS.

      Delete
    2. unfortunately that doesnt exist in ChromeOS

      Delete
    3. You should join the Launcpad team mentioned below by Marcin and report it as a bug. You will probably get more response this way. I'm interested in getting it working as well.

      Here's the link: https://launchpad.net/~chromebook-arm

      Delete
  56. Does anyone know how to restore the original SSD partition????

    ReplyDelete
    Replies
    1. You'll have to restore the chromebook with a chromeos image from.
      http://support.google.com/chromeos/bin/answer.py?hl=en&answer=1080595

      Delete
  57. Can someone upload the binaryfile for cgpt? I installed fedora on the internal drive and cant switch back to chrome without cgpt.

    ReplyDelete
  58. Looking through the running processes on Chrome OS, I see a shell script called "thermal.sh" (located in /usr/sbin) running. This apparently clocks down the CPU if system temperature gets too high. I figure this might be valuable to have in Ubuntu as well.

    The script is started via the upstart job in /etc/init/thermal.conf, but this job doesn't work in Ubuntu (it seems the "system-services" service isn't present in Ubuntu).

    Any ideas on how we can gracefully start this in Ubuntu?

    ReplyDelete
  59. runeks: you can monitor temperature with anything using lm-sensors.

    ReplyDelete
  60. anyone know why i cant install python-scipy?

    ReplyDelete
  61. can anyone open the "users" within the system properties? mine doesn't even load. i've gone through restoring the original ChromeOS image and then Chrubuntu but the same issue happened again. and of course the brightness control issue is killing my eyes.....

    ReplyDelete
    Replies
    1. The users and groups controls in Unity crashed for me as well so I modified the users manually. On the other hand, it works fine in xubuntu-desktop, so if you want to install that you can use it instead (if only just to modify users)

      Delete
  62. Thanks for the great work! I'm still having trouble with the sound. Tried the alsamixer settings suggested above. I get some sound but it is low volume and full of static. Is there anything else that needs to be tweaked?

    Also seeing the "users" control crashing every time I try to launch it. :(

    ReplyDelete
  63. Annoyingly enough. When I boot in to Ubuntu, it absolutely refuses to load any modules. lsmod shows none loaded, and if I try to do a modprobe it just says Operation not permitted, even if running as root.
    Anyone know how to fix this issue?

    ReplyDelete
  64. I'm also having the problem where I can't modprobe, so things like network are not working.

    ReplyDelete
  65. Sound is working great with the alsamixer tweak...used that principle to get sound working for the headphone jack as well.

    For those that are having trouble, you're effectively associating a source and destination for the sound. Out of the box the sound sources are 'muted' so it is just a matter of unmuting them. Here is what I did in detail (pay attention to matching Left with Left and Right with Right, otherwise you might end up with swapped channels).

    1. Open a Terminal (ctrl-alt-T) type 'alsamixer' and hit enter
    2. Make sure that '[Playback]' is highlighted in yellow, either hit the 'Tab' key to cycle through, or 'F3' (refresh icon) to select it.
    3. Use the cursor keys to cycle over to the following items. For each one you will press the 'm' key which will toggle muting for that specific Item. Again, there are many permutations so pay attention that you have the correct combination of Left and Right channels
    a. Left Headphone Mixer Left DAC1
    b. Left Speaker Mixer Left DAC1
    c. Right Headphone Mixer Right DAC1
    d. Right Speaker Mixer Right DAC1
    4. After you've enabled all these channels you can test them using the Sound Control applet and you should hear sound out of each channel
    5. If everything works use ALT-Q to exist out of AlsaMixer

    ReplyDelete
    Replies
    1. Yes, this worked great, thanks a bunch, I am loving having ubuntu on my Chromebook.

      Delete
    2. Thanks for clarifying how to do this. Fantastic!

      Delete
  66. I'm having an issue with getting to a command prompt from the recovery screen. I hit ESC and Refresh when powering on but then ctrl-d does nothing and I'm stuck there. Only the tab and power keys seem to respond at all.

    Any ideas anyone can offer would be most welcome.

    ReplyDelete
  67. Quick question: what would chrubuntu initially do for me? For example, if I wanted to install programs or if I wanted to play an online game such as AION or something of that sort, would that work? And are these instructions good for the AcerC7 as well?

    ReplyDelete
    Replies
    1. Also can you install java and run games such as minecraft?

      Delete
    2. Yes, you should be able to run some games and yes, you should be able to run java/minecraft.

      That said it won't run very well or fast as I believe the only Java Runtime Environment (program you need to run java) on arm at the moment that works is the slower than standard OpenJDK. The alpha arm chrubuntu build doesn't use the graphics chip drivers at the moment either, so anything that needs 3d rendering (ie minecraft) is going to run like a dog.

      Delete
    3. You can also install Oracle's Embedded JRE 7 which runs programs pretty decently on my HP Touchpad.

      Delete
  68. How would i uninstall crubuntu?????

    ReplyDelete
    Replies
    1. You can restore your chromebook to factory settings by following this guide, this will remove chrubuntu.

      https://support.google.com/chromeos/bin/answer.py?hl=en&answer=1080595

      Delete
  69. Is there any news about the next release yet? Please, I'm desperate for a version with graphics chip support and a usable track pad.

    Thanks,

    Edwin.

    ReplyDelete
  70. I wanted to thank Jay for all the hard work that went into getting this up and running, but beyond that I'm wondering if anyone has details regarding updates for this project.

    The last thing I want to do is pester anyone - especially someone who has volunteered their time to such a project but I'm curious if there are other people contributing or if there is some sort of wiki as this page doesn't seem like the best source for updates. Can anyone contribute links or information?

    ReplyDelete
  71. Fixing the touchpad settings is pretty quick.
    Open a terminal window and type:
    synclient FingerHigh=10
    synclient FingerLow=4
    Documentation for FingerHigh and FingerLow can be found here:
    http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html

    That isn't permanent however. If you want to fiddle with the settings, you can do so, but to have it save after reboot you should type into the terminal:

    sudo gedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

    look for the section Section "InputClass"
    and add the lines:

    Option "FingerLow" "4"
    Option "FingerHigh" "10"

    ReplyDelete
    Replies
    1. Worked like a charm, but it keeps flickering.
      Thanks.

      Delete
  72. Any idea on how to switch operating systems at boot?

    ReplyDelete
  73. Any possibility of flash ever working on this.. I tried other arm plugins but it seems that the flash must be compiled for this arm chip itself?
    Why/Who does this?

    ReplyDelete
    Replies
    1. Install Chromium in Ubuntu. *copy* the file "libpepflashplayer.so" from "/opt/google/chrome/PepperFlash/" (should exist there, mostly) location in the Chrome OS partition to the same path i.e "/opt/google/chrome/PepperFlash/" in Ubuntu. This should mostly work. Apologies if things go otherwise.

      p.s : Adobe provides bleeding edge Flash only through Chrome & Chrome OS for x86 Linux. It seems it is just Chrome OS for ARM. Also, I suggest you use webm on youtube as far as possible.

      Delete
    2. A couple things- I ended up doing this the 'hard way' with using a USB drive to copy the files between partitions as I couldn't figure out which partition was ChromeOS and which was Ubuntu...and thus wasn't going to try and mount random partitions.

      For my setup the paths I found were as follows:
      /opt/google/chrome/pepper/libpepflashplayer.so on the ChromeOS side
      on the Ubuntu side there was no good corollary at all (/opt is empty) so I used /usr/lib/chromium-browser/plugins and dumped the .so in there. Seems to be working and confirmed it is there via about:plugins. I ended up disabling the Shockwave Flash plugin I had already installed just because I think it was causing conflicts.

      I can confirm with this plugin in place I can now get videos to stream via the Plex Web interface.

      Thanks!

      Delete
    3. Awesome.. The last stumbling block that forced me to uninstall before!!! I'll try this weekend.

      Delete
    4. This worked swimmingly and is awesome, thank you!

      Cmds to dl stable chromium:
      sudo add-apt-repository ppa:a-v-shkop/chromium
      sudo apt-get update
      sudo apt-get install chromium-browser

      Delete
  74. Chrubuntu is awesome! I was wondering - is there a vanilla version that doesn't have all the window manager eye candy? I want to use it as a continuous integration server.

    ReplyDelete
    Replies
    1. You can use another environment. Either XFCE or LXDE.

      sudo apt-get update (and)
      sudo apt-get install xubuntu-desktop (or)
      sudo apt-get install lubuntu-desktop (and)
      sudo apt-get remove ubuntu-desktop

      Haven't tried this on ARM though. Should work considering Ubuntu has a good ARM record.

      Delete
  75. I'm finding Eclipse to be very unstable (it crashes whenever I begin installing a needed plug-in) and was thinking it might be due to OpenJDK. However, I can't seem to get the Oracle JDK for Linux ARM installed properly; anyone seen this same issue or have any thoughts?

    ReplyDelete
    Replies
    1. The Oracle JDK is built for soft fp i.e armel,the Ubuntu system here uses hard fp. For now OpenJDK is the only option or you can wait as there are rumours of a hard fp Oracle JDK in the works.

      Delete
    2. Thanks very much, that makes sense. I've gone back to OpenJDK, but am still seeing Eclipse crash whenever I try to install this plug-in. Do you think it's possible that the plug-in itself is incompatible with Linux ARM?

      Delete
    3. Correct me if I'm wrong but aren't Eclipse plugins coded in Java? Hence, the compatibility would depend only on the JRE implementation. The hotspot compiler that Sun developed has a lot of assembly code in it and as such is tied to x86, hence why the folks at OpenJDK have written a pure C based interpreter for use with other architectures. The problem is that for now (AFAIK) this is the only option available. Hence why Eclipse is getting cranky (probably). There is a LLVM based compiler from the OpenJDK folks in the works. Again you'd probably have to wait for that too. I am no expert, hence I suggest you do some more digging on the net. Cheers.

      Delete
    4. Thanks very much for this explanation. Yes, I was confused because I did not think it made sense for a plug-in to be incompatible with Linux ARM since they are coded in Java as you said, but after working on this issue for so many hours I must admit I was grasping for straws! I suppose it must be an issue with the JRE implementation within OpenJDK as you said-I am now rethinking my decision to go with Samsung's Chromebook (and the SSD) over Acer's since I'd be able to use Sun's JDK on the Acer model. Thanks again for your help.

      Delete
    5. Since these are the early days of ARM's rebirth in the desktop and server space, out of the box functionality would be a tad hard to come by, though Ubuntu promises that almost all of their software ecosystem is good to go on ARM. I feel progress has been slow cuz there are so few ARM dev platforms available in the notebook/netbook platform. Anyways the Acer book will be fine [you can even tweak GRUB 2 and get Chrome OS and Ubuntu to dual boot :)]. I wish you good luck in your endeavour.

      Delete
    6. http://jdk8.java.net/fxarmpreview/index.html

      If you still have the device, you may wanna check this out. Java SE 8 with ARM Hard FP support, just a dev preview though.

      Delete
  76. This comment has been removed by the author.

    ReplyDelete
  77. Is there a place where customizations have been collected and ordered for ChrUbuntu?

    In its alpha state ChrUbuntu misses a lot of things which have been already solved (touchpad, sound...etc) so these could be collected and put into a wiki.

    Is there a wiki already open for this?

    ReplyDelete
    Replies
    1. I created an account at www.chromeoslounge.com and requested the Admin create a sub-forum for the ARM Chromebook (there are ones already for Acer, Series 5 Samsung, CR-48 etc).

      The forums there at least have some activity- not a ton, but hopefully it can be a decent spot to start consolidating this information as I agree it can be difficult to find answers at times.

      Delete
    2. Previously mentioned a launchpad.net site was set up (https://launchpad.net/~chromebook-arm) by someone else, and that will probably be a good place for actual development and tracking bugs, but I'd imagine the content may not be quite as end-user friendly.

      Delete
    3. As usual with hackable device fragmentation of community happens.

      At Launchpad we track bugs, share status in them etc. Most of people in this thread probably never even looked there. Most of hacks can we solved in proper way but first we need users which care about it.

      After several years in FOSS world I tend to see users as necessary evil with their complains, support requests and questions about ETA for fixes.

      I do not plan to follow any forum other then Google+ Chromebook community or Launchpad Chromebook ARM hackers mailing list. With some updates here from time to time (sorry for not replying but after work I prefer to do other things).

      Delete
  78. Is it possible to replace the default ChromeOS completely, rather than just simply install alongside it?

    ReplyDelete
    Replies
    1. Should be doable. Boot from SD, remove ROOT-A, ROOT-B, ROOT-C, KERN-B, KERN-C, STATE partitions. Create new one for your rootfs and put kernel in KERN-A one.

      Share if it worked.

      Delete
  79. If you already have Chrubuntu installed on your internal SDD and want to Copy it over to an SD Card so you can just hold ctrl+u at boot to boot Ubuntu here are the steps to do it.

    1. Boot into Ubuntu and install your SD Card, eject it so it's unmounted but still in the slot.

    2. Open the Terminal and run:

    sudo apt-get install gdisk

    3. Next:

    sudo gdisk /dev/mmcblk1 ( MAKE SURE IT IS mmcblk1 )

    o ( that's o not 0 )
    Y ( Yes to Write GPT Table )

    x
    l
    8192
    m

    n
    1

    +16M
    7f00 ( That's 0 not o )

    n
    2

    +16M
    7f00

    n
    3




    w
    Y ( To Write the final table to the drive and quit gdisk )

    4 Next:

    sudo mkfs.ext4 /dev/mmcblk1p3 ( Make sure you only format Partition 3, if you format the other two Partitions it won't work.)

    5. Reboot into the ChromeOS in Dev Mode and open the Terminal:

    Shell

    cd /tmp

    echo "console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait rw" > /tmp/config

    vbutil_kernel --pack /tmp/newkern --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --config=/tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm

    6. Copy the Kernel you just made to the Fist and Second Partitions of the SD Card, First eject them as the Chrome OS tries to Mount them, Just push the eject icon next to each External Drive.

    sudo dd if=/tmp/newkern of=/dev/mmcblk1p1

    sudo dd if=/tmp/newkern of=/dev/mmcblk1p2

    5. Now let's copy your Ubuntu File System from Partition 7 of your internal SDD to Partition 3 of the SD Card. Make Sure the SD Card is not Mounted first, just push the eject icon if it is.

    sudo dd if=/dev/mmcblk0p7 of=mmcblk1p3

    6. We need to set some boot flags on the SD Card:

    cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1

    cgpt add -i 2 -S 1 -T 5 -P 5 -l KERN-B /dev/mmcblk1


    7. One last thing, we need to tell our Chromebook that the SD Card is Bootable.

    crossystem dev_boot_usb=1 ( Don't worry if you get an error:
    "Unable to open FDT property nonvolatile-context-storage
    VbReadNvStorage_disk: failed to open /dev/mmcblk0"

    Things will still work! )


    8. Now Reboot your Chromebook in Dev Mode and press ctrl+u to boot Chrubuntu from the SD Card --or-- ctrl+d to boot from the internal SDD.

    ReplyDelete
    Replies
    1. 3. Next:

      sudo gdisk /dev/mmcblk1 ( MAKE SURE IT IS mmcblk1 )

      o ( that's o not 0 )
      Y ( Yes to Write GPT Table )

      x
      l
      8192
      m

      n
      1
      (Hit Enter)
      +16M
      7f00 ( That's 0 not o )

      n
      2
      (Hit Enter)
      +16M
      7f00

      n
      3
      (Hit Enter)
      (Hit Enter)
      (Hit Enter)



      w
      Y ( To Write the final table to the drive and quit gdisk )

      Delete
    2. Now you can Restore your internal SDD to the Factory State and get back the space lost to Ubuntu.

      If you're like me you went out and got an SD Card larger than 4 GB thinking that's all that would be needed, BUT.....

      Google's Tools for Chrome OS, Windows and Linux refused to recognize my new Sandisk 16GB SD Card. The Linux tool only works with USB Flash Drives and the Windows and Chrome OS Tools just kept saying insert a SD Card or USB Flash Drive no matter how many times I put the Drive into the Computers.

      One thing is for sure, I just bought this SD Card and I was not going to town to buy another one just to do what this one already should. SO...................

      I downloaded the linux script from:

      https://dl.google.com/dl/edgedl/chromeos/recovery/linux_recovery.sh

      You'll need a linux box to run it because it checks for some things like unzip that the ChromeOS does not have.

      What I did, because my linux and Chrome OS where both still working on my Samsung XE303C12 was Chroot into linux from the Chrome Shell.

      sudo mount /dev/mmcblk0p7 /mnt

      sudo chroot /mnt

      cd home/user/Downloads/

      wget https://dl.google.com/dl/edgedl/chromeos/recovery/linux_recovery.sh

      chmod linux_recovery.sh

      ./linux_recovery.sh

      Next is spit out a list of all the Recovery Images, BE CAREFUL AS THESE DO CHANGE!!!!!

      Working in /tmp/tmp.crosrec/
      Downloading config file from https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf
      There are 11 recovery images to choose from:
      0 -
      1 - Samsung Chromebook
      channel: stable-channel
      model: SNOW BAKER A-C 0405
      model: SNOW BAKER A-D 3030
      model: SNOW BAKER A-E 7136
      model: SNOW BAKER B-D 1711
      model: SNOW BAKER B-E 1369
      model: SNOW BAXTER A-C 1793
      model: SNOW BLANCA A-C 7065
      model: SNOW BLANCA A-D 6394
      model: SNOW BLANCA A-E 0396
      model: SNOW BRIDGE B-C 0734
      model: SNOW CLOUD A-D 8654
      model: SNOW CLOUD A-E 4584
      model: SNOW CLOUD B-D 5991
      model: SNOW CLOUD B-E 3249
      model: SNOW DENALI A-C 2452
      model: SNOW DENALI A-D 9367
      model: SNOW DENALI A-E 2577
      model: SNOW DENALI B-D 9406
      model: SNOW DENALI B-E 9656


      Please select a recovery image to download: 1

      As my ChromeBook uses DENILA A-E 2577: I Choose 1.

      The list is too long, but it will spit out a list of all Chrome Devices.

      Delete
    3. Downloading image zipfile from https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_2913.224.0_daisy_recovery_stable-channel_mp-v2.bin.zip
      --2012-12-21 16:46:06-- https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_2913.224.0_daisy_recovery_stable-channel_mp-v2.bin.zip
      Resolving dl.google.com (dl.google.com)... 173.194.37.70, 173.194.37.64, 173.194.37.78, ...
      Connecting to dl.google.com (dl.google.com)|173.194.37.70|:443... connected.
      HTTP request sent, awaiting response... 206 Partial Content
      Length: 384015667 (366M), 373329262 (356M) remaining [application/zip]
      Saving to: `chromeos_2913.224.0_daisy_recovery_stable-channel_mp-v2.bin.zip'

      DON'T Wait for it to Download, we have the Http:// so we can download the file where we want it rather than a TEMP DIR where we can't find it.

      press ctrl+c to stop the download, now take the address it gave us and download it to our working DIR( Downloads ).

      wget https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_2913.224.0_daisy_recovery_stable-channel_mp-v2.bin.zip

      Note that's the address of my Samsung firmware, if you have any other Chromebook or Chromebox fallow the steps I did and choose the correct Number for your Hardware to get the Http://address for your firmware.

      Once the file has downloaded unzip it:

      unzip chromeos_2913.224.0_daisy_recovery_stable-channel_mp-v2.bin.zip

      Now you have a .bin file you can write to the SD Card with dd.

      The Chrome OS has dd so let's exit the chroot shell:

      exit

      Now:

      cd /mnt/home/user/Downloads/

      Insert your SD Card and make sure it's not mounted by pressing the eject icon next to the External Disk, but don't remove the SD Card from the Chromebook.

      sudo dd bs=4194304 of=/dev/mmcblk1 if=chromeos_2913.84.10_daisy_recovery_stable-channel_mp-v2.bin conv=sync

      That's it, now just reboot holding esc+refresh to boot into recovery mode.

      These instructions should work with minor changes to the "/dev/" of the SD Card from any Linux/Unix box and OS X, it's just a matter of finding the "/dev/" entry on that system for your SD card.

      Hopefully Google will fix the bugs in their image writing program so this is no longer needed, but until then I have put this info here encase anyone else runs into the same trouble I did and is too cheap to go back out and buy yet another SD Card to do the job one will do in the first place.

      Delete
    4. If you fallowed my guide to copying Chubuntu from your internal SDD to an SD Card now you only have one trouble....

      dd is not a wise copy tool, it will also copy over the free space of the drive, so whatever free space you had left on Partition 7 of your SDD is all you will see on Partition 3 of your SD Card.

      So we need to resize the Partition, it should be simple GParted in Ubuntu can Resize Ext4fs, but it does not work under Chubuntu on my system, so we'll have to do things the hard way.

      Assuming you still have Ubuntu installed on your internal SDD, boot from that.

      Open a Terminal and :

      sudo parted /dev/mmcblk1

      unit s

      print

      You should see something like this:

      Number Start End Size File system Name FLAGS
      1 8192s 40959s 32768s KERN-A
      2 40960s 73727s 32768s KERN-B
      3 73728s 31116254s 31042527s ext4 primary

      Note the Start of the 3rd Partition ( 73728 )

      rm 3 ( This will delete the 3rd partition, but not your Data of File System )

      mkpart primary 73728 -1 ( This will make a new Primary Partition Starting at 73728 and ending at the end of the drive(( -1 )).

      quit

      sudo e2fsck -f /dev/mmcblk1p3

      sudo resize2fs /dev/mmcblk1p3

      After this was done my drive was resized, I could mount it and it showed the correct free space, however I could no longer boot from it by pressing ctrl+u.

      So, to fix this you need to recopy the Kernel to the first two partitions, that worked for me. I had the file newkern in my Documents Folder on my Linux partition so all I had to do was.

      sudo dd if=newkern of=/dev/mmcblk1p1

      sudo ss if=newkern of=/dev/mmcblk1p2

      sudo cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1

      sudo cgpt add -i 2 -S 1 -T 5 -P 5 -l KERN-B /dev/mmcblk1

      If you don't have the file newkern just fallow step 5

      5. Reboot into the ChromeOS in Dev Mode and open the Terminal:

      Shell

      cd /tmp

      echo "console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait rw" > /tmp/config

      vbutil_kernel --pack /tmp/newkern --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --config=/tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm

      6. Copy the Kernel you just made to the Fist and Second Partitions of the SD Card, First eject them as the Chrome OS tries to Mount them, Just push the eject icon next to each External Drive.

      sudo dd if=/tmp/newkern of=/dev/mmcblk1p1

      sudo dd if=/tmp/newkern of=/dev/mmcblk1p2

      Just for fun run:

      sudo e2fsck -f /dev/mmcblk1p3

      One more time, and now reboot and hold ctrl+u. You should now have acess to your full SD Card.


      Delete
  80. Replies
    1. What for? It is Ubuntu - once installed you should do updates from distribution not from random place on the Internet.

      Delete
  81. hello everyone, my name is jack and i am going to start a community youtube channel for chrubuntu help. if intrested in helping me go a head and reply and i will let you in on the password so you can post stuff as well once again anyone can send in help videos. i am hoping it brings the community in so people recognise what you guys are doing for the good of us chromebook users.

    ReplyDelete
  82. I tried this and it says this error. please help. it get's to 80% and keeps doing it over and over and over ... yikes!
    error writing download file ubuntu-1204-arm.binaj.bz2

    ReplyDelete
    Replies
    1. Did you type, "sudo bash" before running the script? It enters a root bash shell.

      Delete
    2. Same thing happened to me. Looked like it was checking the md5sum and was not correct. I ended up installing bodhi linux, but want to install chrubuntu.

      Delete
    3. I tried again today, and it worked better. Now I have chrubuntu running. :)

      Delete
  83. For anyone any module loading problems i have figured it out. REF
    https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-os-dev/e31WPcj4J3Y

    Add this "lsm.module_locking=0"to the kernel config line
    echo "console=tty1 debug verbose root=/dev/mmcblk0p7 rootwait rw" > /tmp/config

    Either edit the script or with the instructions above rebuild the kernel.

    ReplyDelete
  84. Any progress on the accelerated graphics?

    ReplyDelete
    Replies
    1. Add ppa:chromebook-arm/ppa from within terminal then open up the Ubuntu software center and install packages.

      Delete
  85. I can't seem to get this working. The chromebook reboots after the install and goes straight into chrome OS.

    ReplyDelete
    Replies
    1. Scratch the above. I got Chrubuntu booting by setting it as the default OS. However, now I can't get any connection. The wireless doesnt seem to be working. Any help?

      Delete
    2. this happen to me too, looks like if you put your chromebook into the dev channel proir to installing ubuntu wifi doesnt work ...try a restore dont update chromeos to the dev channel then install ubuntu.

      Delete
  86. i cant seem to get internet to work while in ubuntu. it says no networks available with networking on. even tried using wired connection still didnt work. what do i do now please help.

    ReplyDelete
  87. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. You can refer to my comment up top, but the simplest method I found was just to use a USB Drive...boot into ChromeOS, copy the file to USB, boot into Ubuntu and copy it back...not elegant and I'm sure there are better ways, but it will work. http://chromeos-cr48.blogspot.com/2012/10/arm-chrubuntu-1204-alpha-1-now.html?showComment=1355767455418#c5394434959917687483

      Delete
  88. the only thing i need is the accelerated graphics otherwise perfect ubuntu install

    ReplyDelete
  89. Thanks Jay.

    Arm Chromebook with 16gb class 4 sd.

    Ubuntu running ok. bit slow but i presume this is graphics acceleration and the fact i'm using class 4 sd.

    Fixed sound using alsamixer. Unmuted left speaker left dac1 & right speaker right dac1 by pressing 'm'. Use caution when altering alsamixer settings as people have blown speakers before.

    open terminal and type 'alsamixer' press enter. Use arrow keys to navigate and 'm' to mute/unmute channels.


    Gimp drawing program works!

    Keep up the good work!

    ReplyDelete
  90. Hello and thanks for your efforts! Before i install, i wanted to know if once installed id have the choice to either boot in chromeos or chrubuntu at each startup. I would to e able to keep Chromeos as an alternate. Thanks and please forgive my ignorance.

    ReplyDelete
  91. How would you remove ChrUbuntu from the arm chromebook

    ReplyDelete
    Replies
    1. Restore the unit with the offical Chrome OS recovery USB from googles site.

      Delete
    2. http://support.google.com/chromeos/bin/answer.py?hl=en&answer=1080595

      Delete