ROM Download

This page contains a script which will download and flash the latest custom coreboot firmware builds for 17 models/sub-models of Intel based Chromebook/Chromebox (1 untested, which the script warns you about if you have one). Note that flashing one of these ROM’s will remove the ability to run ChromeOS.

PLEASE ENSURE YOU READ THE FAQ!

You need to be in dev mode and disable write-protect by enabling a jumper/removing a screw (located somewhere on the main board). See each respective supported Chromebook’s developer information page below for info on disabling the write-protect.

Currently supported models.

Currently untested models.

  • LG ChromeBase 22CV241-W

In each supported ROM the coreboot part (the meat in the sandwich) has been tested at least once on the actual hardware in question. The SeaBIOS payload is the latest stable release. The ROM’s contain Jeltka (Just Enough Linux To Kexec Another) embedded Linux, which allows you to load a distro/rescue wirelessly over the internet without any media. The script ensures that the downloaded ROM is correct using it’s md5sum. Therefore it is quite unlikely to completely brick your device. Testing and feedback appreciated! Run the script like so:

cd; rm -f getnflash_johnlewis_rom.sh; curl -k -L -O https://johnlewis.ie/getnflash_johnlewis_rom.sh; sudo bash getnflash_johnlewis_rom.sh

What is the script doing?

In order it:

  1. Checks that the script is being run as root.
  2. Checks whether dmidecode is present (which it isn’t by default in Arch, at least).
  3. Does a cursory check to see if we’re running inside ChromeOS, and then attempts to run from USB drive if it is.
  4. If we’re not running inside ChromeOS the current directory is kept and then a statically linked version of Flashrom is downloaded and checked against it’s md5sum.
  5. Determines the model.
  6. Attempts to disable the software write-protect.
  7. Back’s up the existing ROM to backup-date.rom where “date” is today’s date.
  8. Download’s the ROM for the corresponding model and checks it against it’s md5sum.
  9. Flash’s and attempts to verify the ROM.

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

