5 Steps to Install Linux on ChromeBook

Ubuntu Linux on Chromebook

NOTE: This post consists of several pages. See the navigation links at the bottom of the page to visit the next page.
12/09/14 to clean up the general order & appearance
07/09/14 to install Ubuntu 14.04 “Trusty”
ABOUT: Crouton is a set of scripts to install Ubuntu Linux on a ChromeBook. It will work with any version of ChromeBook (I think) and most releases of Ubuntu (possibly other distros as well). After it is installed, it operates on the same Linux kernel as the Chrome OS.
PRIMARY HARDWARE: This guide is specific to the Asus C7 (C710 or C720) Chromebooks. Using these guides with other models may require minor changes. To see the differences between the various C7 models, visit here.
UBUNTU: Although Crouton (and this guide) can be used to install some other distributions of Linux, I prefer Ubuntu so it is assumed.

Crouton Features:

  • Instant switching between ChromeOS and Ubuntu (no need to dual boot).
  • Share files between ChromeOS & Ubuntu (the Chrome “Downloads” folder is also available in Linux.)
  • Can easily install with the newest release of Ubuntu (Utopic is not yet supported)
  • Simple upgrade when a new version of Ubuntu is released.
  • You can have multiple versions of Linux available at the same time
  • Options to install various desktop environments within Ubuntu (xfde, lxde, kde, unity, etc).
  • Easily install new Linux software from within Ubuntu.
  • Easy backup (and restore) of the entire Ubuntu OS.

From the Crouton README.md file:

The benefit to this is that there is zero speed penalty since everything is run natively, and you aren’t wasting RAM to boot two OSes at the same time. The downside is that you must be running the correct chroot for your hardware, the software must be compatible with Chromium OS’s kernel, and machine resources are inextricably tied between the host Chromium OS and the guest OS. What this means is that while the chroot cannot directly access files outside of its view, it can access all of your hardware devices,
I MUCH prefer this to the dual boot option that I used previously. It is quick and easy to setup and use. It is transparent to the user and you can quickly (almost instantly) switch between OSes. Here is a screen shot of my Ubuntu screen. I will have a video of the process available shortly.
Crouton-installed Ubuntu with LXDE desktop

Crouton-installed Ubuntu with LXDE desktop


Click here to continue reading on the next page…

Tagged , , , , , , . Bookmark the permalink.

