Modding Samsung Galaxy Chromebook GO, remove ChromeOS and install Linux together with MG95TUX
Welcome back to the Klinkon Electronics workshop! Today we are going to talk to you about a topic that often gets little attention, namely ChromeBooks.
Introduction
ChromeBooks are laptops are known to be very inexpensive PCs, produced by various manufacturers such as Dell, Samsung, Lenovo and with various architectures either x86/64, (AMD and Intel processors), or ARM, (Qualcomm processors), whose common feature is that they all have the ChromeOS operating system pre-installed.
ChromeOS is Google's proprietary operating system, similar in use to Android, which may be convenient for some uses (mainly teacher-coordinated teaching), use of the G-Suite (Google Drive), and general navigation, but for most cases it is uncomfortable, with few installable programmes and depending on Google's goodwill to receive updates, which, especially in older models, are no longer provided, rendering the handset essentially unusable even for the most basic navigation.
Unlike other PCs, the BIOS is also locked, effectively preventing changes to the system, and inhibiting the possibility of installing other operating systems.
Unlocking and Linux installation procedure on Samsung Galaxy GO
The Samsung Galaxy Go is an inexpensive Chromebook that mounts an Intel Celeron N4500 processor (dual core that goes up to 2.80 Ghz and has 4 MB L3 Cache), 4GB of soldered DDR4 RAM, has a 64 GB EMMC, has AX802 Wifi 6 module, and as display we find a 14.0″ HD (with 1366 x 768 resolution) Anti-Reflection, and is sold at a price of about 400€.
The laptop obviously runs ChromeOS, which is very limiting and, above all, invasive to privacy, so we immediately had the idea of installing another OS
Initial considerations
Technically unlocking Chromebooks is a procedure considered impossible, as manufacturers tend to limit the possibility of modding on their devices, but by exploiting a few tricks it is possible to circumvent the lockout, including a total rewrite of the BIOS, as it is the latter that limits our field of manoeuvre.
Without having to venture into writing endless lines of code, fortunately the following comes to our rescue mrChromeBoxwhich has developed a programme capable of installing a custom-built BIOS on various Chromebook models, based on Coreboot, the latter famous for its security and performance and very often used as a mod on Lenovo's ThinkPads.
So far, so easy, except that before rewriting the Bios, we need to unlock the chip containing the firmware, which is the same chip in which we will install our BIOS
How to unlock the chip containing the firmware
Older ChromeBook models allow unlocking by unscrewing a simple screw (WP screw call - Write Protection), or by temporarily disconnecting the battery and supplying power via a cable, while in the more modern ones, equipped with CR50 chips, there is a pair of pins on the motherboard which must be joined to perform the unlock.
There is a third option, valid for all laptops, which involves the use of a special cable, called Suzy Qable, which must be carefully prepared and tinned, following the instructions. This method is only suitable for experienced people who can dexterously handle a tinsmith, given the thinness of the USB wires.
In our case, we have to jumper two pads in the vicinity of the Wifi module of the Galaxy GO motherboard, and then continue the unlocking operation by working from the ChromeOS development mode.
To enable developer mode, we must first get into recovery. To do so, simply press ESC + Refresh (at the top of the keyboard, arrow turning on itself) and Power. From here, a screen should appear from which we can enable developer mode. If not, just press Ctrl + D together, confirm and wait for the start-up. It will start in developer mode, we confirm that we want to boot from the internal disk, and we return to ChromeOS, this time in developer mode. We connect the laptop to the internet, if we haven't already done so, and we are ready to edit the BIOS.
UEFI BIOS installation
Now that we are back on ChromeOS, all that remains is to reopen the VT2 terminal, as user we give chronos or root, then we can give the command
- cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
After a few seconds, the installation script will start. Let's make sure that the words "FW WP DISABLED" are present, if it is still "enabled", we need to correctly unlock WP with the above mentioned procedures. All we have to do is press the button corresponding to "install/update UEFI", and follow the instructions. It will ask us for a memory stick where we can save a backup of the data to restore ChromeOS, we slip it in and have the file saved there. If everything goes as planned, after a few seconds the laptop will finish the procedure and return to the script, where we can finally choose the restart option.
The restart will take a long time, let's not interrupt it and let it work, it is very important.
Eventually, the laptop will boot up, and we can see the Coreboot logo, signifying that the change was successful.
Final steps, alternative OS installation and Uefi Bios update
Bonus step: Linux installation, and UEFI BIOS update
We can now proceed to install our favourite Linux distro (or almost, no Ubuntu-based support is currently provided). Personally, I would recommend Fedora XFCE because of its ease of use and lightness of resources, especially counting the laptop's low-specs, but you can choose any number of other distros of your preference, preparing the stick with the correct architecture as if it were any other PC.
We run the installer, delete all the partitions present, and dedicate the entire disk to the partitions we prefer for Linux (if you are lazy, or do not know Linux and its partitioning well, you can delete all the partitions and leave the task to the installer). Upon rebooting from the internal disk, we notice that the PC works correctly... or almost, as the audio does not work. Not a big problem, to make it work we just have to install in our distro the packages git and python3then give the following commands (the PC must be connected to the Internet):
- git clone https://github.com/WeirdTreeThing/chromebook-linux-audio.git
- cd chromebook-linux-audio
- ./setup-audio
After a few seconds, the PC will have fully functional audio.
On the site of MrChromeBox, UEFI BIOS updates will often be released, and to update it, all we have to do is open a terminal, give the command:
- cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
And from there, the script will update our BIOS to the latest standard, a reboot and you're done.
2 Responses
Good evening,
Samsung Galaxy Chromebook go 14 (XE340XDA-XDA1IT) no longer reboots!
After all your procedures I rebooted and it has been 5 hours since it was connected to the power supply and the status LED is flashing:
- red (1 second)
- blue (1 second)
- blue (1/2 second)
and this in an endless cycle.
I followed all the instructions on the site to the letter.
AND NOW!
DO I THROW IT ALL IN THE RUBBISH BIN?
Hi, we apologise if we are only replying now, unfortunately work commitments lead us to follow the blog 'very little'.
Our guide applies to all ChromeBook types supported by MRChromeBox, including the ChromeBook Sasuke, as listed at https://mrchromebox.tech/#devices
If you have checked the soldering of the WP pin (the one under the WiFi module) and followed all the steps and got the correct results on the screen, it should be 'impossible' for it to have bricked, although a small remote possibility is always there...
You can try doing a clear by holding down the esc + refresh + power keys and then releasing only the power key to see if you can enter recovery mode
In any case, you can contact us on telegram in our t.me/klinkonelectronicschat channel, which is certainly a faster communication system 🙂
Have a good evening