620 thoughts on “ROM Download”

  1. hello my friend.
    got this error when installing windows 7: “the bios in this system is not fully acpi compliant”. help me

  2. Just wanted to say thank you in this forum – along with my paypal donation.

    I spent the last week converting the used HP chromebook 14 laptop that I recently purchased into a very nice ubuntu laptop.

    FYI: I used your rom, installed KUbuntu 14.10, upgraded to latest 3.17 kernel, added the magic “echo -n “00000:00:1d.0″ > /sys/bus/pci/drivers/ehci-pci/unbind in rc.local, and tweaked some synaptics settings. At this point everything works (including suspend/resume and the free 4G Tmobile data plan).

    I still need to add some power tuning tweaks from powertop, but once those are in it seems like 6+ hours of battery life should be no problem for my normal workload (web browsing + remote access via x2go).

    I even have a windows VM available to run via VirtualBox.

    P.S. I did upgrade to the 128GB SSD (which was fairly straightforward but lots of steps to get access to the underside of the motherboard).

    Anyway, thanks again for providing the ROM!!!

  3. tldr;

    The RW_LEGACY slot hasn’t got anything in on the Baytrail Chromebooks, no. That part of the ROM is writable even with write protection enabled. No, it won’t brick your device, and will certainly work no worse than the empty slot. Any remaining questions after my reply, please ask again, but try to keep it succinct.

  4. I am in a twist…
    I am scared that I can brick my Lenovo Yoga 11e Chromebook.
    Or is this “not” possible?
    I read that I can restore the changes of RW_LEGACY slot with a Chrome OS recovery media. Is that true?

    Here h titiPiS johnlewis.ie/asus-chromebox-owners-rejoice/ is something written about:
    (you don’t need hardware write-protect disabled)
    but did I have to disable the software write protection?
    Cos when I make:
    sudo bash
    flashrom –wp-status
    I got:
    flashrom v0.9.4 : 3ba6a31 : Aug 16 2014 05:27:16 UTC on Linux 3.10.18 (x86_64), built with libpci 3.1.10, GCC 4.8.x-google 20140307 (prerelease), little endian
    Mapping BYT IBASE at 0xfed08000, unaligned size 0x200.
    Mapping BYT IBASE at 0xfed01000, unaligned size 0x200.
    WP: status: 0x0094
    WP: status.srp0: 1
    WP: status.srp1: 0
    WP: write protect is enabled.
    WP: write protect range: start=0x00600000, len=0x00200000

    So I try to backup my rom/seabios:
    flashrom -r old_firmware.bin
    I got:
    flashrom v0.9.4 : 3ba6a31 : Aug 16 2014 05:27:16 UTC on Linux 3.10.18 (x86_64), built with libpci 3.1.10, GCC 4.8.x-google 20140307 (prerelease), little endian
    Mapping BYT IBASE at 0xfed08000, unaligned size 0x200.
    Mapping BYT IBASE at 0xfed01000, unaligned size 0x200.
    Block protection could not be disabled!
    Reading flash… SUCCESS

    And he really create rom backup! I thought he would not cos of “Block protection could not be disabled!”, but he do.
    Here is it (i hope it is not stupid to upload here!): h titiPiS mega.co.nz/#!f4JhlI4T!sslhLDXwV6RQDc60I5JGZCmwMtjWTB_8LzlxyIfCFqU

    Is this backup of my bios without disable the hardware write-protect nor the software write protection, a valid one?

    After that I try:
    flashrom –wp-disable
    I got:
    flashrom v0.9.4 : 3ba6a31 : Aug 16 2014 05:27:16 UTC on Linux 3.10.18 (x86_64), built with libpci 3.1.10, GCC 4.8.x-google 20140307 (prerelease), little endian
    Mapping BYT IBASE at 0xfed08000, unaligned size 0x200.
    Mapping BYT IBASE at 0xfed01000, unaligned size 0x200.
    w25q_disable_writeprotect(): error=1.
    FAILED

    “Warning: If you do not disable the write protection before setting the GBB flags you endanger wiping out the RW-LEGACY part of the firmware (i.e. SeaBIOS) and your system might not boot (should be recoverable with Chrome OS recovery media). Updated versions of set_gbb_flags.sh won’t let you set the GBB flags without disabling the write protection.”Source: h titiPiS wiki.archlinux dot ORG/index.php/Chromebook#Enabling_SeaBIOS

    The last thing I did was to do so under terminal:
    chronos
    chromeo-firmwareupdate –mode=todev

    Then I load chromium and put it with win32diskimager to an sd and it bootet up with CTRL+U !

    After that I try to install ubuntu on ssd (mmcblk0), but I still boot and boot again into chromeos and never into ubuntu.
    WHY?!
    Following take no effect:

    Boot Default auf Chrubuntu: sudo cgpt add -i 6 -P 5 -S 1 /dev/mmcblk0
    Boot Default auf ChromeOS: sudo cgpt add -i 6 -P 0 -S 1 /dev/mmcblk0

    I follow a little bit thos how to here:
    pcpro co uk /features/381394/how-to-install-ubuntu-on-a-chromebook/2

    Would be very happy to hear from you or another user here.

    Greetings by DanielfromHamburg

  5. merkb please write me a E-Mail!
    here is my adress:
    MEINVORNAMEABERNURMEINVORNAMESIEHEUNTENminusforenATZEICHENgmxPUNKTkomm

    And did you enable the devrom with cronos shell.(like decribed in the black text I allways ignore :D ) I could start yesterday chromium from sd-card. My first success!

    John did you got my post from yesterday or is it lost?

    Greetings by DanielfromHamburg

  6. hi, thanks for the help.

    tried as you adviced, but it seem that the usb-stick isnt even running (the read/write-led isnt blinking).

    waited several minutes, tried both usb-ports… only black screen …

    (sorry for the bad englisch, more into hungarian/german)
    and thanks again for the help.

  7. You can try flying it “blind”, as it may just be a video problem. After hitting CTRL+L, press ESC and then 2. Make sure a USB stick is inserted, and make sure it’s a dd’ed Fedora/CentOS ISO, as that’s the one known to work above all others. Let me know if that works.

  8. Hi John,

    i try, like danielfromhamburg, to install linux on my thinkpad yoga 11e. as a “noob” i started to read through different blogs/how-to-sites , got in devmode, even succesfully tried crouton and chrubuntu, but i could never get to enter seabios.
    Now, after i added your clapper-seabios.cfg i think im able to get in seabios with ctrl l (before that i got only a “beep” when hit ctrl l), but the screen stay black, seems like it gets stuck…
    i thought maybe you could give me an advice or point me in the right direction (id like to install linux mint, not neccesarily on the sd, on the internal sd would be fine, but i cant boot from usb to install…).

    greets from austria
    merk

  9. coreboot supports eMMC but SeaBIOS mostly doesn’t. There have been some patches added to ChromiumOS SeaBIOS which enable eMMC support, but I have been unable to test them. I’ve made a preliminary replacement RW_LEGACY section of the ROM, which *might* work on all Baytrail devices. It’s at https://johnlewis.ie/clapper-seabios.cbfs and you apply it the same way the ASUS fix is (look at the ASUS users rejoice article). Let me know if by some miracle it works.

  10. I really searching for a solution to run Ubuntu instant (without chroot) on my Lenovo Yoga 11e Chromebook with 16gb eMMC.

    I think the eMMC ist the problem, because of problems with the coreboot or SeaBIOS.

    Is there a fix possible?

    Greetings by DanielfromHamburg

  11. I own a Lenovo Yoga 11e Chromebook.
    Is there a way to install ubuntu or archlinux on the eMMC (16gb kind of ssd) and run them from boot.
    crouton runs okay, but I dont need chrome os!

    I would be very thankfull. Really need this device for study.
    I need to run an ide like eclipse. It runs with crouton as chroot but I would prefer an standalone linux. Also because I study informatics. :)

    Perhaps I can create a fimrware dump or something like that to add coreboot. But I also read that the Problem is that coreboot can’t boot from eMMC :-(
    Read here: http://www.reddit.com/r/chromeos/comments/25bgf0/intel_bay_trail_questiontheorypotential_nonsense/

    I would be very thankfull for answers.

    Greetings by Daniel from Hamburg

  12. The command:
    curl -k -L -O https://johnlewis.ie/getnflash_johnlewis_rom.sh

    gives me the following error…
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0Warning: Failed to create the file getnflash_johnlewis_rom.sh: Read-only file
    Warning: system
    100 5548 100 5548 0 0 7901 0 –:–:– –:–:– –:–:– 9021
    curl: (23) Failed writing body (0 != 5548)

  13. Yes, I am aware of that issue, and yes, my ROM’s do “fix” that in the sense that they don’t use GBB flags at all, so there’s nothing to forget when the battery dies. HTH.

  14. I’m wondering about the following problem in Acer C720, are you aware of this issue:

    https://code.google.com/p/chromium/issues/detail?id=362105

    Ie: when you remove (or completely discharge) the battery then the settings for “dev_boot_legacy=1″ are lost causing the device to revert to default boot settings and locking out the user as a result because it’s trying to boot ChromeOS which is not there anymore.
    I hear this can happen with stock firmware, not sure if your firmware fixes this?
    Thanks!

  15. The USB debug stuff isn’t compiled into those ROM’s anyway, so it can’t be that. It sounds like it might just be a dodgy port, but you could try flashing back to stock as a control.

  16. Hi John, thanks for the work on SeaBIOS. I’m unsure if this is related or not, I’ve had my Chromebox for about a week; Ubuntu 14.04 64 bit running on it (upgraded SSD etc.). Just today my mouse didn’t work when I booted it. Upon some trial and error it seems one of the USB ports (back top of the ASUS Chromebox) doesn’t work anymore. If I plug a device in I get an unable to enumerate error (-71). I was unsure if this was an Ubuntu issue, so I tried to reboot and hit ESC to get the boot menu. The keyboard works pressing ESC on all ports but that port. So I’m concerned it’s either hardware related or SeaBIOS/Coreboot related (and why suddenly? I flashed it a few days ago and it’s worked fantastic until today). I’m wondering if that port is the USB debug port and somehow it has become enabled, but unsure. Any suggestions?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Linux & custom Chromebook firmware