ROM Download

This page contains a command to download and run a script, which will flash custom firmware with a SeaBIOS payload on approaching 40 models of Intel based Chromebook – allowing you to run an alternative OS such as Linux. The script will work with ChromeOS or pretty much any Linux distro (at least no one has told me otherwise).

There are 3 types of firmware mod – RW_LEGACY, BOOT_STUB, and Full ROM – not all Chromebooks work with each one:

  • RW_LEGACY modifies a 2MB section of the ROM leaving the stock functionality intact, including the scary developer screen, and will not brick your device. Some Chromebooks already come with a working RW_LEGACY slot, although many of them do not (non-functional keyboard on Panther, non-functional display on Auron_Yuna, or just plain missing, etc.). As well as fixing aforementioned bugs, updating the RW_LEGACY slot can enable further functionality such as booting from SD card/eMMC. So, even in the case of a functioning stock RW_LEGACY, it may be fortuitous to update.

  • BOOT_STUB modifies the last 1MB of the ROM, removing the scary developer screen, but also removes the ability to run ChromeOS natively, carrying a chance of bricking your device. This also leaves the “REFRESH + POWER” functionality of the stock ROM intact, meaning, when you press these keys, the device will immediately reboot and attempt to run ChromeOS Recovery (which isn’t there any more), and give you a blank screen. The only way to then stop it from attempting to run ChromeOS Recovery on every boot, is to take the device apart and disconnect the battery.

  • Full ROM, as the name suggests, is a complete ROM containing a coreboot build with a slice of SeaBIOS on top, and is the most risky. Again, this will remove the ability to run ChromeOS natively. Flashing one of these will wipe out your product data. In the case of Sandy/Ivybridge Chromebooks a full ROM enables hardware virtualisation extensions and suspend. Other models full ROM’s also probably contain idiosyncrasies that the stock firmware does not.

You need to be in dev mode and to have disabled write-protect by enabling a jumper/removing a screw (usually the latter, located somewhere on the main board). Disabling write-protect is not necessary when flashing RW_LEGACY unless you want to make the legacy slot default. See each respective supported Chromebook’s developer information page (if available) for info on opening your Chromebook up and disabling write-protect.

Supported Chipset Matrix

     
SANDY/IVYBRIDGE RW_LEGACY FULL ROM
  ONLY ON 1ST GEN PIXEL YES
HASWELL RW_LEGACY FULL ROM
  YES MOST MODELS
BAYTRAIL RW_LEGACY FULL ROM
  YES NO
BROADWELL RW_LEGACY FULL ROM
  YES NO
BRASWELL RW_LEGACY FULL ROM
  YES NO
SKYLAKE RW_LEGACY FULL ROM
  YES NO
     

Jenkins is now being used along with some scripts, to automate building, and to reduce chances of a brick from human error. Run the script like so, making sure you are only in Crosh shell *not* the *root* Crosh shell if running from ChromeOS:

