Monday 18 February 2013

Chrubuntu Install and Fixes

Welcome to my guide for installing Chrubuntu (Ubuntu 10.4) into the new Samsung Series 3 Chromebook (Arm Processor).
This guide has been compiled using many different sources and I take no credit for the amazing work that Jay Lee @ chromeos-cr48.blogspot.co.uk has done in porting Ubuntu over to the Chromebook and making it a genuinely usable system.
If you wish to donate to the project, please do so on his site and not to me as I am only providing an install guide.
At this time the project is at "Alpha" stage (this is actually the first release "Alpha 1"), therefore you can't expect the experience to be perfect but with the fixes I am going to help you through, it won't be far off.
Also I just want to make it clear that this guide is intended to help you install Chrubuntu onto your Chromebook and install some of the fixes (such as audio).  I have tested this method several times with no problems and it took a lot of trial and error to get it right, but I do not take any responsibly for any damage or loss of data that you may experience as a result of using this method.
Now that we have the legal bit and the thank you's out of the way let's have fun....

Please make sure you are connected to a power supply before you begin.
Also make sure you have backed up any important data on your Chrome OS partition as this will be erased...

First thing you need to do is create restore media for your Chromebook in case anything should go wrong or if you wish to restore your Chromebook at a later time.
I recommend using a USB flash drive, however you can also use an SD card if you wish.