127 Responses to 5 Steps to Install Linux on ChromeBook

  1. Hi Ray,

    Just wanted to take a moment to thank you for this guide – Crouton is so much better than dual boot; I frequently have need to use both ChromeOS and Linux, and this is by far the best way to do it.

    Thanks again,


  2. Devin says:

    Hi ray. I followed your steps precisely. However when it goes to install it says it couldn’t install packages. What am I doing wrong?

    • Ray says:

      Not certain. Are you sure that you signed in on your wifi? Did you sign in as ROOT (sudo)?
      Best advice is to start fresh and do one step at a time. Write down exactly what step fails and report back.

  3. Michael says:

    Hey Ray, your instructions are awesome! Even a noob Linux user like me was able to do it perfectly the first time. Please put up a bitcoin addy so I (and others) can send you a tip!

  4. Halle says:

    My daughter tried to install chubuntu on my new acer c7. I am very unfamiliar with all this. At the end of it all she received an error message. I would like to install it properly but don’t know if any changes were actually made to the hard drive and will it do any damage if I retry? I believe she was using crouton?

    • Kelly says:

      I doubt any damage has been done, I’ve installed about three different versions of Linux on my Chromebook just to experiment and have ended up with a few error messages myself, the laptop should be fine. If you want to try installing Linux again simply restart the computer and follow the above instructions, I found this version to be the best yet.

    • Ray says:

      The nice thing about this Crouton process is that it is easy to delete:
      sudo edit-chroot -d (the name of the chroot is generally the Linux release (e.g., saucy)
      If you don’t recall the name, it is not a terrible issue unless you try to create another with the same name – then you will know the name to delete (grin).
      Either delete the old one and then create a different chroot -OR- just start over and create one — according to my guide (above).

  5. Dan Auwema says:

    Hey Ray,
    Do you think Unity or the xubuntu desktops would run on the Acer C7? Total terminal noob.
    looks like this “sudo apt-get install –no-install-recommends ubuntu-desktop” would install unity through the crosh shell window. If so would “sudo startubunutu” start that form the crosh shell? Thank you sir.

    • Ray says:

      In my experience, Unity works fine with Ubuntu 12.04 but fails on newer releases. LXDE is the only desktop environment that I have been able to use with 13.10.
      Yes, if you install Unity, then “sudo startunity” will work.
      You can use “sudo enter-chroot” with any version, as long as you only have one chroot installed.

  6. Teri McNaughton says:

    Hi Ray! I have been trying to get Ubuntu on my son’s New Acer Chromebook. I have followed your instructions and I get through step D and get the following message:
    Your version of Chromium OS is extraordinarily old. If there are updates pending, please reboot and ry again. Otherwise, you may not be getting automatic updates, in which case you should post your update_engine.log from chrome://system to http://crbug.com/296768 and restore your device using a recovery USB: http://goo.gl/AZ74hj

    I have NO idea what that means. I’m just a mom trying to to make Minecraft work on my son’s new laptop.


    • Ray says:

      Hey Teri! Congratulations on the great present for your son – and for your COURAGE to try this. It really is pretty easy and (AFAIK) safe. You should not have any difficulty. Let us know how it turns out.
      You have three options (either should be fine):
      The process to update your ChromeOS can be completed before (preferred) or after installation of Linux – OR, you could ignore it entirely (not recommended).
      To update the ChromeOS:
      1. Click on the Notifications box in the lower right of the screen (with clock & user).
      2. Select “Settings” / “Help”
      3. On the “About” screen locate the “Version” and it will either say that your system is up to date or, provide a link to do the update.
      Again, you can do the update AFTER installing Linux since the ChromeOS will still work the same before & after. The only difference is that you have the option to switch to Linux if you want.
      Sounds like your son is in for a MERRY CHRISTMAS! 🙂

  7. Dan Auwema says:

    Thanks Ray,
    I’ve gone through the steps twice and both times I get to the enter primary user and then enter new UNIX password. That’s where it stops. I can’t enter a password. I tried plugging in a usb keyboard: no luck. I appreciate your walk-through very much but this is where it sits. Any help would be very appreciated. Thank you.

    • Dan Auwema says:

      Nevermind. Thank you so much sir. God bless.

      • Ray says:

        Hey Dan – glad you figured it out. Would you mind explaining the problem (in case someone else experiences the same problem).

        • Dan Auwema says:

          No problem. A little embarrassing but yes. After everything installs and the installation asks for the default user and then the your new UNIX password I didn’t realize the cursor doesn’t move and nothing is displayed when you type your password. I thought the installation froze. I powerwashed it and reinstalled before I figured that out. BTW if you do need to powerwash and start over the device is still in developer mode. And MERRY CHRISTMAS.

          • Ray says:

            Thanks Dan. I did not mean to embarrass you. It is easy to miss something (which would otherwise be “simple”) when you are fiddling with an expensive toy and you are uncertain of what you are doing. This site is meant to give people, such as your self, the courage to dive in and do exciting things with their toys. Your comment will possibly help someone else to avoid such fear.
            Thanks again – and Merry Christmas!

  8. Chris J says:

    Very nice work. Everything works as described, except logging out of linux — the logout selection in lxde seems non-functional.

    • Ray says:

      True. However, that is of little consequence since you can use the hot keys to switch back to ChromeOS. If you want to turn the machine off, it should be done in Chrome anyway. If you wish to just set the machine aside for a while, just close the lid. When you open it up again, it will open to Linux. If you get a black screen (screen saver), just hit Enter.
      A more difficult “undocumented feature” 🙂 is the fact that the Network icon (and control) are only available in Chrome. To manually switch networks, you must jump to Chrome, switch, then jump back to Linux. Still, not a terrible issue.
      I use my (Linux) Chromebook all the time (including right now).
      Whether in Linux or Chrome, I HATE the touchpad. If I could turn it off entirely, I would be happy. I ALWAYS use a wireless mouse. But that is an issue (for me) on all laptops. Touch typing and touchpads are mortal enemies!

      • Clair says:

        Funny, but the C720 has the first touchpad I have ever liked, at least how it operates under Chrome OS before installing Unity. Like you, I have always used a mouse with each laptop I have owned. The C720 almost convinced me I could prefer the touchpad, but after installing ubuntu unity, I’ve noticed differences in sensitivity and response in both operating systems.

        So far, I have also noticed the cursor disappears and flickers in Unity when trying to touch an icon. I have seen some references to this problem, but need to do some research to implement a correction.

        Am waiting for a larger ssd card to arrive on Monday, then will try to figure out how to install the new Ubuntu 14.

        Any suggestions for any of these three items?.

        • Ray says:

          Hi Clair: You may adjust the “mouse” acceleration and sensitivity under >Preferences >Keyboard and Mouse >Input Device Preferences
          I still don’t like it though.

          • Clair says:

            Yeah, after testing a couple of systems and using it more, I found I could not reliably type without the touchpad taking control accidentally and interrupting what I was doing. Tools that slow me down are not tools I want.

            I also found that Chrome was too “dumb” to separate out apps requiring Android operating system. The descriptions did not always specify you need Android to make them work. Not enough off-line functionality in the operating system and the few remaining apps I did find that worked worth a darn. I decided that Chrome was not for me.

            I next tested a different install routine which simply replaced Chrome with a linux distro. Tried Bhodi-linux version which had all the right drivers for the touchpad, except no clear way to disable the touchpad and use a mouse instead. Also found the distro to be one that would require months of study and testing to get it set the way I would want. Lots of quirks.

            Then rebooted and installed Ubuntu 14 with Unity. Everything seems to work great, except that the touchpad is totally disabled. In this case, that is exactly what I wanted. My wife loves it.

            The only quirk to this install is tht it opens to the screen with the OS verification warning, and requires you to enter Ctrl+L to (Legacy) boot directly into Ubuntu. It takes approximately 60 seconds to boot to my log-in password screen. After that, the software flies like a bird! It is a huge speed enhancement over the old Atom processor netbook my wife has been using.

          • Ray says:

            Yes, there is some definite value to installing a REAL version of Linux. I have instructions for that mode also. But I prefer to do the Crouton install and I can switch between the two. The problem with Crouton is with upgrades. I have not yet been able to get Unity to work on anything but the 12.04 version of Ubuntu (no great loss over Unity). Nor have I been able to install the 14.04 version at all (with any desktop).
            Thanks for the report on your success!

  9. Sahib Bennett says:

    Hi Ray,

    I followed steps A thru F successfully. I found that I could switch back and forth. But in Linux, I had nothing but a blank screen. After restarting, I cant switch back and forth. I am trying to duplicate the instructions, but when I enter the CROSH window, it no longer recognizes the “shell” command.

    What did I do wrong? How can I start over?

    • Ray says:

      Sorry to have missed your comment. For some reason, my software caught your comment in the SPAM filter. You might want to check with your email provider??

      To address your question:
      1. I have revised my instructions because (for some reason), it started doing that with me also. The process (as written now) should work. It was a function of the fact that (in this script) only the LXDE desktop will work properly with the SAUCY release of Ubuntu.
      2. How to start over: Press the SPACE key rather than the Ctrl-D at first boot. That will start the RECOVERY process which will restore your CB to the factory defaults (and remove all your stored data). Then you can repeat the Developer Mode and start fresh.

      That is bad news I know but it is the only process that I know to clean up (“powerwash”) the device when there are major problems.

  10. Tyler H. says:

    How do I get it to automatically go to linux?

  11. Thanks for the wonderful article. BUT THe link : http://goo.gl/fd3zc isn’t working. I downloaded crouton from another site, but I guess it may be

  12. Ray says:

    Hello Michael.

    If you followed my guide (above) then the ChromeBook does not requre a reboot. Check out section “F. Using the Chroot:” for instructions on how to start Ubuntu and how to switch between the to OSes. NOTICE: THIS guide is the preferred method. Please consider using it.

    If you installed Ubuntu under my OLD guide (https://bishoptec.com/2013/01/howto-ubuntu-on-chromebook/), then it is much better to place the comment on that article. On the article there, you should see a section (at the bottom of the article) titled “Switching between Chrome & Ubuntu:” just follow the guide from there to the end of the article.

    As to Minecraft, it depends. If you have the C7 CB, then it is likely that the STEAM engine will install under Linux. From Steam, you can run the “Don’t Starve” game. Since I don’t do games, I am not certain whether that is actually “Minecraft” or not (it just shows up as Minecraft when I search on Steam). Nor do I know if the CB will have sufficient memory to run Steam in the OLD setup. But the NEW (Crouton) setup should run it without problems. You can see more at http://store.steampowered.com/search/?snr=1_230_linux__12&term=Minecraft#term=Minecraft&category1=998&os=linux&sort_order=ASC&page=1

    You are welcome! Just donate using the PayPal “Donate” button on the left panel (or, at the bottom of the page if you are using a mobile device). Be sure to add a note to your payment so that I know it is from you and that it is for this service.


    • Mayer Levy says:

      thanks for the post. there are cases when inexperienced user hit the wrong key and wipe all their Ubuntu and back to original chrome OS.

      It would be nice if you could post brief instructions how to restore the system back to ubuntu with little pain.

      M. Levy

      • Ray says:

        I have searched a *LOT* trying to find something about this. AFAIK, when you hit “space” and then confirm, you will delete everything on your C7’s hard drive and reset it to stock ChromeOS. However, the PARTITIONS from the ChrUbuntu install are still there and must be manually deleted. When I did the full RESTORE (according the ChromeBook help), it still did not remove the old partitions. I had to manually delete them with GParted.

      • Ray says:

        BTW, this topic would be better placed on one of the ChrUbuntu articles.

  13. michael depatty says:

    I need to know how to reboot the chromebook in Ubuntu. I have installed it 3 times now, and when the system reboots, after starting it in the morning, it reverts itself back to ChromeOS. If you can tell me how to fix it, i am willing to donate money. Additionally, if you can tell me how to install Minecraft, there is some money waiting for you too!

  14. Pingback: HowTo: Ubuntu on ChromeBook - Bishop of Technology

  15. Pingback: ChromeBook Developer Mode - Bishop of Technology

    • Boris says:

      I installed ubuntu on samsung chromebook (arm) using your guide. I just changed the command “sudo sh…..” delete -a i386 parameter. after running the script and care out “sudo startlxde” I could see the login screen of xlde. when I try to go back to chromeos the key combination. in tab cronos I get the following messages:
      Message: main.vala:97 DE is LXDE
      Mesage main:.vala:128: log directory: /home/username/.cache/lxsession/LXDE
      Message main : log path: /home/username/.cache/lxsession/LXDE/run.log
      Timeout waiting for extension to connect.
      croutonwebsocket error: Error: notconnected.Error: target STRING not avaliable
      croutonwebsocket error: Error: not connected

      After completion of all action, what to do with the developer mode chromeos?
      What to do with developer mode chromeos ?

      • Ray says:

        Your comment was being held for your email response. If you did not receive an email from my website, check your spam filter.

        Not sure what you mean by “care out ‘sudo startlxde'” If you did not use that, you probably should since it seems to be telling you that the DE (Desktop Environment) is LXDE.
        Since I do not have an ARM device, I can’t help you a lot but you are correct to eliminate the i386 part. I think that you could just leave it out or use “arm” instead.
        At the bottom of the article is my link to the original posting. I suggest that you try that.

        • Glenn says:

          I can’t thank you enough, sir. I did dual boot with ubuntu once but I don’t know what my daughter did to mess up the system. I tried doing it again but it did not work until i stumbled on this tutorial. It’s even better than dual booting with Ubuntu plus it runs faster. Just one question, sir, is there a way to do this but instead of Ubuntu, I want to use an Android OS? Thanx again asd God bless you.

          • Ray says:

            Sorry but I don’t know. I think that the developer might have done something similar if you have the atom processor (rather than the i386). Check the link in the article.

    • olor says:

      Hi Ray, recently upgraded ssd to 128gb Acer C720 Intel Celeron 2955u i3. Did manage to install chrubuntu & used for a few days but could not get skype for android working so wiped that. I found your site & followed your “5 steps”, @ D for the “a” option I guessed at i3 (?) omitted “r” option as I have Zorin OS9.1 in USB slot & was hoping, also have USB standing by with Mint 17 loaded. On enter seemed to accept very quick & then warning about dev mode & username & password gave me chronos@localhost / $ HELP as this oldienoobiedumbo stuck. Any help would be appreciated.

      • ray says:

        It sounds like you are doing things correctly. Keep going.
        BTW, did you reformat the hd after installing crobuntu? You probably should.

    • Thank you so much for this, finally got my old chromebook runing on linux again. It prints too which makes it really great! One question though: when u say backup your crouts, does this mean that all the files and installed software are backedup? Or if u did something to accidentally mess up your chromebook can the backup tar.gz files serve of sort like an offline crouton/linux installer?

      • ray says:

        The backup will include the packages installed but not your data. However, your data is shared with the ChromeOS and is retained on the device even if you delete a Crouton environment.

    • k says:

      I really like this install, after trying three other ones. The only issue I have is that I am not able to use the apt-get to install. Any help with this would be greatly appreciated.


      • ray says:

        App-get and synaptic (gui version) both work fine for me. But they work from within the Crouton environment. Note that synaptic must be manually installed – see my instructions above.
        Are you certain that app-get is installed? Try to create a second Crouton and see if it works.

    • Oscar says:

      On Acer C710. Well, it looks like some update made the ability to update anything in lxde impossible – or I am doing something wrong. I am trying to install a keyboard setting control to map audio to the keyboard but that isn’t working and neither is looking at crouton version or updating crouton from within LXDE or without. Says it can’t find the location on the drive. Also tried other names from trusty but nothing. Croutonversion does not work.

      Also, right from the start with 14.04, you can’t switch back to Cromebook without running a Cntrl-C command in the crosh window because something gets stuck and won’t complete.

      Thanks but maybe I will have to start over with a different method.

      • ray says:

        I am sorry that you are having issues. However, I just updated some packages in my 14.04 ldxe Crouton. I was also able to install Audacity since I wanted to edit some audio files. All worked perfectly.
        It sounds like you are trying to do everything from the ChromeOS side. I use apt-get or the (graphic) Synaptics package to adding/changing/updating packages (programs). You do all of this from within Linux (LXDE or whatever desktop you are using.)
        As to the ability to switch, I am not having any issues with that either.
        My suggestion: Delete the present Crouton and create a new one. It takes about 40 minutes and is a little bother but overall, it is easy. You should not loose any data but all optional packages (programs) will need to be installed again.
        Let us know how it works.

        • Oscar says:

          I will try it, just for the heck of it. I could install Libre Office and somethings through synaptics and also ubuntu software center but my problem just started happeninig in the last few days, after not using the laptop for a week. The issue with the switching seemed to happen all along.

          This is what I get in the crosh window:

          Loading extension GLX
          Agent pid 11695
          (then four LXDE and log msgs) and then:

          Error: target string not available
          (II) AIGLX Suspending AIGLX clients for VT switch
          ERROR: target string not available

          and then it hangs with a blinking cursor. This has happened right from the start, if I remember correctly.
          I then do a Ctrl-C to get out.

          After the Ctrl-C the msg says:
          Session terminated, terminating shell… connection to X server lost.
          Waiting for X server to shut down Hangup
          (EE) Server terminated successfully (0). Closing log file
          Running exit command
          /usr/bin/xinit: unexpected signal 2

          The it unmounts the partition and puts me back in the crosh window. I have to run the StartLXDE command again to get back in.

          Thanks for your help

          • ray says:

            From the CROSH window, you must first type “SHELL” and then you can use everything else. In my install, Control-c does not appear to do anything in either Crosh or Shell.

          • Oscar says:

            Sadly, after deleting the chroot and doing a reinstall with the command above, I still have the same problem of not being able to go in and out of lxde using the Ctrl+Shift+Alt+F1. It hangs similar to what I (and Boris) describe above.

            I am using an Acer C710 which has an intel chip so it is not an ARM issue.
            Is it possible that the string it is looking to find is in another location on the drive? I haven’t moved anything or downloaded anything except the crouton install.

            How could your install be any different?

          • Oscar says:

            I do the Ctrl-Alt-T to open the crosh window and then do shell to get the download and then enter with startlxde inside the shell window.

            I understand the steps and when I do the Ctrl-Shift-Alt-F1, the lxde goes back to the Shell window on the Chrome browser side. The text described above hangs and never finishes in the Shell (which was the Crosh) window and the only way to end the waiting/blinking cursor is to do a Ctrl-C, which kills whatever it is waiting for.

            Hey, what do I know. I am only a follower here!!!

            When you get out of lxde, what does your Shell look like? I assume, all the text I see is what you get and everything gets correctly closed and finally you end up with your “localhost…” and a ready blinking cursor in the Shell window.

            Without a hangup like mine, there would be nothing for Ctrl-C to do.

          • ray says:

            I am sorry that you are still having issues. I have a c710 also and I did the install EXACTLY as I describe above. My current install is Ubuntu 14.04/LDXE.

            I am not a developer. I just get the information from the developer’s site and “translate” it into a simple guide. I first record the steps, then write them in an article.

            Since the original article/guide, I have used the guide again whenever I upgrade to a newer version of Ubuntu (2 or 3 times?). In each case, I use the guide step-by-step to assure that it still works as I have described.

            If your install doesn’t work and you did it exactly like the guide – twice according to your comments – then I don’t have an answer.

            It could be one of the following:

            1. You may have used a different set of “targets.” Try cut and paste of the exact command line that I used.
            2. Bad download of Crouton (unlikely after second attempt)
            3. Bad install of ChromeOS (would require a full rebuild – see Setup step 2, above)
            4. Hardware issues (worst scenario – are there any issues with ChromeOS?

            In any case, I would strongly encourage you to visit the Crouton team’s WIKI here: https://github.com/dnschneid/crouton/wiki They may have other suggestions.


          • Oscar says:

            FWIW, I just copied and pasted your code above. Perhaps there are slightly different models of the C710 or the same model with a different chip. Everything worked except the shift back and forth. I couldn’t control the sound so I was investigating the keyboard bindings but that didn’t work at all – xbindkey-config kept crashing.

            Of course there are so many different versions and everyone has their own process. Like a lot of computer people, someone usually tends to leave something out – not on purpose – but something that may be crucial.

            I do windows and mac support for people so I know a lot of stuff that goes on in the background. Old enough to remember DOS and Basic – ugh – and punch cards – double ugh!!!

            The other method of using SEABios to boot linux distros is just very slow and your solution would be great if it worked for me.

            I guess I could try one target at a time to determine the problem. I have yet to look at the log file – maybe that is next.

            Thanks again.

          • ray says:

            There are some variations in the configuration. Does your device report at parrot (something)? That is the code name that my device reports.

          • Oscar says:

            It is also possible that when you installed your version, everything worked fine and then the updates worked too because everything was installed correctly at the beginning. Perhaps now, a newer driver or target is a little different and is being installed in a slightly different manner.

            This happens in Windows, where you may have to install certain drivers ONLY in a certain order to get them to work correctly.

          • ray says:

            That is possible but doubtful. Windows does updates differently than Linux (ChromOS is a Linux derivative). It is my experience that Windows does cumulative updates (one builds on the previous) while updates in Linux are comprehensive.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.