cd;bash <(curl https://johnlewis.ie/flash_cb_fw.sh)

If for some reason you need to run an older build, you will have to flash it manually. See the ROM Archive.

1,122 thoughts on “ROM Download”

  1. Just for clarifiction’s sake, I need to do this FROM the ChromeOS crosh shell? Or can I run this from a linux mint command line? (Acer C720) Thanks! :)

  2. My apologies, I posted from two different computers (work vs. home) and didn’t see that my comment was awaiting moderation. Didn’t mean to come across as pushy/rude. :)

  3. hey, long story short; i was trying to put windows on my c710 back in the day; kept on receiving the blue screen. I did create a backup of my rom before i even began; so just wondering if you can do a quick explanation of flashing it back to chrome OS and leaving it alone.

    Please and Thank You!

    –Shawn

  4. Hi John,

    Thank you for your great software. C710-2847 mfg date 2012/11/22. Used option 2, and now may USB boot, butthe 320MB HDD is not detected, not bootable. I’ve installed Ubuntu on the HDD, but its useless.

    Options:
    A) Reflash with option 4 (Hope I can from USB Ubuntu, because I’ve already reformatted my HDD)

    B) Replace the HDD with SSD, and hope it will be detected.

    That’s all for now. Leaning towards reflash for now.

    Thanks,
    Doug

  5. Hi John,

    Following up on my previous post…

    I reflashed my C710, Option 5, for a complete replacement of the bios. HDD is now found and boots my Ubuntu. So, one may conclude a key difference between BOOT_STUB and the older method, is that BOOT_STUB method fails to detect this C710 HDD.

    By the way, thought I’d need to install flashrom, but I see that you download the ChromeOS flavor of flashtom in your script. Nice.

    Doug

    Doug

    1. It’s actually down to the version of SeaBIOS that’s packaged, as I alluded to in my previous reply. My BOOT_STUB’s are getting a bad press. ;)

      Yeah, it’s needed for some operations (like disabling the software write-protect regions) that upstream Flashrom doesn’t do.

  6. Hi, for the “RW_LEGACY” models this flashes a “generic” seabios image?, would be possible to flash another payload? e.g. GRUB2
    Thanks

    1. Somebody on the community was working on trying to fit a Grub2 payload into the RW_LEGACY slot. Take a look on there and see if you can find it.

      The slot is semi-generic – it will work on Haswell/Broadwell Chromebooks but *not* Sandybridge/Ivybridge/Baytrail.

  7. hello john, I have a problem in my boot chromebook acer c7.
    I did all the procedures that you teach, installed the SeaBios.
    but do not start anything of error.
    already I switched to HD, but the problem continues.
    appears GNU GRUNB VERSION 2:00 ..

    … unaligned pointer 0x1
    aborted …

    when I finally managed to boot, windows soon appears, but then it gets all dark screen …. but not out of it …

    help me please

  8. can you help me uninstall the seabios and return back to the chrome bios on a c710. I installed seabios and kodi, but want to return it to chrome. I tried to understand your shellball but it is over my head somewhat.

  9. Hi, John.

    I’m glad to see that you had a breakthrough with the baytrail chipset. I really have been looking forward to that :-)

    I own a Toshiba Chromebook 2 (Swanky) which I would like to “set free” and install Arch Linux on, and I should be ready to go as I already have put it into developer mode and removed the hardware write protection of the bios. Which I have verified by:

    localhost / # flashrom –wp-disable
    flashrom v0.9.4 : e6a7ca8 : May 12 2015 18:14:00 UTC on Linux 3.10.18 (x86_64), built with libpci 3.1.10, GCC 4.9.x-google 20150123 (prerelease), little endian
    Mapping BYT IBASE at 0xfed08000, unaligned size 0x200.
    Mapping BYT SBASE at 0xfed01000, unaligned size 0x200.
    SUCCESS
    localhost / # flashrom –wp-status
    flashrom v0.9.4 : e6a7ca8 : May 12 2015 18:14:00 UTC on Linux 3.10.18 (x86_64), built with libpci 3.1.10, GCC 4.9.x-google 20150123 (prerelease), little endian
    Mapping BYT IBASE at 0xfed08000, unaligned size 0x200.
    Mapping BYT SBASE at 0xfed01000, unaligned size 0x200.
    WP: status: 0x0060
    WP: status.srp0: 0
    WP: status.srp1: 0
    WP: write protect is disabled.
    WP: write protect range: start=0x00000000, len=0x00000000

    However, I’ll just make sure that I’ve got everything right and ask you if it is correct that all I need to do now is to execute the above mentioned shell commands / script in order to get rid of Chrome OS? Is the script “self guiding” or are there any preparations that I should make first (besides inserting a USB drive for installation of the new OS)?

    … and of course, if this turns out to be a bad idea – can I undo it all? Will I be able to just “flash back” my original ROM (I’ve already dumped the current ROM with “sudo flashrom -r bios.bin”) and everything will be back as it is now? Well, except from any data stored on the chromebook – I suppose that will get wiped :-)

    I would also like to ask you if you have any experience if this operation will have any negative effect on the battery runtime and in that case, how much? This is a bit like comparing apples and oranges, I know, however if we assume that I create a small/light installation which does not run any other applications but a webbrowser, just like chrome OS, will I the runtime be about the same?

    Cheers,

    Thomas

  10. Hey John,
    So I installed Ubuntu 15.04 on C720.So when I tried to run your command it says the software write protect could not be disabled and that this usually means hardware write protect was still enabled.But I removed it to install ubuntu.So any suggestions as how to proceed would be great.Thanks

  11. Hello john,
    first i just want to thank you for your amazing work here,
    second i have a c710, and i used your rom/bios on it about 1 year ago, my seabios version says its 1.7.5, and everything has been good, i have ubuntu running without issues (that i know), i only use it as a backup/travel laptop. What i want to ask if is the recent updates will benefit me, maybe there is improvements or fixes. what you think?

    Thank you for your time

  12. hi john, this project look’s great! i have a question before installing your firmware on my HP 14 (Falco), does it have a negative impact on battery life?

    thanks in advance <3
    (sorry for my english, it's not my native language)

    1. No, the negative effect on battery life will come from the alternative OS. Having said that, as long as you keep the brightness down suitably, and make sure nothing is eating CPU, it shouldn’t do that much worse.

  13. Hi !
    I think I just bricked my asus c300.
    I flashed with your bios then tried to restore with the usb key google utility but the laptop crashed and now the screen just splashes when I turn it on.
    Do you have any idea how to “unbrick” it ?
    Thank you so much in advance.

  14. Sure !
    So I enabled the developper mode, then removed the protection screw, then opened a shell and used your script ” cd; rm -f flash_chromebook_rom.sh; curl -k -L -O https://johnlewis.ie/flash_chromebook_rom.sh; sudo -E bash flash_chromebook_rom.sh ”
    then I chose choice number 2.
    I made via windows an xubuntu usb key, booted on it, installed it, but when the chromebook restarted I got this kind of screen : https://upload.wikimedia.org/wikipedia/commons/b/b5/Qemu%2BSeaBIOS.png?1439202907429
    So I searched on the internet how to put grub on the usb stick in order to get a functionnal laptop but without success.
    So I decided to restore the chromebook to use only crouton, so I went on : http://www.codeapex.com/restore-an-acer-c720-chromebook-to-stock-after-installing-linux-on-it/
    I made the google utility restoration key, booted on it, a message poped then disappeared right away and since then I’m stuck with the video you saw.

    Thank you so much for your help ! :)

    1. +10 points for flashing successfully.

      -20 points for not reading the Baytrail Release page (linked on the Download page) and realising you can’t boot off the eMMC as things currently stand.

      +10 for searching.

      How did you manage to boot the ChromeOS Recovery USB when you wouldn’t have been able to get the “ChromeOS is missing or damaged” screen up because of the modded firmware?

  15. Thank’s for your answer.
    When I say “i booted on ChromeOS Recovery USB” I just plugged the USB key, turned on the chromebook, press enter on Seabios and the message poped and here I am now.

    1. Well, I’d really like to know how you managed to bugger your C300 up, so, if you do manage to debrick can you try the same thing again and see what the message said?

      You’ll need some female to female jumper wires and a Pomona 5250 SOIC clip. Huan Truong has a tutorial on the community. Search for it. I should also point out that it might just be an extremely coincidental hardware failure.

  16. Thank you for answering me. I don’t think I have the required skills to do The tutorial, and the pomona costs over 40euros here in France.
    I think I will try to use Amazon Warranty.

    About the message, I really can’t remember it was really quick, but I think the progral may have tried to replace the bios and failed I don’t know :( I should have plugged my GoPro !

  17. Yes I might have seen like a decompression line, I’m really really not sure.
    For the future, because I will get another asus c300, how should I proceed in order to install xubuntu ? Should I wait for an update of your work?
    How was I supposed to restore the bios back then ?

    1. Until there’s an update, you will need to install the boot-loader plus maybe /boot on a USB key. The root filesystem can then exist on the eMMC. If you get one of those really low profile USB sticks, it will only stick out about 3 mm.

      Use the script and press option 3 to restore the BOOT_STUB. ChromeOS recovery would then work as normal.

  18. Thank you so much for your help !
    Do you have a good tutorial please about how to put the bootloader and the /boot on the usb drive ?
    I tried it last time and I ended up with a grub rescue because the hardware ID of the eMMC was apparently not correct.

    1. Nope. You can try asking on the community if you like. However, it might be better to wait a few days, as I think we’ll probably have the eMMC working with upstream SeaBIOS in that time and using USB for Grub2 won’t be needed.

Leave a Reply