Tip: Never use cheap memory for important backups, I would always use a trusted brand such as Sandisk etc. Also be aware there are a number of "fakes" out there especially on auction sites so always stick to trusted dealers if you want the genuine product.  (It's not always worth the savings you can make buying the products cheaper).  Same goes for the media you are going to use to install Chrubuntu later on.  I would recommend using a branded product and ideally Class 10 to give you Optimal read/write speeds:
Class 4 = 4mbs Class 10=10mbs and so on.
Ok so I am only at the first stage and I am already waffling, but this is important info in the long run.  Anyway back to our Chromebook....

So insert your media into either the USB or SD slot and open a new Chrome window.

Type "chrome://imageburner" into the omnibox (browser's address bar).
Follow the on-screen instructions, it will download the necessary files and create your recovery/restore media.
Once you have your restore USB flash or SD card you can remove it and put it somewhere safe in the hope that you will never need to use it.

Moving onto our next task which is getting the Chromebook into "Developer Mode" this uses the "Developer Bios" and is intended for those creating new software etc for the device, however it gives us the opportunity to change various settings (including setting an alternate boot device yay)!

Make sure your Chromebook is switched off.
Press and hold "Esc" and "Refresh keys" (Refresh is where F3 would be on traditional keyboard).
Whilst holding the "Esc" and "Refresh" keys, power on the Chromebook.
You will now come to a screen stating "Chrome OS is missing or damaged.  Please insert a recovery USB stick or SD card."

 Tip: If you ever want to recover your Chromebook this would be the point that you would insert the recovery disk we created earlier.

Press "CTRL" and "D" keys together

You will now get a screen with the message "To turn OS verification OFF, press ENTER".

Press "Enter"

When Chromebook reboots press "Ctrl+D" to enter Developer Mode.
You will get a screen with gives you the following "Preparing the system for Developer Mode"
This process takes a few minutes so please bear with it and DO NOT power off your machine.

At this point the Chromebook is reverting to factory "Out Of The Box" settings.
On my machine this process took approx 16 mins (you do get a progress bar at the top of  the screen).
When the Chromebook reboots, press "CTRL+D" your machine will boot into ChromeOS.

Now select your language & keyboard settings
You need to enter your wireless network key and connect to your network (internet).
DO NOT click "Continue" instead on your keyboard press "Ctrl+Alt+=>" (=> is the right arrow next to the refresh key on the left of the keyboard where F2 would traditionally be).
This will take you to a "Terminal" screen and will ask you for localhost login:
Enter "chronos" (without the speech marks) and press "Enter"

Insert the storage device on which you want to install Chrubuntu (if using USB be sure to sure the 2.0 port (Black) not the 3.0 (Blue) as this does not support booting).

You must type one of the following commands (followed by pressing "Enter"):

SD Card

wget http://goo.gl/34v87; sudo bash 34v87 /dev/mmcblk1


USB Flash Drive

wget http://goo.gl/34v87; sudo bash 34v87 /dev/sda


You will be asked to press "Enter" twice, once to confirm that you are running the ARM Chromebook and secondly to confirm that you understand all data on your USB device will be erased.

Now your Chromebook will start downloading the Chrubuntu Operating System!
The download is split into 52 files and each file contains 100mb of data (actual size of file varies from 1mb to 99mb depending on compression) so as you can appreciate this takes a while.
Good time to go make coffee I think....

Process took 51 minutes on my Chromebook to give you an idea.

When machine reboots, you will be back at the "OS verification is off" screen.
You need to press "CTRL+U" and this will boot the Chromebook into Chrubuntu.
OK so that is the Chrubuntu (Ubuntu 12.04LTS) Operating System installed on your Chromebook.
Your password is "user" (without quotation marks) but can be changed.

I recommend rebooting the Chromebook and then getting all of the Ubuntu updates before continuing (just as a matter of good practice).

From now on anytime that your Chromebook reboots you will be presented with the
"OS verification is off" screen:

"CTRL+U" Takes you to Chrubunutu
"CTRL+D" Takes you to Chrome OS

If for any reason you decided to exit out of Developer mode you will need to enter the following command to boot back into Chrubuntu:

sudo crossystem dev_usb_boot=1

Now for the fixes....

So this is when we are reminded that this is an Alpha release and therefore not perfect.
The following work right away:

WIFI
Bluetooth
Battery Monitor
USB Ports
SD Card Reader
Touchpad (not perfect see fix later in this guide)

However the sound does not work and this is the first fix I am going to guide you through.

YOU MUST FOLLOW THIS EXACTLY OTHERWISE YOU COULD
DAMAGE YOUR SPEAKERS.

Open a new terminal window "CTRL+ALT+T" and type "alsamixer" (without quotation marks) and then hit "Enter".
You will get the AlsaMixer v1.0.25 mixer screen.
At the bottom of the window you will see Headphone and Speaker options, notice that Headphone is in red with indicates that it is the item selected.
Navigate through this program using your arrow keys (Do not use scroll on your mouse as this will alter the levels which you do not want to do).

Start by pressing the right arrow until "Left Speaker Mixer Left DAC1" is selected in red.
List is alphabetical so you will know when it is coming up, but if you do miss it just hit the left arrow to go back.
You will notice that the box above contains the letters MM this means that the channel is muted.
This is what we need to change.  Press the "M" key and the MM should change to 00
You have successfully enabled the channel.  Do the same thing with the following channels:
"Left Speaker Mixer Right DAC1"
"Right Speaker Mixer Left DAC1"
"Right Speaker Mixer Right DAC1"
Now we will enabled the headphone output, same process enable the following:
"Left Headphone Mixer Left DAC1"
"Left Headphone Mixer Right DAC1"
"Right Headphone Mixer Left DAC1"
"Right Headphone Mixer Right DAC1"

Now press "Esc" and you should be back at the terminal screen.
At this point we have all of the settings in place but we have to save otherwise Ubuntu will forget next time we reboot and we will have to enter all of this again. Type the following command:

sudo alsactl store

You will be prompted for your password so just enter that and your settings will be stored.
Exit terminal.
Now go to the speaker icon on the top right of your screen (next to the clock) left click and go to "Sound Settings".  Underneath where it says "Play sound through" select "Speakers" and test the sound using the volume slider.
If it's not working go back through and make sure you enabled all of the correct channels.
If you did everything right you should have sound! Yay!
Close the Sound Settings window and you're done.

Now to sort the touchpad and get it working much better.
As I'm sure you have noticed by now, the touchpad works but is far from perfect (very laggy etc).
Here is a straight forward guide to making it work correctly:

It is very important that once you start this process, you do not reboot until it has completed otherwise you could damage your Chrubuntu installation.

Open a terminal window "CTRL+ALT+T" and enter the following commands
(Pressing "Enter" after each line):

mkdir ~/backup sudo mv /usr/share/X11/xorg.conf.d/* ~/backup/
cd /usr/share/X11/xorg.conf.d/
sudo wget http://craigerrington.com/chrome/x_alarm_chrubuntu.zip
sudo unzip x_alarm_chrubuntu.zip
sudo rm x_alarm_chrubuntu.zip


When asked "replace 10-evdev.conf" type "y" for yes.
By default this is set to UK keyboard, if you wish to change this type the following command:

sudo vi /usr/share/X11/xorg.conf.d/10-keyboard.conf

Press "Enter" and you will see a config screen. Simply change "gb" for your country ie. "us" and close terminal.

Reboot the machine and you should have a perfectly working touchpad. Woohoo!


If you have tried to load any flash sites or videos (youtube is a good example) you will have been meet with a message telling you that the flash plugin is missing and you need to install, however when you try and install missing plugin you find that it is not available for the ARM architecture,
you can't download it from the Ubuntu Software Center either.
Luckily you have a version that will work right at your fingertips (the one that came with Chrome OS). This took me a while to work out but here is the guide:

I have done the hardest part for you (extracting the flash player from Chome OS) so you can download it directly
here

Now extract the "flashplayerarm.tar.gz" file you just downloaded and you should have two files, "default" and "libpepflashplayer.so" I am going to assume you extracted them to the Desktop but if you extracted them elsewhere then just alter this guide accordingly.

Open a terminal window "CTRL+ALT+T" and type the following commands:


cd Desktop
sudo cp libpepflashplayer.so /usr/lib/chromium-browser/plugins

sudo cp default /etc/chromium-browser
exit

Enter your password when prompted and that's it Flash Player should be installed.

For now this only works with Chromium/Chrome as Firefox are not supporting this project but hopefully a fix will come soon for all you Mozilla users.


Next we are going to change the password on your Chrubuntu installation, this is optional but highly recommended.
One of the glitches I have found is that I am unable to access the "User Accounts" option is system settings so in order to change your password you will need to use terminal.

Open Terminal "CTRL+ALT+T" and type:

passwd user

"user" represents the username you wish to change which is user by default.
It will prompt you for your current password and then ask you to enter new password and confirm.
That's it!

So now you should have a nicely working Chrubuntu install.
I will post updates as they become available.

There is currently no hardware video acceleration or on-board webcam support but hopefully they will be with us soon.

I case you were wondering...

I prefer USB/SD installation because it does not affect the 16gb storage allocated to Chrome OS and therefore allows that to be used to it's full potential. It also allows me to simply switch between the Operating Systems by using either the "CTRL+D" command for Chrome OS or "CTRL+U" for Chrubuntu.
I may write a guide in the future for installing to the internal storage.

I hope you found this guide helpful and thanks to all the people that made this possible.

Keep Rockin'

49 comments:

  1. Hello, when you mentioned the flash player from Chrome OS, I don't see a link for it. I would be grateful if you could link me to it. Thanks.

    ReplyDelete
  2. Hello there. Same problem as Samuel Hunt. Please update with a link! Otherwise, great tutorial! Thank you so very much (especially the touchpad! You've no idea how relieved I am now that it is working perfectly!!!)

    ReplyDelete
  3. Yeah he teases us with a link that isn't there! Nice tutorial but that link would really just push it into orbit man.

    ReplyDelete
    Replies
    1. Hi,

      Sorry for the delay.
      Hadn't realized the article had gone live.
      The download link is now working.
      Any questions, I am glad to help.

      Meaty (RetroFatty).

      Delete
  4. Ah man, I found another tutorial that requires you to go back to ChromeOS and copy that file (for which the link is missing in this tutorial!) and I still couldn't do it! The steps are for when youre in ChromeOS (i assume)

    1) Ctrl+Alt+T
    2) Type "shell" and press enter
    3) Enter the command: cp /opt/google/chrome/pepper/libpepflashplayer.so /home/chronos/user/Downloads/ so the file we need is copied to the Downloads folder. Put it on a usb or google drive so you can access it when youre on Chrubuntu.

    Then go back to Chrubuntu and
    copy libpepflashplayer.so to:
    /usr/lib/chromium-browser/plugins/

    then edit:
    /etc/chromium-browser/default

    and add:
    CHROMIUM_FLAGS=/usr/lib/chromium-browser/plugins/"--ppapi-flash-path= --ppapi-flash-version=11.3.31.518 --ppapi-flash-args=enable_hw_video_decode=0,enable_stagevideo_auto=0,enable_trace_to_console=0"

    Apparently this works :(

    ReplyDelete
  5. I did this too and it ended up not working for me. Just says "missing plug in" every time I try to use YouTube. For now I've just switched back to chromeOS until he can link us to the default file at least, (since I already have the libpepflashplayer.so)

    ReplyDelete
    Replies
    1. you did it correctly the problem is that newer versions of the libpepflashplayer.so are not compatible. there is a download link on reddit in r/chrubuntu for an older verison that works perfectly for me.. hope that this helps

      Delete
  6. Ah how did you get the file?!

    ReplyDelete
    Replies
    1. Hi,

      Sorry for the delay.
      Hadn't realized the article had gone live.
      The download link is now working.
      Any questions, I am glad to help.

      Meaty (RetroFatty).

      Delete
  7. If you download chrome from googles site, you can't install it because its not built for ARM, however you can extract the files and find libpepflashplayer.so. I would tell you how to get there but I don't have my chromebook with me. I'll update when I'm home

    ReplyDelete
    Replies
    1. Hi,

      Sorry for the delay.
      Hadn't realized the article had gone live.
      The download link is now working.
      Any questions, I am glad to help.

      Meaty (RetroFatty).

      Delete
  8. Hi Guys,

    I hadn't noticed this had gone live.
    I thought I was still in draft.
    I will update that links this evening.

    ReplyDelete
    Replies
    1. Thanks so much, finally got it to work. You're the best.

      Delete
    2. No probs, sorry for the delay.
      Hoping to have a fix for the graphics soon.
      Also would be nice to have Flash in Firefox, if I figure it out it will be posted up here.

      Best Wishes.

      Delete
    3. Stop apologising, your tutorial is amazing! Will recommend it to everyone I know with a Chromebook! Thanks again.

      Delete
    4. Thanks Sophia,

      Really appreciate the feedback.
      Keen to get for tutorials done so please keep checking back.

      Take Care.

      Meaty (RetroFatty).

      Delete
  9. What a great guide! Thanks for this contribution to the community! I'll be waiting eagerly for the news on graphics acceleration! Thank again man!

    ReplyDelete
  10. Hi guys,

    To anyone who has found this guide helpful, would love to now how you discovered it. Google, Twitter, Facebook etc.

    Thanks,
    Keep Rockin'

    RetroFatty. x

    ReplyDelete
    Replies
    1. I did found it via google
      chrubuntu arm sound fix

      Many Thanks for Sound and Flash on Chrubuntu on ARM :-)

      Delete
  11. I copied my ChromeOS flash into my Chrubuntu... I also got the flags and everything set up, but when I got to Youtube and other flash sites, it says Can't Load Plugin... Any clue?

    ReplyDelete
  12. Did you ever get flash player to work in firefox?

    ReplyDelete
  13. Had the same problem with Flash. Finally got it to work by going to chrome://plugins in the browser's address bar and clicking the "disable" link under "Shockwave Flash ". Yes, disabling the plugin got it to work. As soon as I enable it Youtube says "cannot load plugin", disabling it enables it...

    ReplyDelete
  14. Hi guys,

    Sorry for the late reply.
    Are you having these flash issues after following my guide? If so I will go through it again and make any necessary modifications.
    No news as far as Firefox is concerned yet, but if that changes I will post the info and any required files up here right away.

    Take Care and Keep Rockin'

    Meaty.

    ReplyDelete
  15. If you copy the flash plugin from Chrome OS, and add the flags to /etc/chromium-browser/default, it works. However, you need to be sure that the version number is correct, or else Chromium will notify you that flash isn't installed. I was surprised to learn that 720p YouTube videos almost play correctly, even without hardware acceleration.

    ReplyDelete
  16. Hi. Big thanks for working Flash fix. Didn't find it elsewhere. I have native Ubuntu install on my Chromebook and the plugin works well in Chromium.
    But can you explain in detail how you extracted the files from OS image? Can I do it without installing ChromeOS again? I've "burned" the recovery image to USB flash drive but I can't mount ROOT-A partition on my Ubuntu desktop (I get wrong FS error).
    What I'd like to do is to extract Hangouts plugin the same way so I can do video calls. There is no Skype build for Ubuntu ARM so Hangouts would make some sense. I also tried Ekiga but microphone input is quiet and distorted. Maybe some ALSA config fix is required but I'm not experienced enough to do that.
    Thank you!

    ReplyDelete
  17. i cant install wine
    it says Package wine1.5 has no instalation candidate

    ReplyDelete
  18. WINE is only for x86, not ARM.

    ReplyDelete
  19. Is there any way i can get it to work?
    I need to run google sketchup for school.

    ReplyDelete
  20. It may be possible with QEMU but there is no easy and reliable solution yet :(

    ReplyDelete
  21. Dude, you frickin' rule. I've been trying to get flash to work on my BeagleBone Black for several days now (running Ubuntu 12.04 armhf). Your extraction of Chrome's flash player solved it perfectly. Mad respect, man.

    Oh, and I discovered this post through Google.

    ReplyDelete
  22. Did someone had success with Google Hangouts yet?

    ReplyDelete
  23. thanks for the detailed instructions, helped a lot

    ReplyDelete
  24. For youtube install html5 add on in Firefox.

    ReplyDelete
  25. I did try to "update" to libpepflashplayer.so Flash 11.9.900.117 out of the actual ChromeOS (/opt/google/chrome/pepper/) but now Chromium does only display empty flash....with a rightclick V 11.9.900.117 is displayed.... after a recopy of the old files from your archive it doenst work anymore with every falsh version :-(
    Do you got a Idea? I did reinstall chromium but that doesnt help any further :-(

    ReplyDelete
  26. Nothing happened on the alsa mixer when I pushed right.

    ReplyDelete
  27. Hello, When I enable the speaker channels in alsamixer the speakers work but when I have headphones in audio comes out of the speakers and the headphones at the same time. Can you help me?

    ReplyDelete
  28. Did anyone get the track pad thing to work? I got two doesnt exist errors on the first line..

    BTW, I didnt have 'alsactrl' but if you sudo alsamixer, it saves the settings.

    ReplyDelete
  29. Hi http://craigerrington.com/chrome/x_alarm_chrubuntu.zip is down, could you send it to me thanks sandoz(at)isl.is.

    ReplyDelete
  30. Hello, its a great tutorial, ill like to report that flash player on flash games, games work but the text on the games do not show up correctly it appears like a box with a cross inside of it, its there any way to fix this?

    ReplyDelete
  31. What a great guide! Thanks for this contribution to the community! I'll be waiting eagerly for the news on graphics acceleration! Thank again man!
    Angry Birds Games

    ReplyDelete
  32. Thanks a lot..I faced similar problem..First tried with cache clearing..that didn't work. After updating skype, it started working fine. visit more info Skype Help and Call +1-800-231-4635 USA (Toll Free).

    ReplyDelete
  33. You need to enter your wireless network key and connect to your network (internet). ... wlanakku.blogspot.de

    ReplyDelete
  34. Easytechy, US-based an independent Tech Support Agency offers on-demand technical support for Computer, Tablets, PC, Laptop, Mobile, Gaming, Hardware and Installation Services.

    Easytechy Hardware Installation Services | Las Vegas, Nevada - 89146 | Tech Support Number: 1-855-859-0057

    ReplyDelete
  35. Lol! Great article, very well written, and brilliantly funny :) keep it up! visit- Skype Help Call Toll Free No +1-800-231-4635 For US/CA.

    ReplyDelete
  36. Hi it was very informative post. Thank you for sharing this information.. visit- Skype Help.

    ReplyDelete
  37. Please can anyone give me another link to download the x-alarm.zip file from. Because the one above isn't working. Thanks.

    ReplyDelete