How do I dual boot Chrome OS and Linux using a USB drive?

In my original guide many of you have asked how to dual boot Chrome OS and Linux on your Chromebooks. I’ve come up with this how to along with the video guide to make the whole process easier to understand and follow.

John has provided some great resources on his site along with the modified BIOS needed to make installing Linux on a Chromebook possible. For dual booting on a Chromebook you should use the RW_LEGACY BIOS mod. You may find my post about the difference between BOOT_STUB and RW_LEGACY useful as well.

Update: Please use Mr Chromebox’s BIOS mod instead of John’s. It is based on John’s work but includes more options and features. You will find it here with ample explanation about how to use it. In short, the process is very similar to John’s script.

With only a 16GB internal drive on the Chromebook, it’s not worth partitioning it for the Linux install and so I’m using a USB 3.0 drive instead. Check this post out if you or looking to dual boot on your internal Chromebook drive.

This means I’ll leave the Chrome OS install on the internal drive and install Linux on a always plugged in USB 3.0 thumb drive. USB 3.0 drives provide fast read/write speeds and a compact one like the SanDisk 128GB Ultra Fit is the one I chose. It’s a good solution because it doesn’t stick out of the side of the Chromebook too much and costs only around $30.

Lastly, the great thing about this method (RW_LEGACY) is that you DON’T have to open your Chromebook up meaning you aren’t invalidating your warranty and you can’t brick your Chromebook.

It’s a good idea to have your mains power plugged in to avoid any low battery issues.


What you’ll need:


Step 1. Enable Developer mode

Developer mode will wipe your Chromebook back to factory settings so make sure you back up any data not on your Google drive.

  • With your Chromebook turned off hold down the ESC and Refresh While keeping them held down, press the power button once.
  • Press Ctrl + D to bypass this screen.
  • Press Enter at the next screen.
  • On the next screen press Ctrl + D to bypass this message.
  • You will see a timer counting down in the top right hand corner of the screen. The Chromebook will reboot and you’ll see the screen with the red exclamation mark.
  • Developer mode is now enabled, power off the Chromebook.

Step 2. Modify the Chromebooks BIOS

By enabling developer mode, your Chromebook will always display the screen with the red exclamation mark on startup. Let’s now modify the BIOS to allow us to install Linux.

  • Turn the Chromebook on and press Ctrl + D to bypass the screen with the red exclamation mark.
  • Your Chromebook is reset to factory settings so you will need to go through the Chrome OS setup again.
  • Once complete, open a new Chrome tab and go to John’s website, at the bottom of the post (before the comments section) copy the commands.
  • Press Ctrl + Alt + T to bring up a terminal window tab.
  • Type shell and press Enter.
  • Paste the commands into the terminal and press Enter.
  • Choose the option to Modify my Chromebook’s RW_LEGACY slot and follow the on-screen instructions.

Step 3. Enable USB boot

  • Pressing Ctrl + D at the screen with the red exclamation mark on startup will take you to your Chrome OS install but pressing Ctrl + L will take you to the BIOS screen to boot from your USB drive. Let’s turn on the Ctrl + L functionality next:
  • Press Ctrl + D at the initial startup screen to load Chrome OS.
  • Press Ctrl + Alt + F2 at the Chrome OS login screen.
  • Login using the password chronos
  • At the terminal prompt, type sudo crossystem dev_boot_usb=1 dev_boot_legacy=1
  • Power off the Chromebook by typing in sudo poweroff
  • Now on startup, if you press Ctrl + L, you will get the BIOS screen instead of Chrome OS.

Step 4. Install Linux

At this stage most of the work is done and all that’s left is to install Linux:

  • Plug in your USB 3.0 drive into the USB 3.0 port of your Chromebook.
  • Plug in your live Linux USB into the other USB port.
  • Power on the Chromebook and press Ctrl + L to get to the BIOS screen.
  • Press ESC when prompted and you will see 3 drives: the USB 3.0 drive, the live Linux USB drive (I am using Ubuntu) and the eMMC (the Chromebooks internal drive). Choose the live Linux USB drive.
  • Choose the option Try Ubuntu without installing. When Linux loads make sure you can connect to the internet (I am using my trusty USB to Ethernet hub combo for a wired connection).
  • Click on the Install Ubuntu 16.04 LTS icon and follow the on screen prompts until you get to Installation type.
  • We want to leave the Chromebook’s internal drive untouched so choose the option to do something else so that we can manually setup the partitions for Ubuntu.
  • Ignore all the mmc partitions and look for your USB drive, if you’re not sure, look at the size of the drive.
  • Setup a 4GB (4000 MB) swap partition and set the rest of the space as the root partition.
  • DON’T FORGET to change the boot disk to your USB drive as well.
  • Check your partitions are correct and continue the install. 
  • The rest of the install is a standard install so just follow the on screen prompts.
  • Once finished, reboot, remove the live Linux USB and press Ctrl + L

You now have Linux installed. Run the software updates to make sure you have the latest firmware, drivers and software.

Step 5. Fix any problems

For most Chromebooks things will work just fine but there may be some tweaks you need to perform.

