38 thoughts on “Working custom coreboot ROM on Acer C720!”

  1. hey there man im in dire need of making the c720 run windows and have both the trackpad and the keyboard working wondering if you could be of help, i already managed to get the network card working but i need to be able to use that and maybe know the battery you probably know much more than i do about it and just wanted to see if you could enlighten me a tad

    1. Unless you are going to write the missing Windows specific ACPI info to go into the firmware, and also write a driver for the Google i2c device, it’s not going to happen. I’ve certainly no interest in doing that, even if I did have the expertise.

  2. ok ok i get what you mean but know what needs to be done helps me research it further thanks to you mentioning the google i2c device i found some guys that are trying to get it working but yes the missing ACPI info on the firmware is the real issue and the thing that pisses me off is the fact that it could be easily released by acer but they simply wont do it…

  3. Hi John, thanks for taking the time to make the coreboot bios. I installed it on my wifes new c720. I got confused because all these links were pointing to your site for instructions on how to update it. So, I ended up following the instructions on the link above instead of the instructions found on this page: http://johnlewis.ie/how-to-make-seabios-the-default-on-your-acer-c720/. So, I was following two guides. Stupidly, I missed the part that says “standby doesn’t work” with your rom. I backed up my bios to a USB drive that ended up getting smashed and completely destroyed, in a freak accident ( my 3 year old grabbed it and the next thing I know I roll over it with my 100lb steelcase chair and 200lb self ), before I had a chance to copy it to my computer. Anyway, I was just wondering if there is anyway you could help me. A copy of the original rom? a way to get standby working? etc.. Thanks. And I will definitely buy you a beer.

    1. Use the shell-ball ROM. You can extract it from a recovery image. If you use the Linux script and exit out, just before writing to drive, the image is saved in /tmp/tmp.crosrec.

      You then use kpartx to setup loop links to the partitions in /dev/mapper i.e. kpartx -a /pathtorecoveryimage.bin. The resulting /dev/mapper/loop0p3 is the root partition, which you can then mount read-only – mount -o ro /pathtorecoveryimage.bin /mnt and you can then copy the contents of the mount point somewhere writable – cp -aR /mnt /home/yourusername/somedirectory Mount proc and dev inside the directory structure – mount -t proc none /home/yourusername/somedirectory/proc mount -o bind /dev /home/yourusername/somedirectory/dev and chroot into it – chroot /home/yourusername/somedirectory Then run the update_firmware.sh –sb-extract (name could be slightly wrong) you’ll find the shell-ball ROM extracted to the current directory in a file called bios.bin.

      On the power-saving front the problems are in userspace – I tried using a ChromeOS kernel to no avail. I think someone needs to try packaging ChromeOS’s powerd for other distros.

  4. Hi John,

    Having tried to install both Chrubuntu and Bodhi on on an Acer C710-B 8472G32 and failed (refuses to boot anything but chromeOS after install) I’m still looking for a solution. Would flashing this bios onto an Acer C710-B 8472G32 do the trick? What I am after is just a stand alone lightweight fully functioning linux install. any distro.

    1. Hi Malcolm,

      Yes, that is pretty much the point of the ROM’s – they enable your Chromebook to behave like a “traditional” laptop, except running Windows isn’t going to work well. Which suits me fine. :)

      Also be careful you flash the right ROM, as there are different versions of the C710 which have different graphics card ID’s. If you flash the wrong one, it won’t be a complete brick but you won’t have display. HTH.

  5. John,

    First, thanks for your detailed instructions on the site. I’m finding your notes and especially the comments to be helpful as I try to understand this process. Your description indicates that the current c720 ROM has a suspend function but it reboots the machine upon “waking”. This is definitely a feature I would like to have.

    I found a guide that has a very nice overview of the different installation methods that made me curious (see http://senk9.wordpress.com/2014/01/13/how-to-ubuntu-install-on-acer-c7-chromebook-and-review/ ). Under method #3, the blogger mentions that it’s not possible to boot from a USB drive unless it contains a “signed image”. I think my question is probably a very basic one but I have to ask, is there a way to obtain this? I’m guessing that this is probably the point of running custom ROMs in the first place, but I’m trying to make a decision about whether it’s wise to purchase a C720 or an earlier model that already has ROMs with the support I require.

    Thanks again!


    1. Will,

      If you use one of these ROM’s you don’t need a signed image with the older generation of Chromebooks (C710, etc). The newer Chromebooks all come with a SeaBIOS slot already, so don’t strictly need ROM updates to use unsigned images. As the Haswell based Chromebooks are also significantly faster, I would have to recommend them over the older generation.

      Having SeaBIOS on a Chromebook basically allows it to act like a standard laptop so you can install whichever Linux distro you like (except you won’t be able to run Windows). HTH.

      You’re welcome,


  6. Thanks, John. Since SeaBIOS comes standard on the newer laptops including the Acer C720 it sounds like I will be able to install a distro from a USB image without any impediments…at least without any impediments from the BIOS itself. Although I enjoy tinkering, I find the prospect of flashing a custom ROM intimidating so this is good news.

    But it makes me curious about the development of coreboot for newer Chromebooks. On your pre-built firmware page you state the following:

    “…coreboot frees your Chromebook. It allows your Chromebook to act  in a similar way to a standard laptop, so you can natively install any Linux distro with a new enough kernel…”

    I understand that the older Chromebooks need coreboot to allow us to install Linux distros. But is there an advantage to using coreboot or a custom ROM if you have a newer Chromebook?

    1. Yeah, I wrote that before the 3rd generation came out. Should change it really.

      Advantages are speed, getting rid of the developer screen, and possibly fixing some issues (but also making more). For most I don’t recommend it, since the default BIOS will do the important things (especially if you change the GBB flags to load SeaBIOS by default, and get rid of the 30 second wait).

  7. Hi,JOHN LEWIS,I am chromebook(acer c720 2g ver)user from Chinese,I have flashed your coreboot bin with ubuntu,my flashrom tool is different from chrome os’s flashrom tool,SO i bricked my chromebook,i already have a bus pirate and other tools,but i still need an original bios rom,Can you give me some helps? Please send me a copy to my mail robva#live.com, by the way your unbrick sumsung chromebook tutorial is not works on c720 (c720 has a winbond 25Q64FV chip),after many attempts,now i can recognize the right chip model with flashrom v0.9.7,Does it mean i can write it as well ??
    I have already tried directly write your mod coreboot.bin with bus pirate,but failed, Please do me a favor, MUCH APPRECIATE.

    1. Hi Rob,

      You can extract a “shell-ball” ROM using a recovery image.

      If it “doesn’t work” it’s probably down to the version of Flashrom you’re using. AFAIK all the Macronix and Winbond SPI flash chips have the same pin assignment. If it now recognises the chip, it should be able to write, yes.


  8. Hello,i am Rob, I have tried again, this is error msg
    # sudo flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w bios.bin
    flashrom v0.9.7-r1782 on Linux 3.2.0-54-generic-pae (i686)
    flashrom is free software, get the source code at http://www.flashrom.org

    Calibrating delay loop… OK.
    Found Winbond flash chip “W25Q64.V” (8192 kB, SPI) on buspirate_spi.
    Reading old flash chip contents… done.
    Erasing and writing flash chip… FAILED at 0x00000100! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x00000fff: 0xf00
    Reading current flash chip contents…

    Can you help me point out where is wrong ?? Thanks in advance.

  9. Thanks John, the output after “Reading current flash chip contents …” is the same as above,# extract a “shell-ball” ROM# How to make it ?? Can i get one bios ROM copy from recovery img in usb flash writed by google recovery tool ?? I even tried to complie a ROM from source, but failed. If it’s convenient for you, please send me a copy to my email. I have been trying for almost a month. I need a maven’s help. Thanks in advance.

  10. Hi John,

    I heard there was a suspend bug in the 3.14 kernel itself and was fixed in the 3.15 kernel. Would you be able to test if this resolves your suspend issues using your coreboot rom? Kinda being cautious as my c720 is daily driver. Thanks for all your hard work.

  11. Oh, I didn’t know that there were USB errors happening that prevent suspend. Shows me what I know. Hehe. Just out of curiousity, what happens when you don’t load any USB kernel modules?

    FYI, I’m no developer. Just trying to contribute in some little way. I hope haven’t annoyed you, today.

    Thanks again. :)

  12. Can i flash this via terminal from ubuntu?
    ive completely wiped out chromeOS and ended up losing the screw for the BIOS lock so i cant get back to chromeos :\

  13. Hi John,

    This looks very interesting, but I think I’m going to wait before dipping my toes in the waters of your custom roms – my wife needs to use the laptop too, and I’d need it to boot into chromeos by default…

    I was wondering if you wouldn’t mind answering a question – is it possible to remove the harmful space bar behaviour on the boot screen with ggb settings like you have with your coreboot, or is the best I can hope for reducing the time via seeing the flag to 1?


    1. Hi,

      If you change the GBB flags to 0x489 it disables the space bar, gives the short white screen, and makes the LEGACY slot the default. You can then boot into ChromeOS by holding a key combo (which is CTRL+D I think). That might best suit your purpose by the sound of it. There’s a post on it lurking around here somewhere. You’ll still need to disable the write-protect to do that though.



  14. Many thanks for your help John.

    Just in case anyone wants to do the same thing as me (default boot to chromeos, with short wait, and disable the space-bar wipe ‘functionality’, boot to USB if present), then set_gbb_flags.sh 0x19 will achieve this. There’s a page with the pic on removing the write-protect screw here.

  15. Hey, this is halfways off topic.

    I have tried turning on Legacy, but nothing happens. Installed Bodhi Linux using pendrive on a usb . Even tried recovery on the Chrome Os from a fresh windows download even . Its a C720, what could it be? When i press TAB at splash screen, it always says legacy=0


  16. Hi John,
    thank you for your work on special ROM for ChromeOS-devices. It worked right away on my c720. Now I run a full blown Linux (elementaryOS). I’ve donated you some EURs.
    Is there still a way to shorten boot time? Especially the option for alternative boot devices may be skipped faster. I think I wont need it for a long time :)


    1. Hi Markus, I saw that, thanks.

      You can add a “boot-menu-wait” file to the ROM to reduce it if needs be. See “Other Configuration Items” at http://www.coreboot.org/SeaBIOS

      You’ll need to clone the coreboot Git repo and compile cbfstool (which can be found in the “utils” directory of the repo). Once you’ve added the file, flash it to your machine obviously.



Leave a Reply