I posted complete instructions to unbrick an Acer C720 using John Lewis' coreboot and then install Debian. As a new contributor to StackExchange I can only post two links, so look here on Google groups: https://groups.google.com/forum/#!topic/linuxusersgroup/-D9w9_m64zc for the complete post including links and pictures.. I used find/replace to remove all instances of "http" but the rest of the links are intact.
Unbrick an Acer C720 and install Debian Wheezy
I bricked my Acer C720-2420 playing with bios updates. Opps. Here’s how I unbricked it. I used John Lewis’ excellent website (thanks John, you are the man!) as a general outline. These instructions outline the concept: ://johnlewis.ie/unbricking-a-samsung-series-5-550-chromebook/
FYI only, info on the bios chip
Buy this equipment:
Bus Pirate v3.3: ://dangerousprototypes.com/docs/Bus_Pirate from this site:
CPT-063 Test Clip SOIC8 Pomona 5250
Female to Female Solderless Flexible Breadboard Jumper Cable Wire
DISCONNECT THE CHROMEBOOK BATTERY and the AC POWER SUPPLY!
Connect the female ends of the jumper cables to the Bus Pirate (BP) and the SOIC8 clip such that the SOIC8 connects to the bios chip ports (ports?) as shown in the text below. I used the Bus Pirate (BP) pin-out on this website:
I reviewed the manual for both the W25Q64FV and the W25Q32B to confirm that both chips have the same pin-out.
On BP .......... On SOIC Clip => W25Q32B chip
CS <=======> CS (1)
GND <=======> GND (4)
CLK <=======> CLK (6)
3V3 <=======> VCC (8)
MOSI <=======> DI (IO0)
MISO <=======> DO (IO1)
Keep in mind that 2 of the wires connected to the bios chip won’t be used and 4 of the pins on the BP won’t be used. Triple-check the pinouts or you may permanently fry the chip. When you are done it should look like this:
To run the Bus Pirate (BP) I used a MacBook Air with Debian 3.6 installed on Parallels. I used Debian only in command line mode (no GUI) and followed the instructions below to set up the BP on the Mac: ://hardcoreforensics.com/research-hardware/tool-setup/buspirate-v3/
I did not use ZTerm but I did use the instructions to install FTDI drivers for my Mac, after which I connected to the BP using ‘screen’ as discussed below.
Update BP firmware using instructions posted here (I did not upgrade until after I fixed my Chromebook but I hear it goes much faster if you do upgrade):
If you haven’t yet, connect the USB cable from the Mac to the BP.
If Parallels asks, choose to connect the new device to your Linux virtual machine (VM).
In Linux either open a Terminal (black screen with DOS-looking console interface) or otherwise get to a bash prompt. Assuming you logged in as ‘root’ simply type the commands below. If you aren’t root then preface each set of commands with sudo.
If Linux says you aren’t in the sudoers list then follow this guide to fix the problem (FYI, I always use the program nano to edit /etc/sudoers/ and have never had a problem.
apt-get install screen
apt-get install flashrom upx
cd /home/<your username>
Any folder name will do; I used core just for the heck of it.
This is the file for an Acer C720 Chromebook. If you are flashing any other system, this is not the right file. You can search on John’s excellent site (s://johnlewis.ie/custom-chromebook-firmware/rom-archive/) for other bioses built for other Chromebooks. There are a ton of bios downloads available on the web.
Find which port your BP is using to connect to your computer:
ls -la | less
look for something with a USB in it, such as ....USB1, etc
connect to BP:
screen /dev/ttyUSB1 115200 8N1
If screen failed to connect and aborted you may have the wrong number next to ‘USB’. Double check the files in the /sys/class/tty folder….or just try ...ttyUSB0 and see if it works.
hit the i key and you should see:
Bus Pirate v3b
Firmware v5.10 (r559) Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
If so your BP is working. If not...google for help.
Quit BP with:
I did not update the BusPirate firmware but folks indicated that it works much faster if you do.
Check that flashrom is install and can communicate with the bios chip:
sudo flashrom -p buspirate_spi:dev=/dev/ttyUSB0
** You must run the flashrom commands as root or with the sudo construct.
If flashrom is not installed:
sudo apt-get install flashrom
I ended up with flashrom v0.9.5.2-r1546
Make sure you are in the directory that contains the .rom file you downloaded from John’s site, then:
/sys/class/tty# flashrom -V -p buspirate_spi:dev=/dev/ttyUSB1 -w coreboot-peppy-seabios-180714.rom
The command assumes that you are using USB1 to connect to the BP and that ‘coreboot-peppy...’ is the right firmware file.
Wait between 30 minutes and 10 hours and it should work. I started it and went to sleep. It was done when I woke up the next morning. Remove the SOIC clip and then hit the power button on the laptop. It should boot and stop at “Select boot device:” screen (see below). Now you can install Linux using a USB pen drive installation.
FYI: I found instructions on the web that directed the command “flashrom -VVV -p buspirate_spi:dev=/dev/ttyUSB0 -w bios.bin” but that did not work for me.
Install Debian Linux
Download the newest version of Debian (s://www.debian.org/releases/wheezy/debian-installer/)
and create a bootable USB stick using these instructions: ://okomestudio.net/biboroku/?p=1986
* These instructions assume you are using a working Linux installation (I used Debian on Parallels) but they might work on OSX, I don't know.
I used debian-7.7.0-amd64-netinst but the newest version (as of 1/29/2015 is 7.8.0) would be this file:
These commands worked for me. They help you locate the USB stick (/dev/sdb1) and mount it (to the /media directory. dd copies the installation iso file to the USB stick. The last command unmounts the USB stick.
sudo fdisk -l
sudo mkdir /media/USB
sudo mount -t vfat /dev/sdb1 /media/USB -o uid=1000,gid=1000,utf8,dmask=027,fmask=137
sudo dd if=debian-7.7.0-amd64-netinst.iso of=/dev/sdb bs=4M; sync
Now insert the USB drive into the Chromebook, startup, press the ESC key to select the boot menu, select the USB drive, run the installer, and hopefully you now have Debian.
FYI, for the install I choose to use the “Guided - use entire” option to install Debian on the entire disk. In hindsight I should have created a 10 gig partition for the OS so it would be easier to backup.
The screen, trackpad, and kernel will need work.
Fix the screen resolution: Once booted change your screen resolutions:
sudo nano /etc/default/grub
then add these entries:
Save and close. Then type
Fix the trackpad
sudo nano /etc/apt/sources.list
then add these lines:
deb ://.debian.net/debian wheezy-backports main
deb-src ://.debian.net/debian wheezy-backports main
Save and close. Then type
sudo apt-get update to download a list of possible upgrades
sudo apt-get install linux-image-3.16.0-0.bpo.4-amd64 -t wheezy-backports
Enter the following commands:
sudo chmod 0755 c720crunchbangtp_v2
Reboot. Touchpad should be working.
Update the kernel
On your Chromebook go here: s://blog.mdosch.de/ and either 1) click the “kernel” tag (usually in red) to download the kernel (.deb file) or copy the link and use wget to download it in terminal. Either way, get the file.
Example file: ://files.mdosch.de/2015-01/linux-image-3.18.4-c720_20150127_amd64.deb
Ex: wget “://files.mdosch.de/2015-01/linux-image-3.18.4-c720_20150127_amd64.deb”
Using the terminal go to the folder containing the file you just downloaded and type this (remember to use the name of the file you just downloaded):
sudo dpkg -i linux-image-3.18.4-c720_20150127_amd64.deb
Restart your Chromebook. When it boots up you should be presented with a list of installed kernels. Choose the newest one. I won’t claim that what worked for me will definitely work for you, but I hope it does. Thanks again to the tech geniuses who posted the various fixes that I borrowed.