Student Chromebooks are “Managed” by the schools so they won’t allow “Linux (Beta)” to run on them. That’s a logical policy for Google to restrict it and as I discovered isn’t even something that a school can change if they wanted. But it means that you can’t do things like run Minecraft on a Chromebook that is Managed. That’s too bad since I really don’t want to get extra hardware for the sake of Minecraft.
But I discovered that you can install GalliumOS on a Chromebook to dual boot it and then you can run Minecraft in GalliumOS. This post will cover the set up of the Chromebook to dual boot ChromeOS and GalliumOS. A subsequent post will cover the specific Minecraft install and post-install steps. I did it on a Dell 11 3189 but it should work on most modern Chromebooks. The steps look long but it actually didn’t take too long to do and the process seems pretty solid.
Before describing the process, I’ll also mention that it is possible to set up a Linux environment within Google Chrome using Crouton. Theoretically, you wouldn’t need to worry about dual booting that way. But it’s a bit less user-friendly and most importantly, I didn’t want to have more running than I needed at a time for performance reasons. So I decided dual booting was going to be the better way to go.
An important note: the procedure below only works on a Chromebook that you “own”. It will not work on a Chromebook that is legitimately owned by a school or even one that is illegitimately stolen by a school through serial number appropriation. If you get to a point in the steps below when you see a note saying “The device owner has disabled developer mode for this device”, you need to stop and get that resolved first. See my post about how the only approach is to find the serial number owner of record – even if it isn’t really the legal owner of the device.
Also note the usual disclaimer: If your Chromebook ends up unusable or any other calamity ensues following anything in this post, it’s all on you.
There are three preliminary steps before you begin.
- First, make sure you will be able to do this on your Chromebook. To make sure both ChromeOS and GalliumOS each have about 16Gb of storage, a 32Gb storage device is a reasonable minimum. Lower capacity systems should work in theory but you probably won’t have a very positive experience with the result. (Comment below if you have done it with less and it has worked well for you.) As for RAM, more than 4Gb would be good but my Chromebooks had only 4 and they work fine. I wouldn’t go below that though for most applications.
- Probably the toughest part of this whole process is the firmware upgrade. And that’s not even that difficult, it’s just a bit under-described and a little geeky. You need the firmware upgrade in many cases to allow the Chromebook to boot into “Legacy” mode – i.e. do something other than boot into Chrome. You can actually go further by removing the write protection and replacing the firmware with a more modern UEFI one but then you wouldn’t be able to boot ChromeOS any more. (You could boot Windows but that’s not what I was looking to do.) Anyway, as a preliminary step, read through info on the firmware utility and check for your supported device in the GalliumOS Hardware Compatibility chart noting the processor and the status listed in the Firmware Update column. Then using the processor type, double check the Firmware availability for your processor. Assuming you see that the firmware is “Required” and that the firmware is available as “RW_LEGACY”, then you are all set to proceed with the below.
- Back up everything on the Chromebook. This installation process will wipe out everything stored locally. Fortunately, since Chromebooks require connected Google accounts, you’ll probably find that most of your stuff is already in the Google cloud. The only thing that was local to the device for me was the Downloads folder. I simply copied the whole folder to Google Drive and that took care of everything. I also took pictures of the desktop to ensure that the shortcuts and other account specific stuff did end up restoring later. (They did.)
Okay, with the preliminary steps completed, you can get going on the dual boot setup. For instructions in code blocks, you can just copy and paste them as they are shown here though I suggest copying and pasting one line at a time. Note that if you don’t press the Ctrl-D soon enough in some cases, you’ll hear two very loud beeps followed by the Chromebook automatically logging in. If that happens, you would skip pressing the Ctrl-D for that step. Thanks to itschromeos.com for the basics of the install.
- Turn off the Chromebook. Then hold down Esc and Refresh (function key with the circle arrows) and then press the power button – keep holding Esc and Refresh until you see the monitor turn on. If you got it right, you’ll see a white display with a yellow exclamation point. Some hardware may using a different key sequence so you may need to Google to find yours.
- press ctrl-D
- press Enter (The Chromebook will reboot)
- press ctrl-D (wait 5 to 10 minutes)
- press ctrl-D (you’ll see the “Welcome!” page)
- click on “Let’s go”on network page, you need to connect to Wifi
- on Terms of Service, turn off Optional; Accept and Continue
- Browse as Guest
- press ctrl-alt-T to open chrosh
- Type the following next to the prompt. After the second command you’ll see some info about the download. After the third command you’ll see a warning about “sudo”.
shell
cd; curl -LO mrchromebox.tech/firmware-util.sh
sudo install -Dt /usr/local/bin -m 755 firmware-util.sh
sudo firmware-util.sh - Now in the firmware-util, enter the following
1
N
Enter
Q - Back at the command line, type the following after which you’ll see some info about the download
curl https://chrx.org/ | sudo tar xzfC - /usr/local && chrx
- Now in the chrx install tool, choose the size of the partitions. As described above in the preliminary steps, I used 16 here but if you have more space, you may want to use a larger number. Then hit “Enter” to set the value. The Chromebook will reboot.
- ctrl-D and you’ll see “Your system is repairing itself. Please Wait” then the Chromebook will reboot
- ctrl-D and now we have to get back in to Guest to continue set up
- On the page that says Welcome!, click on Let’s go
- on network page, connect to Wifi
- on Terms of Service, turn off Optional; Accept and Continue
- Browse as Guest
- ctrl-alt-T to open chrosh and type the following. After the second command, you’ll see info about the download.
shell
curl https://chrx.org/ | sudo tar xzfC - /usr/local && chrx - In the chrx set up tool, hit Enter to install GalliumOS. When installation is finished, it will reboot.
- Ctrl-D at white screen to boot into ChromeOS
- enter account info this time, setup for use as usual
- Once ChromeOS is set up the way you want, reboot the Chromebook
- This time at the white screen, hit Ctrl-L to boot GalliumOS
- Login in using the username chrx and password chrx
- Start (the button on the bottom left) -> System -> Users And Groups
- add, enter username, enter password, close
- open terminal (the app on the task bar with the “>_”) and type (replacing “newuser” with the username of the new user)
sudo usermod -aG sudo newuser
- logout and then login as the new user
At this point you should have a fully functioning dual boot computer where you can run either ChromeOS or GalliumOS. At the white screen on startup, hit a Ctrl-D to go with ChromeOS and a Ctrl-L to go with GalliumOS. And note that ChromeOS can be a Managed install but it won’t know anything about the GalliumOS part of the computer. Which means you can choose to either run as part of a Managed environment when you want to do stuff for school by using ChromeOS or you can boot into a truly free environment when you want to do something unrelated to school by using GalliumOS.
If you want to continue with the Minecraft install, visit that post now.