Saturday, September 7, 2013

"It's Alive!" The Resurrection of a Chromebook

Thanks to Bill Richardson (ChromeOS developer) my C7 has regained consciousness!

It boots again, although it's personality seems subtly different somehow.  It's currently running the default Parrot firmware - which I believe is responsible for the difference.  I'm still trying to figure out how to reconstruct the factory firmware, but I'm fairly confident that I'll get there eventually.

The problem, as I understand it, is that part of the firmware (the Intel Management Engine) is actually "cloaked" by the time the CPU is initialized.  As a result, a backup copy of the firmware read by Flashrom is invalid.  To conceal this code, the EC (Embedded Controller) returns 0xFF for every byte in this region.  Since Flashrom is unaware of this trickery, it merely writes the fake data (0xFF) to the backup copy.  If this backup is then written back to the EEPROM, it writes 0xFF over the entire Intel ME and Viola!  You just turned your Chromebook into a brick!

I have confirmed all of this information to my satisfaction by examining multiple firmware images.  Given these facts, what I can't understand is why "the hack" doesn't produce a brick every time it's attempted!

I'll post further details on de-bricking as time permits.

Sunday, September 1, 2013

Death of a Chromebook

It's time for me to swallow my pride and admit that I killed my Chromebook. Oh, okay, so maybe it's not really dead, but it might as well be. I guess, technically speaking, it's in a persistant vegetative state - like a coma.

For those who don't yet know, there's a hack circulating the web that will supposedly allow you to shorten the 30 second delay at boot that comes with developer mode to 2-3 seconds with minimal risk of problems. You just have to flash the Read-only firmware. Well, verily, I say unto you, "Don't believe the pipe!" (RIP, Richard). It's a lie!

I wish to state for the record that I'm not exactly a noob at flashing EEPROMs. I've been flashing devices of some sort for probably 35 years and have never bricked anything that I couldn't recover ... until this Chromebook! I flashed the patched firmare and everything seemed to go perfectly. There was no indication of any sort of problem, so I rebooted and ... nada. It hasn't booted up since. It powers on and after 20 seconds or something, the fan kicks in, but thats all it ever does. Now, perhaps, you get the coma analogy.  The light comes on, but there's nobody home.

So 2 weeks, $60 in gizmos and probably 120 hours of research and hacking later, all I can say is: Kids, don't try this at home! Please!!

Sunday, August 18, 2013

Compatability Work-Around & Spreadsheet Update

Just a quick note to let folks know that a few more distros may prove to be compatable with Chromebooks. In particular, distros that refused to be installed on GPT media or failed to boot from such media, can be installed to media with an (old & archaic) MBR-style partition table.  Then, the rootfs partition can be cloned to (new & improved) GPT media.  I haven't had time to do much with this yet, but I did manage to get Fedora 19 booted & working with this method.




Click Here to Open in a New tab or window

Thursday, August 1, 2013

USB Bootable Media Toolbox

First, let me acknowledge that this is not ready for prime-time!  I have only tested it with 2GB, 4GB, 16GB & 32GB media, although theoretically, it should work for all bootable media 512MB and larger.  It still contains the CrOS kernel from June 2013, because I haven't had time to debug the issues with the updated kernel.  At this point, you will need access to another machine running Debian (or Ubuntu or their progeny) or a working ChrUbuntu install on your Chromebook.  You'll still need another machine to install a distro on the media anyway, so I gave up on trying to eliminate this requirement.

The archive contains a "ReadMe.txt" with detailed instructions.  In the end, you'll feel like you just did 16 cartwheels to move only a meter, but it works.  Be aware that everything I have tried to streamline or clarify the process has failed to produce bootable media, so substitutions or shortcuts of any kind are definitely not recommended.  Follow the instructions exactly, and you should end up with a piece of bootable media that you can install a Linux distro on.  Without further ado, here's the download:

Toolbox
MD5

Once you have bootable media, but before you install a distro on it (Step 10), you can create a backup of the disk with gdiskdump (included) and then restore it to this condition easily in the future.  Once a distro is running from USB, moving it to the HDD or SSD (say to to replace ChrUbuntu) is a relatively simple task.

Tuesday, July 23, 2013

Ooo...Boo...Who?

My final excuse for sticking with Ubuntu despite Canonical's descent into GUI madness is finally gone!  It turns out that "tap-to-click" can be enabled in Debian.  Find out how by looking here (Thanks Bob!).  Now, I will admit that I'll probably keep the ex-OS around to remind me exactly why I hate Unity with a passion.  But, having more options for the C7 is definitely a good thing!

Friday, July 5, 2013

Heads Up!

FYI, the latest CrOS kernel pushed out by Google (my C7 updated yesterday) breaks WiFi when combined with a pre-existing Ubuntu 12.04.2 install.  I don't have time to investigate the issue ATM, but be prepared to revert if you decide to give it a shot.

Wednesday, July 3, 2013

Spreadsheet Updated

I've updated the spreadsheet with my last few test results.  Still a few gaps to fill in, but my time is limited these days.



Click Here to Open in a New tab or window