De-Googling a Chromebook with Bodhi Linux
Jan 31, 2021 0:10:26 GMT
Hippytaff, ylee, and 4 more like this
Post by archaem on Jan 31, 2021 0:10:26 GMT
Hello and Greetings to the Bodhi Forum,
In this thread (beginning with this post) I am going to confirm that: it is possible to "de-Google" a Chromebook with Bodhi Linux!
Since this post is relatively long (relative to a "typical" forum post), I thought a table-of-contents might be valuable:
CONTENTS:
1. Disclaimer
2. Why de-Google a Chromebook?
3. Caution
4. Chromebook variations and the "de-Googling" Procedure
5. Familiarization of Chromebook variations and the de-Googling process is essential
6. Hardware configurations likely required
7. Required Firmware (BIOS) revision script
8. Installation of Bodhi on a Chromebook
9. Three (3) issues encountered after installation of Bodhi
10. Conclusion
1. DISCLAIMER
If you are familiar with "de-Googling" a Chromebook with Bodhi, then you may want to disgregard this lengthy post. Otherwise, hopefully you find what I've written here to be beneficial! And of course: I've written this post for those who are interested in the "Chromebook de-Googling" topic or for those who are just generally curious. If you (the reader) are -- again -- familiar with de-Googling a Chromebook with Bodhi, then it is worth understanding that this was my first attempt at de-Googling a Chromebook hence why I'm no "expert".
2. WHY DE-GOOGLE A CHROMEBOOK?
There are a few reasons why someone may want to replace the ChromeOS on their Chromebook and in particular for this thread: replace ChromeOS with Bodhi! One reason, is that "old" Chromebooks no longer receive updates from Google and an operating system replacement might not only increase the use of the machine, it may also enhance "security". A second reason is that using a variation of a Linux distribution (such as Bodhi) on a Chromebook provides an operating system option that is not totally reliant on Google's products and services. And a third option, is that over time a user of ChromeOS may long for typical operating system features such as a standard file manager, and replacing ChromeOS with -- let's say, Bodhi -- provides a lightweight operating system capable of browsing the Internet (similar with ChromeOS) while filling some ChromeOS gaps along the way, such as a standard file manager application.
3. CAUTION
Keep in mind here that since Chromebooks are designed to meet Google's specifications. Consequently, replacing ChromeOS will likely result in a loss of certain functions on the computer. The most notable function loss will be an inactive "search" key, and a mis-configuration of the top "function keys" which Google replaces with ChromeOS specific function keys. Therefore, while replacing ChromeOS on a Chromebook may provide more features in one aspect, there will likely be a "loss" of some features in another aspect. Fortunately, the Google-specific keys on the Chromebook can be replaced with new key-bindings. In other words, it is possible to reassign the Google-specific keys on a Chromebook with other functions. Nevertheless, since the Chromebook keyboard itself was designed to operate as a input device within a ChromeOS environment, replacing ChromeOS with a Linux distribution variation will require various keys to be reconfigured -- among other issues, which will be discussed below.
4. CHROMEBOOK VARIATIONS AND THE DE-GOOGLING PROCEDURE
Since there are many variations of Chromebooks in the consumer market, and recognizing there are numerous de-Googling guides available throughout the Internet, it seems that the process of de-Googling is specific to the particular computer. In other words: it is worth thoroughly reading the de-Googling guide in the context of the particular computer used in the guide.
In my case, I first read through the guide available here:
www.ifixit.com/Guide/How+to+convert+a+generic+Chromebook+to+Linux+OS/108259
Note that the guide above relies on the firmware (BIOS/UEFI) revision available -- and (it seems) created by a "MrChromebook" -- here:
mrchromebox.tech/
5. FAMILIARIZATION OF CHROMEBOOK VARIATIONS AND THE "DE-GOOGLING" PROCESS IS ESSENTIAL
Since the "de-Googling" guide(s) mentioned above rely entirely on the MrChromebox guide, it is well worth thoroughly reading through all of the content available within the "mrchromebox.tech" website. Personally, I took a day or so to read through the ifixit guide in order to familiarize myself with the de-Googling procedure I was about to conduct; the Chromebook variations; followed by a thorough reading of the MrChromebox website in order to acquire an understanding of the firmware and its relationship to the various Chromebook devices.
For instance, as one will notice here there are quite a number of Chroebook variations, thus, numerous installation procedures:
mrchromebox.tech/#devices
Each Chromebook is built upon a specific motherboard, and each motherboard has a designation. The motherboard designations are essential to grasp in order to acquire any sense of familiarization with the de-Googling process. The reason why it essential to understand the Chromebook motherboard designation, is because the particular BIOS/UEFI firmaware on the Chromebook will be dependent upon the specific motherboard which the Chromebook is build upon.
Think about it this way:
On a typical personal computer (PC) if one wants to install Linux, they first have to access their BIOS (I'll use this term in a general sense, understanding that it can also refer to UEFI) they typically press either the F1, F2, F11, F12, or Esc keys initially when the computer boots, in order to access the options to select their preferred boot option. From there, the boot order can be configured so that the computer can be instructed to boot from an external device, such as USB drive or a CD/DVD drive, prior to booting from the HDD. This is obviously a crucial phase when installing Linux as either the sole operating system on a computer, or a secondary operating system alongside, let's say, Windows.
However, according to what I've gathered from reading through numerous guides on the topic, and conducting the procedure personally, it seems that Google has strict protocols on their Chromebooks which prevent users from easily configuring the boot order within their BIOS. Again, the MrChromebox website is a valuable source of information on the Chromebook firmware variations:
mrchromebox.tech/#firmware
Therefore, prior to beginning the de-Googling procedure on a Chromebook, it is imperative to understand first the type of motherboard the Chromebook in question is built upon since the motherboard build will likely determine the firmware available on the Chromebook and will thus determine the later process of configuring the boot options.
Again, the MrChromebox website is a valuable source of information here since it provides a detailed list of Chromebooks and their motherboard builds:
mrchromebox.tech/#devices
In my personal case, since I was working with a type of ASUS C202, the motherboard build was a Terra model with a "Braswell" chip (processor model, if I recall correctly). Due to this Terra-Braswell designation it seemed impossible for me to configure the boot options because Google had specified a write protection on the motherboard itself! In fact, I had to open the Chromebook and remove a screw from the motherboard in order to remove the write protection. Keep in mind that following with this step may very well void the warranty on the Chromebook! Of course, if the Chromebook in question is more than a few years old than the warranty is likely no longer covered. In any case, proceed with caution. Hence why I've stressed the importance of becoming familiar with the entire procedure -- and the variations with the procedure dependent upon the Chromebook in question -- prior to attempting the project.
(As an aside:
It's worth noting that I may have been able to create a dual-boot environemnt if I went with the E-Z Setup Script (where the "E-Z" seems to be "easy"), however I did not use this option. Challenge? Accepted. Instead, I applied the "firmware utility script" and went from there to install Bodhi without any issues. And yes: I created the required backup for the original ChromeOS firmware which is provided as an option prior to the installation of the firmware utility script.)
6. HARDWARE MODIFICATION LIKELY REQUIRED
If you've read everything I've written above, then you're possibly wondering, "remove a screw from the motherboard!?" Yes. That is correct. See the image below:
wiki.mrchromebox.tech/File:C202sa_wp.jpg
As you can see in the image in the above link -- once again, available from the MrChromebox website -- the Chromebook I was working on was designed specifically according to Google whereby a write protection was forced upon the motherboard. As result of this write protection, the BIOS would routinely beep (in fact, it was a double beep) whenever I attempted to access the dual boot option. Therefore, the screw had to be removed not only to access the dual boot option, but to install Linux -- and thus, replace ChromeOS.
It is worth repeating here -- as evident from the MrChromebox website links provided in this post -- that there are numerous variations of Chromesbooks, therefore numerous motherboard configurations. As a result, there appears to be no single "one size fits all" procedure to follow when conducting the de-Googling project. Hence why -- again -- it is well worth the effort to read through various guides in order to acquire a general familiarization with the procedure required to de-Google a Chromebook. And, who knows, one may even be so fortunate as to find a guide that concerns their specific Chromebook model!
The reason why I've routinely mentioned "de-Googling" and "replacing ChromeOS" is because Chromebooks are often built with ~32GB or so solid state disks (SSDs), therefore installing two operating systems on a Chromebook will likely leave very little space on the disk for additional applications and large files, let alone memory swap operations (if whenever necessary). Hence why it is worth approaching this project as a replacement of ChromeOS entirely as opposed to a dual-boot.
Since the de-Googling project is specific to the particular Chromebook in question, I will not share details of each step I followed. What I will share here, however, is that after reading through the various guides (two of which are shared in this post), it took me about half a day to successfully complete the project. That half-a-day does not include the time required to familiarize with the procedure beforehand. Admittedly, much of the time was consumed by trial-and-error since I was using a general guide instead of a specific one, in addition to the fact that I'm not an expert -- hence (once again) the minor "trial-and-error" steps taken here and there.
7. REQUIRED FIRMWARE (BIOS REVISION) SCRIPT
Once I recognized that I was not able to access the dual boot option without taking apart the machine and removing the write-protection screw from the motherboard, I decided "to go all in" and proceeded to install the, "firmware utility script." The script I am referring to is the Chromebook "firmware utility script" available at Chomebox.tech -- and likely created by the "MrChromebox" -- here:
mrchromebox.tech/#fwscript
As you can see, the script is quite straightforward:
Take note that the "write protection: off" is not required here for the script installation. However, continue reading and the following:
and:
and then:
As instructed from the "MrChromebox" website, the "firmware utility script" can be installed from ChromeOS itself via the shell which can be accessed by pressing: CTRL+ALT+T followed by the "shell" command (without the quotation marks). Note: the script must not be entered as root; therefore enter the script as s typical user, as noted from the quote above.
An additional firmware script is the "Kodi EZ Script" which is quoted below and available here (again, from the "MrChromebox" website:
mrchromebox.tech/#kodi
If you are wondering, I went with the first script above whereas the ifixit guide recommended the second script -- the "Kodi E-Z Setup Script" -- which enables dual-boot with ChromeOS. It is likely that I chose the more tedious and challenging option (which is not surprising). In any case, Bodhi is working -- at lest for now.
8. INSTALLATION OF BODHI ON A CHROMEBOOK
After the installation of the BIOS script, the original firmware backup, and then a computer reboot, the process of installing Bodhi was rather straightforward: a BIOS-type interface appeared with the option to boot from a USB device. In my case, I used Bodhi 64bit Standard version.
In fact, the most tedious part of the entire project was creating the necessary circumstances which permitted me to boot from the USB drive. Once I was able to boot from the USB, the installation was issue-free. In fact, it was one flawless install: I chose the option from the revised firmware (BIOS) to install Bodhi with the automatic partition configuration, and within the usual ~5-10 minutes, Bodhi 64bit was installed on the ASUS C202 Chromebook.
As you may have noticed by now, the recommended Linux distribution to install on a Chromebook is GalliumOS (https://galliumos.org/). I suspect the reason why the Gallium is recommended is because it is available in specific configurations dependent upon the specific Chromebook motherboard. As noted below, there are nine (9) different Gallium builds and each one is specific for a certain Chromebook:
galliumos.org/download
9. THREE (3) ISSUES ENCOUNTERED AFTER BODHI INSTALLATION:
In any case -- hence why I am sharing this post in this Bodhi forum -- I decided to take a risk and install Bodhi. Of course, risks are not without challenges and after the installation I noticed a few immediate issues (not in any specific order):
Regarding issue #1:
I have yet to find a solution. Nevertheless, since the issue is one of sensitivity, I just have to press with some weight and the cursor will move without resistance. However, if a finger glides along the trackpad/scrollpad without some added weight, the cursor will bounce around the screen. The easiest and simplest method to workaround this issue is to use a USB mouse -- which I am using now.
UPDATE: As of writing this, the scrollpad/touchpad is no longer functioning. It appears that between yesterday and today this scrollpad/touchpad has stopped responding. Obviously, I do not know why. Nevertheless, I will investigate this issue and perhaps a solution will be discovered. Regarding packages added: I have ran the "sudo update" and "dist-upgrade" terminal commands in addition to the commands below for the audio, and that is all. Again, I will investigate this issue further.
Regarding issue #2:
Fortunately, fixes for various de-Googled Chromebooks are available throughout the Internet, and I was fortuante to find a fix for the audio issue here:
github.com/rgvxsthi/Braswell-EDGAR-Linux-Fixes
Specifically, the quote below details the fix that I had to apply in order to correctly output the sound to the speakers:
Regarding issue #3:
Again, within that GitHub link is a general fix for the Chromebook keyboard. I've tried the fix, however it does not seem to work well with Bodhi. In any case, here was the "fix" I applied:
Considering there are numerous reports about Chromebooks "bricking"following attempts to "de-Google", and recognize the only issues I've encountered thus far are relatively minor, I must say that I am quite content with Bodhi 64bit Standard operating on this Chromebook. And yes, I am currently typing this post from the Chromebook!
10. CONCLUSION
I was originally considering the 32bit version of Bodhi since I assumed the Chromebook I was using was 32bit since it's RAM was (if I recall correctly) 4GBs and 32bit computers work within 4GB and under machines. However, apparently the processor built into this Chromebook's "Terra-Braswell" motherboard is a 64bit processor. And, in any case, according to "MrChromebox" the 64bit versions of Linux work best with the script available on the MrChromebox website. However, "MrChromebox" aside, my original assumption was incorrect, because following further investigation I found out that the processor within this particular Chromebook is apparently 64bit processor. Regardless, it's the 64bit Standard version of Bodhi that is currently installed and operating on this ASUS C202 Chromebook!
Since this is around the second day after the "de-Googling of a Chromebook" project, and appreciating that I am no expert on this topic, I am not sure what else I can say here. If you are curious about the process, I suggest reading through the guides I've linked in this post since those two guides were all that I required -- in addition to hours of trial-and-error... Heh.
Anyways, I simply thought it worthwhile to share my experience de-Googling a Chromebook with Bodhi Linux here in the Bodhi forum, especially since Gallium Linux is the distribution apparently recommended for "de-Googled" Chromebooks. Yet -- so far -- I've used Bodhi on a de-Googled Chromebook and other than the three (3) minor issues mentioned above, I have yet to encounter any major problems.
A final note [on the machine's battery]:
After a few hours of use today, it seems just about half of the machine's battery has been drained with the Bodhi battery monitor indicating ~2 1/2 hours of battery life remaining -- not including standby time. In addition, I closed the lid of the Chromebook and it went into "standby" mode during the evening without an issue. In the morning, battery drain was minimal and the standby mode appeared to have been implemented effectively. Here, I think it's worth acknowledging that overall battery life has not been severely negatively affected by the replacement of ChromeOS with Bodhi on this particular Chromebook. Of course, time will be the true judge as to whether or not battery life is significantly different between ChromeOS and Bodhi.
Cheers, and hopefully someone finds this post to be beneficial!
In this thread (beginning with this post) I am going to confirm that: it is possible to "de-Google" a Chromebook with Bodhi Linux!
Since this post is relatively long (relative to a "typical" forum post), I thought a table-of-contents might be valuable:
CONTENTS:
1. Disclaimer
2. Why de-Google a Chromebook?
3. Caution
4. Chromebook variations and the "de-Googling" Procedure
5. Familiarization of Chromebook variations and the de-Googling process is essential
6. Hardware configurations likely required
7. Required Firmware (BIOS) revision script
8. Installation of Bodhi on a Chromebook
9. Three (3) issues encountered after installation of Bodhi
10. Conclusion
1. DISCLAIMER
If you are familiar with "de-Googling" a Chromebook with Bodhi, then you may want to disgregard this lengthy post. Otherwise, hopefully you find what I've written here to be beneficial! And of course: I've written this post for those who are interested in the "Chromebook de-Googling" topic or for those who are just generally curious. If you (the reader) are -- again -- familiar with de-Googling a Chromebook with Bodhi, then it is worth understanding that this was my first attempt at de-Googling a Chromebook hence why I'm no "expert".
2. WHY DE-GOOGLE A CHROMEBOOK?
There are a few reasons why someone may want to replace the ChromeOS on their Chromebook and in particular for this thread: replace ChromeOS with Bodhi! One reason, is that "old" Chromebooks no longer receive updates from Google and an operating system replacement might not only increase the use of the machine, it may also enhance "security". A second reason is that using a variation of a Linux distribution (such as Bodhi) on a Chromebook provides an operating system option that is not totally reliant on Google's products and services. And a third option, is that over time a user of ChromeOS may long for typical operating system features such as a standard file manager, and replacing ChromeOS with -- let's say, Bodhi -- provides a lightweight operating system capable of browsing the Internet (similar with ChromeOS) while filling some ChromeOS gaps along the way, such as a standard file manager application.
3. CAUTION
Keep in mind here that since Chromebooks are designed to meet Google's specifications. Consequently, replacing ChromeOS will likely result in a loss of certain functions on the computer. The most notable function loss will be an inactive "search" key, and a mis-configuration of the top "function keys" which Google replaces with ChromeOS specific function keys. Therefore, while replacing ChromeOS on a Chromebook may provide more features in one aspect, there will likely be a "loss" of some features in another aspect. Fortunately, the Google-specific keys on the Chromebook can be replaced with new key-bindings. In other words, it is possible to reassign the Google-specific keys on a Chromebook with other functions. Nevertheless, since the Chromebook keyboard itself was designed to operate as a input device within a ChromeOS environment, replacing ChromeOS with a Linux distribution variation will require various keys to be reconfigured -- among other issues, which will be discussed below.
4. CHROMEBOOK VARIATIONS AND THE DE-GOOGLING PROCEDURE
Since there are many variations of Chromebooks in the consumer market, and recognizing there are numerous de-Googling guides available throughout the Internet, it seems that the process of de-Googling is specific to the particular computer. In other words: it is worth thoroughly reading the de-Googling guide in the context of the particular computer used in the guide.
In my case, I first read through the guide available here:
www.ifixit.com/Guide/How+to+convert+a+generic+Chromebook+to+Linux+OS/108259
Note that the guide above relies on the firmware (BIOS/UEFI) revision available -- and (it seems) created by a "MrChromebook" -- here:
mrchromebox.tech/
5. FAMILIARIZATION OF CHROMEBOOK VARIATIONS AND THE "DE-GOOGLING" PROCESS IS ESSENTIAL
Since the "de-Googling" guide(s) mentioned above rely entirely on the MrChromebox guide, it is well worth thoroughly reading through all of the content available within the "mrchromebox.tech" website. Personally, I took a day or so to read through the ifixit guide in order to familiarize myself with the de-Googling procedure I was about to conduct; the Chromebook variations; followed by a thorough reading of the MrChromebox website in order to acquire an understanding of the firmware and its relationship to the various Chromebook devices.
For instance, as one will notice here there are quite a number of Chroebook variations, thus, numerous installation procedures:
mrchromebox.tech/#devices
Each Chromebook is built upon a specific motherboard, and each motherboard has a designation. The motherboard designations are essential to grasp in order to acquire any sense of familiarization with the de-Googling process. The reason why it essential to understand the Chromebook motherboard designation, is because the particular BIOS/UEFI firmaware on the Chromebook will be dependent upon the specific motherboard which the Chromebook is build upon.
Think about it this way:
On a typical personal computer (PC) if one wants to install Linux, they first have to access their BIOS (I'll use this term in a general sense, understanding that it can also refer to UEFI) they typically press either the F1, F2, F11, F12, or Esc keys initially when the computer boots, in order to access the options to select their preferred boot option. From there, the boot order can be configured so that the computer can be instructed to boot from an external device, such as USB drive or a CD/DVD drive, prior to booting from the HDD. This is obviously a crucial phase when installing Linux as either the sole operating system on a computer, or a secondary operating system alongside, let's say, Windows.
However, according to what I've gathered from reading through numerous guides on the topic, and conducting the procedure personally, it seems that Google has strict protocols on their Chromebooks which prevent users from easily configuring the boot order within their BIOS. Again, the MrChromebox website is a valuable source of information on the Chromebook firmware variations:
mrchromebox.tech/#firmware
Therefore, prior to beginning the de-Googling procedure on a Chromebook, it is imperative to understand first the type of motherboard the Chromebook in question is built upon since the motherboard build will likely determine the firmware available on the Chromebook and will thus determine the later process of configuring the boot options.
Again, the MrChromebox website is a valuable source of information here since it provides a detailed list of Chromebooks and their motherboard builds:
mrchromebox.tech/#devices
In my personal case, since I was working with a type of ASUS C202, the motherboard build was a Terra model with a "Braswell" chip (processor model, if I recall correctly). Due to this Terra-Braswell designation it seemed impossible for me to configure the boot options because Google had specified a write protection on the motherboard itself! In fact, I had to open the Chromebook and remove a screw from the motherboard in order to remove the write protection. Keep in mind that following with this step may very well void the warranty on the Chromebook! Of course, if the Chromebook in question is more than a few years old than the warranty is likely no longer covered. In any case, proceed with caution. Hence why I've stressed the importance of becoming familiar with the entire procedure -- and the variations with the procedure dependent upon the Chromebook in question -- prior to attempting the project.
(As an aside:
It's worth noting that I may have been able to create a dual-boot environemnt if I went with the E-Z Setup Script (where the "E-Z" seems to be "easy"), however I did not use this option. Challenge? Accepted. Instead, I applied the "firmware utility script" and went from there to install Bodhi without any issues. And yes: I created the required backup for the original ChromeOS firmware which is provided as an option prior to the installation of the firmware utility script.)
6. HARDWARE MODIFICATION LIKELY REQUIRED
If you've read everything I've written above, then you're possibly wondering, "remove a screw from the motherboard!?" Yes. That is correct. See the image below:
wiki.mrchromebox.tech/File:C202sa_wp.jpg
As you can see in the image in the above link -- once again, available from the MrChromebox website -- the Chromebook I was working on was designed specifically according to Google whereby a write protection was forced upon the motherboard. As result of this write protection, the BIOS would routinely beep (in fact, it was a double beep) whenever I attempted to access the dual boot option. Therefore, the screw had to be removed not only to access the dual boot option, but to install Linux -- and thus, replace ChromeOS.
It is worth repeating here -- as evident from the MrChromebox website links provided in this post -- that there are numerous variations of Chromesbooks, therefore numerous motherboard configurations. As a result, there appears to be no single "one size fits all" procedure to follow when conducting the de-Googling project. Hence why -- again -- it is well worth the effort to read through various guides in order to acquire a general familiarization with the procedure required to de-Google a Chromebook. And, who knows, one may even be so fortunate as to find a guide that concerns their specific Chromebook model!
The reason why I've routinely mentioned "de-Googling" and "replacing ChromeOS" is because Chromebooks are often built with ~32GB or so solid state disks (SSDs), therefore installing two operating systems on a Chromebook will likely leave very little space on the disk for additional applications and large files, let alone memory swap operations (if whenever necessary). Hence why it is worth approaching this project as a replacement of ChromeOS entirely as opposed to a dual-boot.
Since the de-Googling project is specific to the particular Chromebook in question, I will not share details of each step I followed. What I will share here, however, is that after reading through the various guides (two of which are shared in this post), it took me about half a day to successfully complete the project. That half-a-day does not include the time required to familiarize with the procedure beforehand. Admittedly, much of the time was consumed by trial-and-error since I was using a general guide instead of a specific one, in addition to the fact that I'm not an expert -- hence (once again) the minor "trial-and-error" steps taken here and there.
7. REQUIRED FIRMWARE (BIOS REVISION) SCRIPT
Once I recognized that I was not able to access the dual boot option without taking apart the machine and removing the write-protection screw from the motherboard, I decided "to go all in" and proceeded to install the, "firmware utility script." The script I am referring to is the Chromebook "firmware utility script" available at Chomebox.tech -- and likely created by the "MrChromebox" -- here:
mrchromebox.tech/#fwscript
As you can see, the script is quite straightforward:
Install/Update the RW_LEGACY Firmware
This option performs two simple tasks: it sets the crossystem boot flag necessary to enable Legacy Boot mode, and it installs an RW_LEGACY firmware update appropriate for the device. Users will have the option to set the default boot device (internal storage [default] or USB/SD); Haswell/Broadwell Chromebox users will also have the option to enable "headless" (no display attached) booting, which is really only useful if you're going to run the box without a display and connect remotely (eg, via ssh). Changing either of these options requires re-running this script function.
IMPORTANT:
Due to recent changes in ChromeOS' security settings, a new set of commands must be used to run the Firmware Utility Script under ChromeOS. Running it under Linux can use the same old one-line command.
Also, you must execute these commands **as a normal/non-root user**. Running them as root will break things.
To download and run this script under ChromeOS, from a terminal/shell type:
and press enter. (copy/paste these to avoid typos)
[...]
Requires firmware write-protect disabled: NO
source:
mrchromebox.tech/#fwscript
This option performs two simple tasks: it sets the crossystem boot flag necessary to enable Legacy Boot mode, and it installs an RW_LEGACY firmware update appropriate for the device. Users will have the option to set the default boot device (internal storage [default] or USB/SD); Haswell/Broadwell Chromebox users will also have the option to enable "headless" (no display attached) booting, which is really only useful if you're going to run the box without a display and connect remotely (eg, via ssh). Changing either of these options requires re-running this script function.
IMPORTANT:
Due to recent changes in ChromeOS' security settings, a new set of commands must be used to run the Firmware Utility Script under ChromeOS. Running it under Linux can use the same old one-line command.
Also, you must execute these commands **as a normal/non-root user**. Running them as root will break things.
To download and run this script under ChromeOS, from a terminal/shell type:
cd; curl -LO mrchromebox.tech/firmware-util.sh
sudo install -Dt /usr/local/bin -m 755 firmware-util.sh
sudo firmware-util.sh
and press enter. (copy/paste these to avoid typos)
[...]
Requires firmware write-protect disabled: NO
source:
mrchromebox.tech/#fwscript
As this is a full replacement firmware, the script will offer users the option to back up their stock firmware on USB (required if the script is not capable of providing a stock firmware image).
After installing the UEFI (Full ROM) Firmware, your device will boot directly in UEFI Mode; ChromeOS will not be able boot. Your ChromeOS device is now a "regular PC," and you can install the OS of your choice without any special instructions.
Requires firmware write-protect disabled: YES
An additional firmware script is the "Kodi EZ Script" which is quoted below and available here (again, from the "MrChromebox" website:
mrchromebox.tech/#kodi
At startup, the Kodi E-Z Setup Script will automatically restrict the available menu options based on the running OS. Some of these functions involve modifying the normally read-only parts of the device's firmware, in which case the firmware write protect will need to be disabled. This is documented for each function below, and the script will likewise check the write-protect state for each function that requires it to be disabled.
To download and run this script, from a terminal/shell type:
and press enter. (copy/paste to avoid typos - the 2nd curl parameter is a capital O, not a zero)
Source (again): mrchromebox.tech/#kodi
To download and run this script, from a terminal/shell type:
cd; curl -LO https://mrchromebox.tech/setup-kodi.sh && sudo bash setup-kodi.sh
and press enter. (copy/paste to avoid typos - the 2nd curl parameter is a capital O, not a zero)
Source (again): mrchromebox.tech/#kodi

8. INSTALLATION OF BODHI ON A CHROMEBOOK
After the installation of the BIOS script, the original firmware backup, and then a computer reboot, the process of installing Bodhi was rather straightforward: a BIOS-type interface appeared with the option to boot from a USB device. In my case, I used Bodhi 64bit Standard version.
In fact, the most tedious part of the entire project was creating the necessary circumstances which permitted me to boot from the USB drive. Once I was able to boot from the USB, the installation was issue-free. In fact, it was one flawless install: I chose the option from the revised firmware (BIOS) to install Bodhi with the automatic partition configuration, and within the usual ~5-10 minutes, Bodhi 64bit was installed on the ASUS C202 Chromebook.
As you may have noticed by now, the recommended Linux distribution to install on a Chromebook is GalliumOS (https://galliumos.org/). I suspect the reason why the Gallium is recommended is because it is available in specific configurations dependent upon the specific Chromebook motherboard. As noted below, there are nine (9) different Gallium builds and each one is specific for a certain Chromebook:
galliumos.org/download
9. THREE (3) ISSUES ENCOUNTERED AFTER BODHI INSTALLATION:
In any case -- hence why I am sharing this post in this Bodhi forum -- I decided to take a risk and install Bodhi. Of course, risks are not without challenges and after the installation I noticed a few immediate issues (not in any specific order):
- Trackpad/Scrollpad not as sensitive as within ChromeOS
- Audio recognized (PulseAudio detected audio being played) however the speaders did not output the sound
- The keyboard was limited to a ChromeOS environment
Regarding issue #1:
I have yet to find a solution. Nevertheless, since the issue is one of sensitivity, I just have to press with some weight and the cursor will move without resistance. However, if a finger glides along the trackpad/scrollpad without some added weight, the cursor will bounce around the screen. The easiest and simplest method to workaround this issue is to use a USB mouse -- which I am using now.
UPDATE: As of writing this, the scrollpad/touchpad is no longer functioning. It appears that between yesterday and today this scrollpad/touchpad has stopped responding. Obviously, I do not know why. Nevertheless, I will investigate this issue and perhaps a solution will be discovered. Regarding packages added: I have ran the "sudo update" and "dist-upgrade" terminal commands in addition to the commands below for the audio, and that is all. Again, I will investigate this issue further.
Regarding issue #2:
Fortunately, fixes for various de-Googled Chromebooks are available throughout the Internet, and I was fortuante to find a fix for the audio issue here:
github.com/rgvxsthi/Braswell-EDGAR-Linux-Fixes
Specifically, the quote below details the fix that I had to apply in order to correctly output the sound to the speakers:
1. Fixing Audio via Speakers
Open a terminal and enter the following commands line-by-line:
Test to check that your sound is working or not (via Sound Mixer/Firefox etc)
If working, use the following commands to make the changes permanent
source (again): github.com/rgvxsthi/Braswell-EDGAR-Linux-Fixes
Open a terminal and enter the following commands line-by-line:
wget https://raw.githubusercontent.com/rgvxsthi/Braswell-EDGAR-Linux-Fixes/master/asound.state
pgrep alsa
sudo cp asound.state /var/lib/alsa/asound.state
sudo alsa force-reload
Test to check that your sound is working or not (via Sound Mixer/Firefox etc)
If working, use the following commands to make the changes permanent
alsactl init
sudo alsactl store --file /var/lib/alsa/asound.state
sudo alsa force-reload
source (again): github.com/rgvxsthi/Braswell-EDGAR-Linux-Fixes
Regarding issue #3:
Again, within that GitHub link is a general fix for the Chromebook keyboard. I've tried the fix, however it does not seem to work well with Bodhi. In any case, here was the "fix" I applied:
Keyboard (multimedia keys - top row)
All thanks to optio50 for the fix. Your basic keyboard keys should already be working good other than the exception of the top multimedia keys. To use the keys the same way they work under ChromeOS on your Ubuntu-based distro, follow the below steps.
Installation
Navigate to /usr/share/X11 folder.
Rename the "xkb" folder to "xkb.old"
Download the xkb.zip file from here and unzip in the same folder i.e. /usr/share/X11.
Reboot your laptop.
In your distro's keyboard settings, you should have new settings for Chromebook (Google - Chromebooks).
All thanks to optio50 for the fix. Your basic keyboard keys should already be working good other than the exception of the top multimedia keys. To use the keys the same way they work under ChromeOS on your Ubuntu-based distro, follow the below steps.
Installation
Navigate to /usr/share/X11 folder.
Rename the "xkb" folder to "xkb.old"
Download the xkb.zip file from here and unzip in the same folder i.e. /usr/share/X11.
Reboot your laptop.
In your distro's keyboard settings, you should have new settings for Chromebook (Google - Chromebooks).
10. CONCLUSION
I was originally considering the 32bit version of Bodhi since I assumed the Chromebook I was using was 32bit since it's RAM was (if I recall correctly) 4GBs and 32bit computers work within 4GB and under machines. However, apparently the processor built into this Chromebook's "Terra-Braswell" motherboard is a 64bit processor. And, in any case, according to "MrChromebox" the 64bit versions of Linux work best with the script available on the MrChromebox website. However, "MrChromebox" aside, my original assumption was incorrect, because following further investigation I found out that the processor within this particular Chromebook is apparently 64bit processor. Regardless, it's the 64bit Standard version of Bodhi that is currently installed and operating on this ASUS C202 Chromebook!
Since this is around the second day after the "de-Googling of a Chromebook" project, and appreciating that I am no expert on this topic, I am not sure what else I can say here. If you are curious about the process, I suggest reading through the guides I've linked in this post since those two guides were all that I required -- in addition to hours of trial-and-error... Heh.

Anyways, I simply thought it worthwhile to share my experience de-Googling a Chromebook with Bodhi Linux here in the Bodhi forum, especially since Gallium Linux is the distribution apparently recommended for "de-Googled" Chromebooks. Yet -- so far -- I've used Bodhi on a de-Googled Chromebook and other than the three (3) minor issues mentioned above, I have yet to encounter any major problems.
A final note [on the machine's battery]:
After a few hours of use today, it seems just about half of the machine's battery has been drained with the Bodhi battery monitor indicating ~2 1/2 hours of battery life remaining -- not including standby time. In addition, I closed the lid of the Chromebook and it went into "standby" mode during the evening without an issue. In the morning, battery drain was minimal and the standby mode appeared to have been implemented effectively. Here, I think it's worth acknowledging that overall battery life has not been severely negatively affected by the replacement of ChromeOS with Bodhi on this particular Chromebook. Of course, time will be the true judge as to whether or not battery life is significantly different between ChromeOS and Bodhi.
Cheers, and hopefully someone finds this post to be beneficial!