To make this easier see my post on automating these fixes so that you can start using your shiny new Linux Chromebook as quickly as possible.



  • Thank you for this article, I struggled with the partitioning of the USB drive for ubuntu install, eventually figured it out but took going into gparted and coping the partition table you have then double clicking on the partitions and assigning them in the installer. It would be helpful to add some more screenshots of this to the article or descriptive language of how to do this.

  • Toshiba cb2 “swanky”. When I choose “try Ubuntu” (16.0.4) I get a flashed white screen, followed by a blank, black screen with a yellow bar along the left side. Any thoughts?

  • Have Dell Chromebook 11 Candy…
    I used the firmware utility script as found on to install boot_stub firmware (first removed the WP screw).
    that went fine. audio was back!
    but booting from USB as default device did not work.
    then I decide to re-run that script to make sure I did answer ‘y’ to boot from USB but still I had to press ‘esc’ and then select the boot device.
    however this morning, I found myself with a black screen… not even the SEABIOS message appeared.
    I do have power cord connected, I see the USB briefly flashing but nothing on the screen at all.
    I removed Compact USB 3.0 drive used for the Linux installation (SanDisk 128GB Ultra Fit) but still nothing on screen at all…

    1. Hi Geert, I’m not sure what’s going on but I would suggest asking MrChomebox on his site, he’s usually very helpful and knowledgeable.

  • Any known problems trying to boot elementaryOS on a live USB? Getting to step 4 and choosing the USB with the linux OS on it and keep getting ‘failed to boot’ error.

    I have used rufus, UUI and Unetbootin to create the USB but all give the same failed to boot message.

    The chromebook i have is the pixel 2015.

    1. Not aware of any problems, maybe try and boot a different laptop from the USB to see if it’s the problem.

      1. I tried the script from MrChromebox’s site and that worked. I did get the gfxboot error but i found a post on reddit that said to type ‘live’ and that allowed the live linux to boot up.

        Once installed to a USB drive i found elementaryOS would lock up every other boot up so tried Solus instead and that works just fine.

  • Hey captain swanky user here i installed 64bit ubuntu on the 4gb ram version of the swanky and everything runs really smooth except for the fact i have no sound? any suggestions?

    1. Hi Chuck,

      Unfortunately, with the newer versions of the Linux kernel the sound driver for Baytrail sound has been removed, so sound will not work 🙁
      Best advice for now is to stick with an older version of Ubuntu…

  • I’d like to do this on a Asus Chromebook C300MA-DB01.
    Esc + Refresh + Power does not boot into Recovery mode so I can’t get into Developer mode. It simply boots normally, asking for password.
    I’ve tried from a POWER OFF state(which I understand to be the correct way, and a from a power on state, same result.
    I’ve Powerwashed. I’ve changed to both Dev, and Stable channels. no difference.
    I bought it used, and I’ve verified it is not a “managed’ machine.
    Note: “ctrl + alt + shift + r” enters a *different* Recovery Mode with the option to PowerWash only, not the one where you can press ‘Ctrl D’ to get into Developer mode. I’ve already Recovered, Powerwashed, etc. I want DEVELOPER mode.
    I’ve also installed crouton integration and Chromebook recovery Utility, and have tried with each/both, enabled and disabled. I’m Stumped.
    How can I get into Developer Mode?
    Any help is appreciated.

    1. Hi JackD,

      I can see from a quick Google search there are other people having the same problem so it may just be that this particular model doesn’t support dev mode. The 2 places I usually check are John’s Supported Models Matrix and the GalliumOS Hardware Compatibility list. It’s listed on John’s site (but that’s the Baytrail version and I’m guessing yours is newer). On the GalliumOS site, it’s not even listed.

      My guess is that it’s not supported, you may have more luck posting your question on the GalliumOS site though. Good luck!

          1. Oh well. Thanks anyway.. I’m doing as you suggested and checking with the folks at GalliumOS.
            If I get a solution, I’ll let you know.

  • I keep getting the “graphic…” error when i try to dual boot it. I tried two different usb drives and still got the error message… what do i do?

  • Captain – I’ve just spent three hours following your excellent instructions to install Mint 18 Cinnamon on my Toshiba Swanky Chromebook. All – including wi-fi, sound and key mapping (via your script) – is working perfectly. I’ve been using Mint on my PC now for almost two years so know it well. Great to have it on the Chromebook now as well. Thank you. Brilliant work.

    1. Hi Besonian,

      You’re most welcome!

      On a side note, I had a quick look at your blog, you are a man of many accomplishments!

  • Picked up a used Toshiba Chromebook 2 (2014 IPS) a little while back for $150 on Craigslist and was running Xubuntu 14.04 via crouton–my first time using a Linux OS. But after coming across this page and ordering the 128GB Samsung USB 3.0 flash drive you recommended I now have a full installation of Xubuntu 16.04 loaded up and running smoothly on that.

    I also ran the CB Fixes and Tweaks package you have listed here ( ) and can confirm that most of those fixes worked with Xubuntu 16.04. Will have to check and see exactly which ones didn’t.

    All in all, pretty damn pleased with the whole experience. Thanks for all your hard work, Cap!

      1. So I’ve checked and all the fixes from that page seem to be working except two. The search key is not toggling CAPS and the the Shift+arrow keys are not working as described. Though it appears Ctrl+up is now “home” and Ctrl+down is “end”, but Ctrl+other arrows does nothing.

        1. It looks like some distros are implementing the key mappings in different ways! Best advice at the moment is to try experimenting with the settings to try to get them the way you want. You will find this post useful for that.

  • Lenovo N22, Linux Mint LTS 64. Well I had joy up until Linux Mint froze up. My first attempt I had mouse but no keyboard. My second attempt. Still no keyboard AND the Linux Mint locked up with no escape. Tried Ctrl+Alt+D, Ctrl+Alt+Esc – frozen solid. No keyboard-can’t power down. Any ideas?

    1. Hi Stan,

      With the Lenovo N22 Mint isn’t the problem it’s John’s BIOS mod. The Chromebook is a Intel Braswell CB and you’ll need to use Mr Chromebox‘s BIOS mod instead. The mouse and keyboard will work but sound will not I’m afraid.

      1. Well, I flashed with mrchromebox bios and still no joy with the keyboard. I’m not sure where to go next. Any ideas are appreciated.

        1. Sounds like the drivers aren’t there in Mint. Try GalliumOS as a test, according to their site everything except sound should work.

          1. Joy! I’m totally content to use Gallium for now. Since Linux Mint is on all of my other devices I will want to change as time goes forward. I want to express my deep gratitude to you for taking the time and attention. You’re awesome and you do embody UBUNTU and FOSS as a principle.

  • Hi Captain,
    Thank you so much for posting this information. I just set up my Toshiba Chromebook 2 (CB35-B3340 ) for Xubuntu dual boot and for the most part “it just works” and seems to be a fairly competent Linux laptop. There’s still some customization I need (like mapping something to INS and DEL keys) but I see you’ve covered that too!

    It looks like it should be ideal for my use case (light programming during my 3 hour commute by commuter rail.)

    This is so cool!

  • Hi Captain,

    This is really awesome. The dual boot works perfectly! But I do have one problem on Ubuntu. It doesn’t see my keyboard. The track pad works OKish. If I plug in a USB keyboard, then there’s no problem. I’m running an Acer Chromebook 14 (CB3-431). I’ve looked around all the forums and tried the few things I found, but they didn’t work. Might you have a suggestion?

    1. Hi Will,

      Your Chromebook has some known issues like keyboard/mousepad and audio issues. You’re probaly better off using GalliumOS as they have fixed all issues except audio to date. They have a customised download for your model series (Brasswell). You can also view progress of any fixes here.

  • Toshiba Chromebook 2 (CPU N2840) + Sandisk 1.0 USB + Elementary OS Loki. Sound not working. Have not tested camera and mic. Everything else is working.

    1. Unfortunately, sound has stopped working in newer version of Linux distros because of the kernel versions 🙁

  • I don’t see my chromebook model on John’s web. Does that mean this procedure doesn’t work on mine?
    It’s ASUS C202SA-YS02 Intel Celeron 1.6 GHz.

    1. I wouldn’t really recommend using a SD card, it’s a bit slow for running an OS but if you really want to, the process is exactly the same as in this post. On the partitioning screen your SD card will show as a mmc card.

      1. can you give an idea of how slow it will be? I would rather not take up one of the USB slots. I will try if not then I’ll go with the usb. thanks

        1. Even the fast PNY one I recommend will take ages doing system updates and you will notice that some apps take a second or two longer to launch.
          USB 3.0 is the way to go and for dual boot you’ll have to sacrifice one of your ports I’m afraid.

  • So, I want to install Elementary OS on my i3 Toshiba. Since it is now based on Ubuntu 16.04, it seems that I wouldn’t be able to do that – I will most likely face the “gfx” problem that other posters have encountered with their i3 and ended up installing Ubuntu 14.04 and then upgrading. But upgrading from older version of eOS to the newer is impossible – that means I couldn’t install Loki, am I right? How is the original Ubuntu performance compared to eOS on CB2? Thank you for useful posts!

    1. If I’m going to be totally honest, I don’t really like theoriginal Ubuntu. It just feels like it has been headed in the wrong direction for a while now. eOS is alot faster. If you have definately decided to install Linux, try installing eOS with an external monitor plugged in to see if that gets you past the gfx error.

  • Hello,

    English isn’t my first language, so please excuse any mistakes.

    1. I dont want to open my Chromebook
    2. I have the CB30-B-104 version (Europe)
    3. Is it possible to install Linux on the EMMC instead of the USB drive?

    1. Hi Riko,

      You English is fine, that’s the same model I have and see this post for installing on the eMMc drive without opening up your Chromebook.

  • Hi Captain,
    Great guide, I appreciate the effort you put in to get us dual booted linux. However I am having difficulty getting it to work. When I install SeaBIOS, the message ‘Block protection could not be disabled!’ comes up. Everything else works fine though. When I go into SeaBIOS, and select the flash drive with live ubuntu on it, it says “Booting from Hard Disk” and does not load.
    Any Help is much appreciated,
    Thank you!

    1. Hi Alex,

      It sounds like a write protect issue which Chromebook model do you have and which BIOS mod are you trying to install, RW_LEGACY or BOOT_STUB?

      1. Hi captain
        I have the Toshiba 2(2015) gandof with a broadwell i3
        I removed the screw, and that fixed the block protection error, however it did not fix the other problem.
        I am installing Legacy.

          1. I eventually fixed the problem by using mr chromebox’s script instead, and then using chrx to install on a new hard drive. Thanks for the help

  • Hey Captain,

    Just wanted to give everyone the lowdown on the new 16.10 Yakkety Yak stable upgrade today. As far as I can tell it hasn’t actually hit the software upgrade utility like it was supposed to today, but you can always risk the life and limb of your little machine with using the developer version via command line, which is exactly what I did.

    Here’s the info if your are interested, use at the risk of death and destruction. sudo do-release-upgrade -d

    My machine is the 3440 Toshiba Chromebook 2 with 4GB Ram. The new 16.10 is supposed to have options to downgrade the backend graphics systems for the GUI so older machines can run it better and a few other minor improvements.

    I did the install and it did tell me immediately that there were errors. Booting into the system I noticed immediately a massive slowdown and the system started freezing on me and letting me know all the errors that were exploding in my system. I believe this is mainly because of some missing dependencies. I also noticed that the keyboard mapping for the top row was missing, which was a little strange since upgrading shouldn’t change your mapping, but, as it turns out it was not that big of a deal.

    Despite the initial bogging down as the system went through and told me everything that was wrong with me and my life and my desire to have a working Ubuntu Chromebook, I found that after I deleted a few minor programs that weren’t really working in any case, actually only one, it started to get a little better. It was still pretty slow. One of the programs I had to remove was Bing Wallpapers which has never really worked but I hadn’t deleted for some reason.

    At the same time I reran your script for automating the fixes based on the assumption that the upgrade had overwritten these fixes.

    Another oddity was the menus and Unity. The menus were whited out and the scaling on the icons wasn’t working. So what to be done? Restart. After restarting I ran

    sudo apt-get update

    and then

    sudo apt-get upgrade

    All of the sudden there was over 100mb needed in the upgrade. Done and restart.

    Upon restart the keyboard mapping, sound, etc is working correctly, zero error messages, menus are fixed and it’s running smoothly. Zero issues so far.

    So if you if you have an itching to put 16.10 on your Chrombuntu machine have heart, with a little patience and some extremely minor work you can have it up and going no problem.

    I haven’t tested out a lot of the software I’ve installed (see earlier posts) but I did bring up spotify because it seems to be a pretty big resource hog and it works fine. I didn’t really expect anything else, after all this is a stable release and one of the big pushes on it was to make it more friendly for older machines.

    So I’ll update if there are any issues on it.


    1. Hi Brad,

      That’s brave of you to not only go with a release on the same day but also on unsupported hardware and a upgrade at that!!

      Having dealt with a lot of PC repairs and installs over the years I always prefer doing a clean install whether that’s Windows or Linux.

      As always thanks for the info and updates, appreciate your time.

  • Hello Captain,

    I followed your great guide on installing Linux on a Toshiba Chromebook 2 (Swanky). However, John’s script does not show option 2 (modify BOOT_STUB). In your dualboot video I can see this option on the same device! How come I can’t use this option? I followed all the steps in your guide. Thanks!!

    1. Hi Bob,

      For dual booting, you need the RW_LEGACY mod NOT the BOOT_STUB one. The option probably doesn’t show because you have to remove write protect to write to the BIOS, see my original post.

  • Hi
    Awesome post!
    I’m planning to buy an HP Chromebook 13 (Model Name: W0S99UT#ABA)
    Can I follow this post to install Ubuntu on a USB stick? Will it work?
    I’ve read that write protect should be disabled. Is this something we have to do yet? If yes, how can it be done on this HP?

    Thanks so much for your help.

    1. Hi Francesco,

      Thanks and I have to say the HP Chromebook 13 looks really nice.

      From a quick Google search it looks like this Chromebook already has a legacy BIOS option so you should be able to miss steps 2 and 3 of this post and you also don’t need to remove write protect.

      Plug in your Linux install USB and the USB you want to install on and press CTRL + L to get to the BIOS after enabling developer mode.
      Let me know how you get on…

      1. Hi Captain,

        Thanks so much for your quick reply, it’s appreciated. Do you mind to forward the link where did you found that HP Chromebook 13 has a legacy BIOS. I’ve tried to find out but they’re always talking about HP Chromebook 14 instead of 13.

        Thanks so much for your support

  • Hey Captain

    Here is the results of the commands you ask for

    larryz02@larryz02-Banjo:~$ sudo dmidecode -s system-product-name
    [sudo] password for larryz02:

    larryz02@larryz02-Banjo:~$ uname -a
    Linux larryz02-Banjo 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:41:41 UTC 2016 i686 i686 i686 GNU/Linux

    larryz02@larryz02-Banjo:~$ find asound.state /var/lib/alsa/
    find: ‘asound.state’: No such file or directory

    1. From those results I can see my script hasn’t replaced the asound.state file.

      You can do this manually by downloading the modified file, go to and right click on the asound.state file and choose save link as.

      Now run the following commands:
      sudo alsa force-unload
      sudo cp ~/Downloads/asound.state /var/lib/alsa
      Restart and check the speakers are default in the settings.

  • Hay Captain
    I Click on the Audio Digital Stereo (HDMI) it didn’t change to speakers, and yes I did run the script that was posted, still no luck.

    1. Ok, let’s try to do some troubleshooting, please send the results of the following commands:
      sudo dmidecode -s system-product-name
      uname -a
      find asound.state /var/lib/alsa/

  • Hey Captain
    Still no luck I can’t get the sound to work. I think the sound is going to the HDMI port. I hooked my chromebook to my tv through the hdmi port and got sound from the hdmi, but no picture. I did see the default speaker option. In the Audio Volume Setting under the Output Devices tab it say Built-in Audio Digital Stereo (HDMI), under the Configuration tab it say Digital Stereo (HDMI) Output or similar.

    1. On the built-in Audio Digital Stereo (HDMI) click on it and it should change to the speakers. Also did you run the test script I linked to in my last comment.

  • Hello Captain! I am curious if you think if I purchased a ASUS C201 11.6 Inch Chromebook (Rockchip, 4 GB, 16GB SSD) and tried to install Elementary OS 0.4 -if it would be completely compatible, wifi card and all? I need a little laptop for business work. Mainly just website design and managing multiple social media accounts. I plan to also integrate Dropbox for easy file sharing. Thank you very much for your time and advice. It will really help me and my business move forward.

      1. Thank you Captain! I just read your affordable Chromebooks article and tried to find options that you posted in my price range but I have come up with a few that are remarkably similar to the ones you wrote down in your list.
        [editied by Captain]

  • Just an update on my previous post, I’ve managed to find a few other gems and get some things running I would not have thought possible.

    First of all as I said earlier I’ve got steam working no problem at all, it’s a touch slow as far as browsing but not that bad. As an experiment I decided to download and install DOTA2 it’s a 7.5GB download and it’s only 3 years old so I didn’t give it that much of a chance at running. I downloaded it for free via steam and let it do the install. I haven’t actually run the game in Online multiplayer but I ran the tutorial for about 5 minutes and surprisingly it runs fine. I’ll mess around with it tonight for a while, I haven’t had much of a chance this morning. I have a feeling that it might experience some slow down the more thats going on gamewise, but the engine is fairly old so maybe not.

    Also one of the primary reasons I did this dual-boot was so I could have a little writing machine, unfortunately serious writing programs on Ubuntu are pretty limited. You have your choice of word processors including Libre Office and Focus, both good programs but for serious research and compilation it was a bit lacking. Imagine my surprise to find out that Scrivener is both available for Linux and free. It’s no longer supported but the latest version was updated in 2015 and it works fine. I have a license for Scrivener on my Macbook and I’m pretty much overjoyed to have it on my little Ubuntu Ultra now. This is an actual well made piece of novel writing software and free to boot. It runs perfect on my Toshiba with no bugs at all.

    You can get it here:

    I’m hoping it’s okay to post a link?

    And install it with gdebi which I have found to be the easiest .deb package installer out there for Ubuntu.

    If you don’t have gdebi get it by doing this:

    sudo apt-get update
    sudo apt-get install gdebi

    Then you can use it at the command line or just type gdebi-gtk to open a graphical interface, go to the menu bar and do File>Open> and browse to your .deb file and select it, you type in your password and Bob’s your uncle easiest install you’ll ever do on Ubuntu. I highly recommend it.

    I have to say, usually when you do one of these Linux conversions you are giving up a lot or put up with a lot of work arounds so you can have a “Linux” flavored machine, so far I haven’t had to give up any functionality and I’ve actually gained some things that I just can’t do with my Macbook. The first is portability. I have a 15″ macbook and compared to my Toshiba it feels like a gold brick. Granted it’s an amazing piece of technology and the newer macbooks are probably close to as light as my Toshiba but this little laptop only cost me $128 total sooo . . . yeah. The second is accessibility, this thing is up and running in less than 30 seconds and instantly if I’m already using it. So far it works as a daily driver, now it’s time to really test it out. It has an intel video card in it and we are going to see how it handles low end video editing. Frankly I don’t expect it to do that well but it’s surprised me before and if you can edit video on an Ipad Air then maybe it’s possible on this little machine. We shall see.

    1. Brad, you are the man! I’m sure your detailed findings will help others at least give Linux a go on their Chromebooks. At the moment the Toshiba is the go to Chromebook for Linux that’s for sure.
      With the gaming, I do think you’ll start seeing some problems with gameplay.
      I haven’t heard of Scrivener but I’ll check it out (I’m on the train to work at the moment).

  • Captain – Thank you for the tutorial. I have an Asus Chromebook (C300MA). Are there mods I can make which will allow it to DEFAULT boot off a USB drive (with GalliumOS installed), if one is present, else boot off the internal ChromeOS – without any extra screen coming up or having to press -D or -L? When my kids are using the chromebook, I don’t want it to be complicated for them – but I want to be running GalliumOS off USB flash when it’s in my hands.

    1. Hi Lewis,

      Unfortunately, if you want to boot both Chrome OS and Linux you can’t default boot into Linux.
      If when your kids are using it you get them used to not pressing anything when booting up, they don’t need to know about pressing Ctrl D. The Chromebook will simply beep twice after a couple of seconds and boot into Chrome OS.

      1. Hello Captain,

        How about this – I’d like the machine to continue doing what it normally does, which is boot into ChromeOS by default (with no strange prompts coming up on the screen). Then, if I want to use it, I’ll insert a bootable GalliumOS USB stick in it. At that point, it’s fine if I have to do some strange sequence to boot the USB drive. I just don’t want the kids to have to do anything, or to get some strange screen (such as “press enter to restore verification”). Is that currently possible?

        1. No. The Chromebook BIOS doesn’t function like a normal PC BIOS. The strange screen will remain in your dual boot requirement…

  • Hey, I was trying to dualboot Chrome OS with Elementary OS freya, but i installed it on an SD card, and now I can’t get seabios to boot from it. just wondering what i did wrong…

    1. Hi Zach,

      I’ve found that an SD card is fine for storage but not for installing on because read/write speeds are just not good enough. At a guess I would assume that either elementary OS hasn’t installed correctly on the card or the card is not being recongnised by the Chromebook (maybe it’s an unbranded card?).

  • The sound itself, when I check the volume setting it shows that it’s making sound but it’s not coming out of the speakers.

    1. Ok. Firstly, check the speakers (and not HDMI) are default in sound settings in your Linux distro. If that doesn’t work, I have modified my script to include your model of Chromebook. Please run these commands in a terminal window again and reboot:
      cd ~/Downloads; sudo apt-get -y install curl; curl -LOk; tar -zxvf test.tar.gz; cd CBFixesAndTweaks-test; sudo -E bash

      You may need to check the speakers are default again. Let me know which solution works and I will make the change to my script permanent so it helps others as well.

  • Hey Capitan

    I install link on my Acer CB3-531-C4A5 and install your script for the fixes. But I have just one problem, the volume isn’t working I believe everything else works except the volume. Can you help me.


  • Will this make my battery run out quicker when I’m only using chrome so? Because I really want to do this but still use chrome os for school. And will there be any preformence issues in just chrome os? Thanks for the tutorial, really great job!

    1. Hi Nicholas,

      Thanks, nice to hear you liked the guide.

      Battery life is less in Linux since it’s a fully featured OS compared to Chrome OS. I would say knock 1 or 2 hours off the ones quoted by the manufacturers under Linux.
      You can compare battery life for Chromebooks I recommend

      As far as Chrome OS it will work exactly the same as before in this dual boot setup.

  • Hey Cap! The link to John Lewis his site ain’t working for me or my friends. Any chance of giving us the commands?

    1. I think he’s doing an upgrade today so the site might be down. The commands actually download the modified BIOS so you’ll need to wait for site to come back up I’m afraid.

      1. Also one more question, I don’t need to open up the back from my Toshiba to get rid of the sticker right?

  • Hey Captain!

    First off, thanks so much for this writing guide and for your keyboard/sound fixes! I just bought a refurbished Swanky and decided to install Ubuntu on the SanDisk drive you recommended, and everything is running great so far. I have very little experience with Linux, and your guide made it incredibly easy.

    Anyway, I’ve been using a Chromebook for a few years, so I’ve gotten used to the keyboard limitations and shortcuts in ChromeOS. Now that the dust has settled and I’m using Ubuntu on a daily basis, I’m starting to notice some things that I want to adjust. I already figured out how to remove your Shift key shortcuts for Home/End/Pgup/Pgdn (I use Shift regularly to select and edit text, and don’t need the other buttons as often). The other big thing that I miss is being able to use Alt+Backspace as my Delete key. Would you happen to know how I could set this up? Would I use the Keyboard Shortcuts screen in Settings? (I played around there but didn’t spend much time in it because it looked like it was used for application shortcuts.)

    Thanks again!


    1. Hi Ric,

      Part of my intention for these guides is to introduce Linux to new people in a simple way. It’s been very encouraging how many people are at least giving Linux a go. So well done on installing Ubuntu on your Chromebook!

      I haven’t worked out how to assign CRTL and ALT combo shortcuts but if you’re happy with SHIFT + Backspace as your delete key, do the following in a terminal window:

      sudo gedit /usr/share/X11/xkb/symbols/pc

      On the line near the top of the file (about the 10th line) you’ll see the BKSP definition as Backspace, Backspace. Change that to Backsace, Delete. Save the file and run the following command:

      sudo rm -rf /var/lib/xkb/*

      After a reboot, SHIFT + Backspace will work as the delete key.

  • Thanks for the instructions.

    My concern with using a USB is the limit of write cycles. Have you run into any issue with data loss or slow writing with the recommended USB? About how many hours have you, in total, run Linux on your Toshiba using THIS method? Sorry if this is paranoia. Thanks again.

    1. Hi Matthew,

      Or should I say paranoid Matt 🙂
      At a guess I would say about 70 – 80 hours of using this flash drive on Linux.

      As an example, I remember quite a few years ago I was learning about vmware virtualisation and I built a home server with the OS installed on a USB 2.0 drive. That server ran 24/7 for about 1 year and I still use that USB drive to this day.

      Flash drives are capable of many more reads than writes but good quality drives should last. With USB 3.0, speeds aren’t that much of an issue but are dependant on the port, the quality of the drive and the drivers. Linux is pretty good with USB 3.0 drivers.

      Lastly, whether you’re using a USB drive, SSD or any other drive, back your stuff up regularly and should something go wrong, the pain will be bearable.

      1. Ok, thanks for the reply. I think that I’ll give it a try. I do have one more query, though:

        Is the linux system in the live install (as opposed to the bootable usb) able to view or access chromeos on the hard drive?

        Thanks again.

        1. Although the Chrome OS partitions (there’s quite a few of them) are visible in Linux, they are not accessible…

  • Hey this is a great tutorial, I’m running 16.04 on my Toshiba Chromebook 2 via USB 3 and an external SSD drive (it’s what I had on hand) and it works pretty damn well. I wouldn’t say it was Snappy but it doesn’t lag really. I installed Minecraft to play with my daughter and if you dial down the graphics it runs pretty well even in multiplayer. She plays on my Macbook so it doesn’t effect her and I don’t really care about the graphics all that much. Other than that it’s a little clunky using an external drive vs. a USB stick no issues here. I am thinking about picking up a stick now that I know it works, but 128 is a little slim for me so any recommendations on a 256GB or larger

    1. Hi Brad,

      Glad to hear you’re getting so much mileage from your Chromebook!

      There are larger size thumb drives out there but prices go a bit crazy over 128GB and insane for 512GB drives. If I were in the market for a 256GB thumb drive, I would be looking for a compact size, USB 3.0 and reasonable price. This would be my shortlist:

      Silicon Power 256GB Swivel (great read/write speeds)
      PNY Turbo 256GB (over 8000 reviews)
      256GB PNY Pro Elite (more expensive but has the best read/write speeds)

      1. Thanks sir, I did decide to just get the 128 Sure fit for now and I noticed a marked improvement immediately. I also found a 4GB Toshiba model for $100 and upgraded to that one, flashed the BIOS stuck my USB in and was up and running no problems, Bluetooth even works to stream to my speakers at the pool, the one thing I’ve noticed is that you have to go back into the sound settings and reselect the internal speakers or you won’t have sound after disconnecting.

        The only thing that doesn’t work correctly is my external DVD player it’s a Toshiba and I thought it would work out of the box, it runs in VLC but I haven’t figured out how to select buttons in it yet, the built in video player doesn’t work at all with a DVD, is there another program I can try or am I just too much of a noob to know how to work it?

        1. $100 for a Chromebook is a great deal!

          For the DVD, I think it’s probably the codecs or the way the DVD is encrypted that restricts playback. Try running this command in a terminal window:
          sudo apt-get install libdvd-pkg
          Also make sure you have all codecs by running:
          sudo apt-get install ubuntu-restricted-extras

          In VLC player go to ‘open DVD’ in the file menu.

          1. Well I’ve tried everything to get the DVD to work correctly but some DVD’s just won’t play, I’ve installed all the CSS libs as well. It’s not that big of a deal, I don’t really want to carry around the DVD player it was just an exercise to see if I could get it to work. I’m going to rip my DVD’s with Handbrake on my Macbook and then put them on my SD card and stick it in my Ubuntu so I can just watch from the SD card.

            I have been messing around with just how much I can get out of my 4GB Toshiba and frankly I’m surprised. For causal gamers who don’t need massive graphics this machine can do a lot. Here’s what I’ve managed to get running.

            Minecraft – Runs smoothly once you tone down the graphics a little, works well even in a hosted multiplayer, I play with my 8 year old daughter all the time and she likes to use my little Ubuntu instead of the Macbook just because of the lighter foot print. It does have a few hiccups but re markedly few considering the fact that not only are you running the game but hosting it on the local network.

            Steam – I have steam running, I didn’t think it was possible on this little machine but it runs fine and a couple of the games I have for the Macbook downloaded and installed no problems at all.

            Darkest Dungeon (steam) – I thought there was no chance this game would run on the Ubuntu Chromebook, it’s not particulary graphics intensive, I believe it’s all static handpainted but still not only does it run, it runs as well on my Ubuntu as my Macbook, no it runs but you have to be patient or it has work arounds it just flat out runs. The only hiccups it has is the video sequences occasionally hiccup but that’s not actually gameplay, the gameplay is smooth as butter.

            Xonotic – This is an FPS based on the Doom/Quake/Unreal engine I believe, did not think that this would run at all but it runs fast with no frame rate lags in full screen. I haven’t tried a local game or on the 2GB model (I have one just haven’t tried it) but in the online mode it works seamlessly. Very surprising.

            Battery life is nowhere as good as Chromebook but I expected that, casual browsing email etc you get about 4 hours vs. 5-6 on Chrome and when you are playing Minecraft about 3 hours, but that is still good considering you are running a full OS on a tiny little machine like this.

            Overall I’m shocked at what you can do with a machine that cost me $100 and another $28 for the USB stick.

            I’ve messed around with Linux quite a bit in the past and it was always so problematic to get anything to work correctly that it just wasn’t worth it. This release is super stable, fairly easy to get things working and if you’re patient and can follow instructions there are tons of pages on the webs to guide you on installing programs that don’t work out of the box. I am having a little trouble getting Photon to work for a program I want like Omni Writer but I have Focus installed and working so it’s me wanting to see how far I can get things.

          2. Well someone’s been busy!! Great detail in your comment Brad, I’m sure this will help/encourage others to give Linux a go. As for the Toshiba Chromebook, it really is a gem of a machine.

  • Just got everything working after some struggles, thought I would post some issues/solutions I ran into here. First, it seems that ChromeOS can’t recover off a SanDisk brand flashdrive, so use a different brand if you have to recover (I did to install a new SSD).

    I was getting the “gfx” error with both John’s and Matt’s BIOS updates, with multiple flashdrives, with multiple Ubuntu versions, with/without dd writes. I probably ended up making over a dozen Live Linux USB versions.

    What ended up working was making a Live USB from a non-dd Ubuntu 14.04 32 bit iso. This still gave me the gfx error, but after that error I pressed Tab to get more options, then did “live” to get onto a live desktop of Ubuntu. From there I fully installed Ubuntu 14, and after that I upgraded to 16.

    Hopefully this post helps someone down the line, it was very disheartening to get the gfx error so many times but it did end up working.

    1. Sometimes the straightforward stuff is harder than the hard stuff. Thanks for posting this workaround for the gfx error. Out of interest, what model of Chromebook are you using?

        1. Hhhm, I was expecting a different model, it’s probably the i3 integrated graphics. Just for others reading this, pressing help and then Enter will boot into live Ubuntu on older versions of Ubuntu.

          It’s a known bug but looks like the Ubuntu team have decided to give it a low priority.

          Using Ron’s workaround of installing an older version and upgrading seems to be the way to go.

    2. Hi there:
      I have the same gfx errors as some of the other folks here. i’ve tried Matt’s BIOS mods but am having the same issue. I have a 16 GB SanDisk UltraFit USB 3.0 Flash Drive (vs 128 GB). Is there a minimum requirement on the size of the Flash Drive for this to all work ? If so, is it likely that the size of my Flash Drive is the root of the gfx errors?

      1. Hi Anne,

        The gfx is related to the graphics and not the amount of disk space. You can get around this by using chrx to install Linux. See chrx where you’ll find detailed instructions. Pay close attention to the -t TARGETDISK option as you’ll want to point the installation to your USB drive.

        On the other hand the gfx error only affects debian based distro as far as I’m aware so you could try Fedora or OpenSuse.

  • I’ve had serious performance issues with the SanDisk USB 3.0 Fit – it can’t sustain larger file transfers without overheating and throttling down (the first version even corrupted data). The Samsung USB 3.0 MUF-128BB/AM also called “Fit” on the Amazon webpage (but only for search results I suspect). That one can handle 40gb of mass file transfers at high speeds.

    1. Hi Michael,

      Interesting, I haven’t had any problems with my ultrafit but I do agree it can get hot. Having a look at Amazon reviews there are 2,055 for the Sandisk Ultrafit I used in this post and only 656 for the Samsung one you are using. For both, reviewers have said that they get hot, so based on the numbers and my own experience I would still recommend the Sandisk Ultrafit.

      I really appreciate you taking the time to let me know your experience and I’m sure it will help others as well (in fact the Ultrafit was recommended to me by another person in another post comment!).

      For others reading this, here’s the links to the drives:

      Sandisk UltraFit from this post
      Samsung 128GB USB 3.0 Flash Drive Fit

  • Hey cap thanks for the tutorial very informative I must say. I was wondering if i should follow this tutorial if I want to install Ubuntu on my MMc and not USB drive. I dont want to dual boot, just use plain Ubuntu. I am using Toshiba Chromebook 2 Swanky.

  • Hi Captain,

    If I want to install Ubuntu on the same (upgraded) SSD as ChromeOS, do I have to do anything fancy to get it to boot to Ubunutu on Startup? Your guide just gets it to boot off of the usb drive to go straight to Ubuntu.

    1. Hi Ron,

      John describes how to do this in his post. It’s not something I’ve tried and there doesn’t seem to be that much interest in doing this since most people who have upagraded their SSD’s really only want to run Linux. If more people request this, I’ll make a video 🙂

      1. Is there a way to install just Ubuntu using this method without disabling Write Protect? Like would telling Ubuntu to wipe the Chrome OS during install work?

        1. Yes sure. Instead of using the ‘something else’ option for partitioning, use the default option and choose your SSD for the install. Once installed, Chrome OS will be wiped and using CTRL + L will allow you to boot Ubuntu.

      2. Captain, your blog has been invaluable and I was able to get my toshiba chromebook dual booting in no time! I love the extra functionality Linux brings. I would LOVE to be able to ditch the USB drive though and just be able to dual boot off my SSD after I upgrade it of course (looking at buying the 256GB one).

        Looking at John’s post, is difficult to ascertain which (if any) of the steps need to be modified for this setup. Can I bribe you with some virtual candy to do the video anyways? 🙂 I know you REALLY want to get your chromebook setup this way too (and free up that precious USB3 port) as well 🙂

        1. Hi Aries,
          Glad to help. Unfortunately, my hard drive is not replaceable on my Toshiba CB2 so I’m stuck with only 16GB. The guide to dual boot off the internal drive is one I thought about doing but there didn’t seem to be any demand for it. Since you asked so nicely, I’ll see what I can do although I’ve currently got a list of requests and ideas that I want to post about (I did ask!), so please be patient. Virtual candy huh? Bribery and corruption, I never thought I’d see the day…

  • Thank you very much for your guide! I was not able to find a workaround for the ‘gfx’ error I received when installing Ubuntu 16, so I went with Ubuntu 14 instead. I tried the fix from as well and it did not work for me. I purchased the USB Flash Drive you recommended and everything installed perfectly.

    My question is regarding the partitioning of the USB Flash Drive. You write in step 4: “Setup a 4GB (4000 MB) swap partition and set the rest of the space as the root partition.” I found this Q/A on askubuntu to be helpful for steps in doing this: He recommends a ‘swap’ partition, a ‘/’ (root) partition, and a ‘/home’ partition. Do I need the third partition (‘/home’), or should I put all the remaining space as my ‘/ (root fs)’ partition?

    1. Hi Daniel,

      Cool you got everything working.

      As far as the partitioning, when you set the root partition, Linux creates the home folder on the same partition for you. Unless you have a particular requirement for a separate home partition let Linux do it for you.

      That way you get to use the maximum amount of space available rather than setting an arbitrary amount.

      BTW, I’ll be making a video of installing Linux Mint with a separate home drive soon, so stay tuned!

      1. Is there a way to change my partitions if I have already set it up with 4gb swap, 20gb root and 100gb home? Or do I need to wipe everything and do a clean install?

        I’m looking forward to the video about Mint.

  • Thanks for this. It works great! I now have a dual-boot Toshiba Chromebook 2 – just what I wanted 🙂 I use an SD card for the Ubuntu install.

    One bugbear – on startup, when I CTRL-L to Sea BIOS and Esc to the menu, I get the following drives:

    1. MMC drive (I’m assuming this is the Chromebook’s SSD)
    2. SD card (my Ubuntu)

    How do I change the order, or remove the MMC? The MMC is not relevant at this point, and in any case Sea BIOS cannot boot to ChromeOS – so the option is pointless. Worse, if you leave Sea BIOS to boot unattended, it will attempt to boo to the MMC, and the system will hang.

    I know Sea BIOS is not your product, but you might have some thoughts?

    1. Hi Bruno,

      That’s great that you’re dual booting now!

      The mmc is the internal drive and unfortunately there’s no way I know of to change the boot order if you’re using a SD drive. USB drives on the other hand do boot first.

  • Hey Captain thanks for the advice earlier.

    I know you already did a lot, but have you had any thoughts on installing Mint on chromebooks with 4gb ram like the Swanky?


    1. I’m working on another video at the moment but will be making a Mint install video, it’s a great distribution and I know people really like it.

  • Hi Captain,
    Trouble in Dual Boot Land. I get down to “Select boot device” where I select my usb drive. I immediately get “graphics initialization failed, Error setting up gfx boot.” I tried rewriting the USB stick, redown loading ubumtu, using a second usb stick, and writing in dd image mode. All resulting in the above error.

    Help is appreciated !!

    1. Hi Holland,

      The gfx boot problem is listed as a unresolved bug and the problem has been around for ages! I normally recommend using John’s script to do the BIOS mod but Matt (MrChromebox) has been active in this area as well and you’ll see his many contributions on John’s Google+ community.

      Anyway the point of all this is that Matt has recently put up his new site which also includes BIOS mods for Chromebooks and I believe using his BIOS will eliminate the gfx boot problem.

      Go to and choose the Firmware Utility Script link. The script runs in the same way as John’s script and for dual booting make sure you choose the RW_LEGACY option. After that the other steps from my post will be the same.

      Like John, Matt accepts donations to show appreciation for their work so if you’re able to consider donating.

      Anyway, let me know how you get on…

      1. Captain,
        Thank you very much for the prompt answer. I think this is getting too much for my non Linux brain and am afraid I’ll mess things up where I can’t get back. I know that when I power on and don’t do the Control L after a minute or so it boots into Chrome. Can you tell me how to get back to plain old Chrome OS when I power up?

          1. Thanks. All I had to do was turn on verification. When we get back from vacation I’ll likely try again.

  • Hey Captain,

    I love my new OS, but I notice on my Swanky that the application tab window (usually what you get when you press alt+tab) seems to pop up for no reason when I am just using the mouse pad. Do you now of this glitch?


    1. Hi Masa,
      It’s probably a setting somewhere which allows you to 2 finger scroll through your apps but without knowing your setup, it’s difficult to say.

      1. Hey Captain,

        I played around further, and it seems like for some reason my Swanky’s settings are 3 finger tap is the same as alt+tab, and four fingers tap is the dashboard. Never really messed with the settings, and just installed only a few basic apps. Thoughts?


  • I think I successfully removed the write protect pad,and did not replace the screw. But how do I check whether I was successful or not, before proceeding further?

    Roger in Vienna

    1. Hi Roger,
      If you removed the sticker and screw, your BIOS will be writable. Try running John’s script and it should work.

  • Hi Captain,

    Thanks for the great tutorial! Just got my toshiba chromebook (broadwell) setup with Linux with the RW_LEGACY firmware. I have no use for Chrome OS and replaced the eMMC already. Is it possible to bypass the white screen without pressing Ctrl+L?

    1. Hi Fred,
      Good job! John doesn’t offer BOOT_STUB modifications for newish Chromebooks (which is what you need to remove the white screen) but Mr Chromebox does.

      You will need to disable write protect and so there is the possibility of bricking your device, so make sure, you’re careful…

  • Hi Captain,
    I am having troubles with the wifi, completed all the steps and everything was fine until a few days ago. First I noticed that the wifi doesn’t connect when the wakes up after sleeping (forcing me to restart all the time.) Now the wifi doesn’t work at all. I have the 2015 swanky. Let me know if you could shed any light on this issue.

    1. Hi Masa,
      Check the date and time are correct on your Chromebook.
      For Ubuntu 16.04 (and variants) in network settings, check the password is filled in.

      1. Hi Captain,

        Thanks for the help. Saving the password in the settings did the trick. Thanks for the Chromebook Ubuntu experience!

  • Hey Captain,

    My friend has a hp chrome book 14 with 2gb of Ram (it’s the one that is aqua blue I think). Elementary OS Freya was too buggy for her chromebook, whether it was the 32 or 64bit. Right now I’m thinking about installing Ubuntu Mate or Linux mint (Cinnamon or Mate?) . She’s new to Linux. Which one should I choose in your opinion? Are there other options you can recommend if necessary?

    Thank you!

    1. Hi E.J,
      With 2GB RAM it’s best to go with a lightweight distro. I’m actually working on a new video where I’ll be comparing 5 lightweight distros so keep an eye out! So far I’m really impressed with lubuntu for ease of use and performance. Cinnamon looks nice but might be a bit laggy on the HP.

  • No sound yet did the fix in step 5 🙁 I have the Swanky Toshiba CB35-B3340. Thanks for the help thus far.

    1. See my earlier comment to Simon, you probably just need to click on the speaker in the settings.

  • I have the newer chromebook 2 and it’s giving my can’t load gfx when i tried to boot please help.

    1. Hi Daniel,
      If you mean the ‘Graphics initialization failed Error setting up gfxboot’ this is a known problem. As I commented previously:
      Try another USB drive or recreate the live install by using dd.
      sudo dd if=/path_to_ubuntu_.iso of=/dev/sdX
      where you need to change the iso path and sdX to you USB dive (use lsblk to check which one it is).

    1. I’ve noticed whether in the live session or full install, the WiFi doesn’t accept the password. In this case, go to edit connections and reenter the WiFi password.
      Also check your date and time is correct.

      1. Fortunately, I didn’t experience any unusual issues with WiFi — no ethernet-USB adapter required.

        Got elementary OS 0.4 “Loki” beta dual-booting using the posted method, off my SanDisk UltraFit. Loki is buggy as one would expect, but I suspect Pantheon performs a little better than Unity on Swanky’s hardware.

        1. Good work, just to clarify for anyone reading, I only use the adapter for a faster internet connection.
          Hhmmm, I read Loki was in beta, I’ll probably do a review once it’s in final release.

  • Comments are closed.