Tuesday, October 19, 2021

Extending a Chromebook past the Auto Update Expiration with BrunchOS

 I first ventured into the world of Chromebooks in 2014 with a class set of Acer C720s. We were coming from a fleet of repurposed ex-staff HP laptop bricks with terrible battery life and wifi, so getting a 2.5 pound 8-hour battery cloud terminal was magical! I think they cost $280 CAD each so that allowed us to get outstanding value, even with the addition of the exploitative $30 management console fee.

In 2018 we retired the fleet. They had worked outstandingly well, save for a few keypad issues. We had expanded the Chromebook program to our entire grade 5 population so replaced them with Lenovos. There are many build quality issues with the Lenovos around the camera, keyboards and screens that have frustrated me but those stories are for another day!

Even though the C720s were running great we would have had to retire them the next year anyway due to Google's Auto Update Expiration (AUE) that only guarantees ChromeOS updates to a certain date. Running Chromebooks past this date is like running iPads past their iPadOS end-of-life; they'll work but they receive no security patches or bug updates. This is problematic in a school environment and generates lots of e-waste.

For Chromebooks the easiest solution is using Neverware's Cloudready images. The process is fairly straightforward: download the Cloudready image, burn it onto a USB device using the Chrome Recovery Utility, and restore it on the Chromebook. Unfortunately, the C720 is not on their official supported devices list but I'm sure it would work fine. The pricing structure can work for larger 1:1 districts, but at minimum yearly $2500 USD I don't see value in maintaining an older set of Chromebooks for extended periods.


Replacing an aging fleet over a 3-year cycle is more cost-effective

Another solution is turning Chromebooks into simple Linux boxes. Crostini is Google's official Linux release but it's only officially supported on certain devices, not including the C720. The easiest chroot solution is Crouton but I've never tried it since I'd prefer to run Linux outside of ChromeOS. GalliumOS xubuntu seems to be the most popular option for single-booting.

Since I wanted to renew our C720s for student use I instead looked for a way to install a newer, updatable version of ChromeOS. This attempt had started a few years ago with the release of Croissant (love the food names, perhaps in the spirit of Android dessert release names?). Recently I discovered Brunch, a framework that uses a generic recovery image to install ChromeOS.

To start, you need to update the C720's firmware. Before you can flash a new firmware, remove the write protect screw. Then enable Developer Mode and reboot. Open a crosh shell and run the script provided by MrChromebox:
cd; curl -LO mrchromebox.tech/firmware-util.sh
sudo install -Dt /usr/local/bin -m 755 firmware-util.sh
sudo firmware-util.sh

With the updated firmware you can boot from the USB where you've placed Brunch. Note that on the C720 you must use the Rammus recovery image only