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.
- Samsung Series 5 550 Chromebook AKA Lumpy
- HP Pavilion Chromebook AKA Butterfly
- Samsung Series 3 Chromebox (both Celeron and i3) AKA Stumpy
- Acer C710 Chromebook (both Celeron 847 and 1007u) AKA Parrot
- Lenovo X131e Chromebook AKA Stout
- Google Pixel Chromebook AKA Link
- Acer C720 Chromebook (both Celeron and i3) AKA Peppy
- HP Chromebook 14 AKA Falco
- ASUS Chromebox (both Celeron and i3) AKA Panther
- HP Chromebox (both Celeron and i3) AKA Zako
- Dell Chromebook 11
- Toshiba Chromebook
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:
- Checks that the script is being run as root.
- Checks whether dmidecode is present (which it isn’t by default in Arch, at least).
- Does a cursory check to see if we’re running inside ChromeOS, and then attempts to run from USB drive if it is.
- 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.
- Determines the model.
- Attempts to disable the software write-protect.
- Back’s up the existing ROM to backup-date.rom where “date” is today’s date.
- Download’s the ROM for the corresponding model and checks it against it’s md5sum.
- Flash’s and attempts to verify the ROM.
Unless you tell me which model you have and the SeaBIOS string you get at boot, I’m not likely to be able to give you much help.
hello my friend.
got this error when installing windows 7: “the bios in this system is not fully acpi compliant”. help me
No worries. Thank you for the donation!
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!!!
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.
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
I thought I replied to it. Did you refresh the page?
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
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.
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.
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
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.
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
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
Please copy and paste the command from the ROM Download page. If you look closely you will see it’s different to what you have there …
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)
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.
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!
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.
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?