So, you want to learn how to install Linux on your Chromebook via USB drive.
Given that the majority of entry-level Chromebooks only have a mere 16GB of SSD storage, there’s not much space to allocate for Linux and Chrome OS on the machine- let alone install additional programs, games, and applications on Linux!
Thus, the next best thing to do is to simply use an external USB drive instead. This way you can dual-boot both Linux and Chrome OS on the same device and have plenty of storage space to utilize given that you use a sufficiently-sized thumb drive.
Ready to roll? Let’s go! This is a good choice for those that want to see how Linux functions on their Chromebook without having to install it.
Last updated: 2/24/23. Updated for 2022. Linux USB is a good alternative to Linux Beta.
Required materials
Things you’ll need to get this thing up and running:
- A USB 3.0 thumb/flash drive (64GB or more)
- A USB 2.0 or 3.0 flash drive with live Linux pre-installed
- A Chromebook with USB 3.0 ports
- Patience of steel (you probably have this)
By the end of this guide, you’ll have Chrome OS on your Chromebook (obviously) and Ubuntu on a USB drive. It must be always plugged in if you want to access both operating systems (Linux is actually a kernel, but let’s be casual here).
You’ll still be able to disconnect and unmount the drive if you need to, but it’s strongly recommended to just leave it plugged in. So choose a drive you’re fine with dedicating to this little setup.
Linux will unlock a new realm of possibilities for your device that are far less restrictive than Chrome OS. You should use Linux Linux you can’t install it using the traditional methods (Crouton).
Also, consider using Linux (Beta), which is an Ubuntu kernel built directly into newer builds of Chrome OS. You can check out this tutorial on how to enable the feature.
If you have it, you should try it out first because it’s a lot quicker and easier than going through the steps. But if you plan to keep it portable, then stick with Live Linux preloaded on a flash drive.
USB 3.0 is recommended (or higher)
A USB 3.0 drive is recommended. Although you could use 2.0, it’s not worth it when USB 3.0 is only slightly more expensive and just as accessible. The faster read/write speeds of 3.0 over 2.0 will save you a lot of time waiting for programs to launch and applications to load. Just go for it. It’s worth it.
Do NOT use an external hard drive. This is way too slow. You’ll get super slow load times since the system is trying to read off the EHD.
Stick with a solid state drive. Think SD cards, flash drives, or SSD.
You’ll be leaving it plugged in – all the time!
Another note is that since you’re always leaving this drive plugged into your Chromebook’s USB port, it’s wise to choose a slim and compact drive. There are many different USB drives in all shapes and sizes. Think about practicality.
If you’re going to leave this thing plugged in all the time, it’s useful to choose something slim and out-of-the-way so you don’t accidentally break it off or damage it. And who’d want a thumb driving sticking 2’’ out the side of your workstation anyway? Unless you plan to leave your Chromebook stationary, go for a slimmer form factor.
Size matters
Lastly, we need to talk about size.
I’d suggest getting either a 64GB or 128GB thumb drive. There are plenty of popular ones you can snag for under $40 with slim builds. I’ll be using the SanDisk 128GB flash drive for this tutorial. Don’t have a Chromebook-compatible drive? Check out a list of the best flash drive for Chromebooks!
Both of these work.
But obviously a larger USB is preferable. You can install other things on it and boot off it.
Note: If you don’t have a spare USB drive or you want to install both operating systems on the same device- you can. Even with 16GB of space. You may want to read this tutorial on installing Linux the regular way.
Anyway, let’s dive into it! Use 32GB at the minimum. With USB booting, you’re just testing Linux. You won’t run it off the drive permanently. If you like what you see, install the full desktop version. Think of it like a test drive without actually installing it.
Overview (Game plan)
Here’s a brief overview of what we’ll be doing in this tutorial:
- Enabling Developer Mode
- Modifying the Chromebook’s BIOS (this won’t void your warranty and can easily be reverted to factory settings via Powerwash)
- Adjust to proper boot order
- Create a bootable USB
- Installing Ubuntu via USB with a Live Linux installation
That’s about it. Sounds easy enough, right?
It’s written in an easy to understand instruction format a with step-by-step layout so that anyone can follow along. And don’t worry if you break your Chromebook- you won’t. If you get stuck, just leave a comment and I’ll help you out or someone else may chime in to help you instead!
You can easily rest it at any time if you screw it up, or if you decide that you don’t want to use Linux anymore and you want it to go back to normal. All you need to do is a Powerwash and that’s it. I have a tutorial for that too. So don’t fret and just try it out already.
Sound good?
Let’s roll.
Turn on Developer Mode
Okay, so the first thing we need to do is enable Developer Mode.
If you don’t know what this is, it’s basically a special login that’ll allow you access to the command prompt and allow you to input commands. In other words, it “unlocks” your Chromebook- to put it very, very generally. You’ll need this in order to proceed so let’s start with enabling it.
Note that this step will delete and erase everything on your Chromebook’s internal disk because it’ll go through a forced Powerwash. There’s no way around this and you need to backup your data before proceeding. Remember what I said earlier? A Powerwash will revert your laptop back to factory settings. So it’s imperative that you back up your stuff that you care about. If you don’t know how, just keep reading!
What’ll be erased during a Powerwash?
Everything will be wiped, including the following:
- Chromebook settings
- Chromebook customizations (zoom level, wallpaper, etc.
- Everything in your Downloads folder
- Everything in any custom folders/directories you’ve created
- Play Store apps
How do I back up my stuff?
So if you have anything you want to save, do it now. There are two ways to backup your Chromebook:
- Back it up to a physical drive (external drive, thumb drive, SD card)
- Back it up to a cloud server (Google Drive, Dropbox)
If you have a spare drive, I suggest using that because it’s a lot faster than uploading everything to a cloud provider. Be sure that this drive isn’t the same one you’re planning to use for Linux or else you may encounter some issues!
If you don’t have an extra drive, use a cloud provider. You can use Google Drive since it’s already integrated to your Chromebook and makes it easy to use- and it’s free. You can read about how to back up your Chromebook– it covers both methods.
But for those concerned about privacy, stick with your local drives. Or use encryption software to encrypt your important files, then upload it to the cloud.
Okay, so now that you’ve backed up your stuff, let’s move on!
Enable Developer Mode
Here’s how to enable Developer Mode:
Step 1: Press “ESC + Refresh + Power Button” until your Chromebook restarts itself
Step 2: You’ll see a warning screen show up after it boots up. Read it over and then press “CTRL + D” to proceed.
Step 3: You’ll see some more information. Read it over. Press the Enter key.
Step 4: Another screen with some information. Read it over again. Press “CTRL + D” again to proceed.
Step 5: Wait patiently. Your Chromebook will enter Dev Mode.
Step 6: Your Chromebook will reboot again and then will ask to you connect your Google Account. Log in. You’re now in Developer Mode. Congrats!
Notes:
Some Chromebooks have an actual physical switch you need to toggle before you can enable Dev Mode. Be sure to look up your model online if you’re having trouble.
If you can’t get past Step 1, try it with your Chromebook powered off and press the Power Button twice instead of once.
After you’re in Dev Mode, the next time you turn it on or when you wake it up from sleep/hibernate, you need to be sure to press the right key combination at the warning screen or else it’ll revert out of Dev Mode automatically as a security measure. Read the prompt the next time you start it up again!
Okay, so now you should have it in Dev Mode. We can now go on to the next step!
I’ve written a tutorial on this in complete detail if you get stuck during this step. You can read through it here.
Change BIOS settings
So you should have your Chromebook in Developer Mode now. Let’s now go directly to the BIOS and make some adjustments in order to get it working.
What we’re doing specifically is changing the BIOS boot order. We want it to boot from a USB drive instead of the internal drive. If you’ve messed around with BIOS settings before, you may already be familiar with this- especially if you’ve done a Windows recovery.
Thankfully, it’s super easy!
Here’s how to do it:
Pre-setup: Turn on your Chromebook if you haven’t already and read over the warning screen. And then press “CTRL + D” to continue. If you haven’t set up your Google Account and all the settings yet, do it first.
Step 1: Launch the command prompt by pressing “CTRL + ALT + T” and you’ll see a black-and-white widow. It’s time to code! Don’t be afraid if you don’t know how- I’ve got you covered!
Step 2: We’re going to use a script by MrChromebox that allows us to modify the BIOS. To install it, simply type the following command exactly as shown in the command prompt:
“cd; curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh”
Remember to type it without quotes (“) and type it exactly as shown. Feel free to copy/paste it directly into the command prompt (highlight the command then press “CTRL + C” then “CTRL + V” in the command prompt application).
If you get an error, double-check your spelling. Also be sure that you’re in Developer Mode. An easy way to check is to type “shell” and hit Enter. If you get an error like this:
- ERROR: unknown command: “shell”
It means you’re not in Dev Mode. It may have reset or something. You’ll have to start over from Step 1.
I suggest for you to check out this FAQ page about the script if you get stuck.
Step 3: Wait patiently for it to install. After the script is done installing, you’re ready to go!
Step 4: After it’s done installing, you’ll see a list of options. Look for “Modify my Chromebook’s RW_LEGACY slot” and select it. You’ll have to use the keyboard commands in order to navigate the command prompt. This is done with numerical commands. Just punch in the number of the command you want to be executed.
Step 5: Follow the instructions and finish the process.
Step 6: After the installation is finished, your Chromebook will restart automatically. If not, restart it.
Step 7: When it boots up again, press “CTRL + D” at the warning screen once again.
Step 8: Wait for it to load up the login screen. When it’s done, press “CTRL + ALT + F2” at the login screen instead of using your Google Account credentials.
Step 9: You’ll be prompted for a password. Use the password “chronos” and hit Enter to login.
Step 10: After you’re logged in, launch the command prompt by pressing “CTRL + ALT + T.”
Step 11: Type “sudo crossystem dev_boot_usb=1 dev_boot_legacy=1” and hit Enter. Again, type it exactly as shown without the quotes.
Step 12: Your Chromebook is now configured to boot from your USB drive instead of the system’s internal SSD. Type “sudo poweroff” to shut down the Chromebook. Then turn it back on once again.
Step 13: Boot up your Chromebook once again.
Step 14: When it’s starting up, immediately press “CTRL + L” and you’ll be posted to the BIOS.
So now you should be sitting comfortably in your Chromebook’s BIOS. It may be a bit overwhelming with all the unfamiliar settings, but it’s okay. We only need to perform a few steps to get it ready for Linux via USB.
Let’s install Linux via USB
You need to get a copy of live Linux loaded onto a USB if you haven’t already. You can download it here. Just save it to your flash drive. This drive can be either USB 2.0 or 3.0. It doesn’t matter. Just be sure that there are NO other files on the drive or else this may not work!
Also, power down your Chromebook if you haven’t already. This will make the process easier.
And one more thing- be sure you have an Internet connection if possible. Chromebook don’t have Ethernet ports by default, so if you have a USB to Ethernet adapter, use it! If you only have WiFi, you may have to install wireless drivers to get access to the Internet by using another drive to install it.
It’s a catch-22: You’ll need Internet access in order to download the drivers, but you’ll need the drivers to access the Internet. Therefore, you need to download the drivers for on another computer, save it to a drive, and insert into your Chromebook after you install Linux! I suggest trying to without any active connection first and seeing if you can get WiFi. Your Driver may already be up-to-date!
Step 1: Insert your spare USB drive to your Chromebook. Be sure you’re using a USB 3.0 drive and that you’re inserting it into the USB 3.0 port. If you don’t know how to tell, USB 3.0 ports usually blue or labeled. Look it up if you can’t figure it out- it’s not hard!
Step 2: Insert your live Linux USB drive into another USB port. This one doesn’t matter whether you’re using 2.0 or 3.0. Just plug it in!
Step 3: Turn on your Chromebook. Wait for it to boot up.
Step 4: Press “CTRL + L” when it boots up to go to BIOS.
Step 5: When you get to the BIOS, press “ESC” when it prompts you. You’ll see a list of drives that it can detect. It should be listed as follows:
- The spare USB 3.0 flash drive
- The live Linux USB drive
- Your Chromebook’s internal SSD
Go ahead and select the live Linux USB drive and confirm it.
Step 6: You’ll then see other options show up. Look for “Try Ubuntu without installing” and select it. It’ll then load up the USB copy of Ubuntu. You’ll then boot into the Ubuntu desktop and you’ll see only a single program on your computer. It should be called “Install Ubuntu 16.04 LTS.”
Step 7: Double-click on it and start installing Linux. You’ll see a bunch of questions show up. I use the following settings:
- Language: English
- Download updates while installing Ubuntu
- Install the third-party software
Step 8: Follow the on-screen prompts until it asks you for the installation type. Choose “something else,” it should be the last option. Hit “Continue.”
Step 9: You’ll see a list of partitions in a scary-looking chart. Don’t fret. First, delete the existing partition. Look for “/dev/sda1.” Select it and hit the “-” button to delete it.
Step 10: Scroll down to the bottom of the list and click on “free space” and then create a new partition by double-clicking on it or clicking the “+” button.
Use the following settings when creating the partition for Linux on your Chromebook:
- Size: 4000MB
- Type for the new partition: Logical
Location for the new partition: Beginning of this space - Use as: Swap area
- Mount point: /
Then click “OK” and it’ll create it.
Step 11: Look for “Device for bootloader installation” at the bottom of the window. Click on the drop-down bar and then change the boot loader location to “/dev/sda” which should be your USB 3.0 drive. The name of the drive should show up in the list next to the location.
Step 12: Continue with the installation. You’ll have a little summary screen to review all your partition information before you confirm it. Read over and proceed.
Step 13: Follow the on-screen prompts. It should be a piece of cake from this point on. Note that at this point on, Linux has been copied to your USB 3.0 drive. You shouldn’t remove it from now on if you wish to continue using Ubuntu Linux via USB on your Chromebook.
Step 14: When it’s done installing, you’ll be forced to restart the Chromebook. Let it restart. When it boots up, remove the USB drive with live Linux (not the USB 3.0). Press “CTRL + L” once again when it’s starting up.
Congrats. You’ve successfully installed Linux on your Chromebook inside a USB drive while using a USB drive!
If you get stuck at any point, you may want to refer to this guide on installing Linux to get help.
Did you get Ubuntu Linux installed?
If you have any questions, feel free to leave a comment.
If you’ve found this tutorial to be hopeful, let me know as well! This is a pretty simple and straightforward way to get Linux on your Chromebook without having it take up any valuable space on your hard disk given that it’s already so limited for the majority of Chromebooks.
Tell a friend about this guide if you think they’ll find it cool!
Thanks for reading!
any way to not have to start ubuntu from the usb and if from the hdd of your chromebook?
Unknown or unsupported device (bobba); cannot update RW_LEGACY firmware.
Yup, cripple verified boot’s security features. That’s a great idea.
it is
Hey Andy,
I’m to the point of “try something else…” during installation and it asks if I want to unmount drives in order to be able to delete, add to them, etc.
I selected yes, then all the partitions show up, but /dev/sda isn’t there. Judging from the size of all the partitions it’s only showing my Chromebook SSD with 15gb.
There are only a bunch of different /dev/mmcblk0p1,p2,p3 etc.
Any ideas on this?
You installed Ubuntu. Would it be possible to install Linux Mint with Cinnamon in the same manner?
Thank you for such a detailed step by step procedure. I plan to try it soon and let you know how things work out. Why do you say to leave the USB plugged in all the time?
Hi John R,
The reason to leave the USB plugged-in is because every time you launch Linux and use it, it’ll be running from the USB drive. Basically, the OS (all your programs, files, applications, etc.) will stay on the drive. Once you remove it, you’re literally taking out any trace of Linux on the system. Just picture ripping out the hard drive on a desktop computer every time you start it up! It’s almost the same analogy.
There are ways to partially load the components onto system RAM which will allow Ubuntu to be used without the drive, but nothing will be persistent. You can boot up just fine, but you won’t be able to read/write any changes to the drive (since it’s missing). And you’ll have some data on the drive and some on the RAM.
I hope this clarifies just a tad! Please let me know how it works out for you and if you get stuck along the way. I’ll try to help you out!
Thanks.
Thanks for that explanation
So why not simply replace ChromeOS with Ubuntu or Linux Mint or some other real Linux?
My reason for reading this article was to find out how to do exactly that, as I know it is possible.
Thank you so much!
You’re very welcome Alex!
what
r yall talking about
My Chromebook doesn’t have an F2 key for Step 8
its the arrow key that goes right
when I got to the part where you choose to boot off a usb drive on the Chromebook and it said booting then it said could not allocate memory. Did I do something wrong?
Awesome tutorial John! Very informative! I just had one little question. Does this method affect the performance at all by running Linux solely from the usb drive? Would it make much difference if I wanted to install Linux on my chromebooks SSD and use a flash drive for extra storage?
Andy! my apologies.
Thinkpad 11e Gen 2
ChromeOS 76.0.3809.38 dev channel
The “sudo” command doesn’t work with both the regular and root passwords.
Where can i download a live linux for my usb? i tried linuxliveusb.com but it has no instructions for chromebooks??
heyyy so I’ve gotten to the point where I put in “chromos” as password and “sudo crossystem dev_boot_usb=1 dev_boot_legacy=1”
But it says parameter dev_boot_usb is read only
No idea what that means hoping you can help.
I notice the LiveLinuxUSB says it’s for Windows. That seems odd. Also, I see you have no discussion as to the CPU of the chromebook. Surely you need a LiveUSB that matches Arm or Intel architecture at least.
Awesome guide! I’ll try it soon an and let you know how it goes.
Hey JohnD,
Let me know how it works out for you =]! And thanks for the kind words.