Q. How are you able to produce custom Chromebook firmware?
Google uses coreboot to produce Chromebook firmware. coreboot is an open source project and is the most open, widely available firmware in the world. This means that anyone can download the source via Git and try compiling their own firmware (if they’re brave enough, and don’t mind buying some relatively inexpensive hardware to debrick when it doesn’t work). See http://johnlewis.ie/compiling-your-own-coreboot-firmware-for-the-samsung-series-5-550-chromebook/
Q. Is coreboot *completely* open?
Yes, but, in the case of Intel chipsets, there are at least 2 binaries blobs required for the hardware to function correctly – the system agent and management engine binaries. Without the first, the system will not boot at all. Without the second your Chromebook will auto switch-off after 30 mins. The vast majority of coreboot compatible Intel hardware also requires a VGA blob.
Q. How much do these ROM’s cost?
I make these ROM’s freely available to people who either haven’t got the expertise or the time to compile/make their own. Their is no warranty implicit or declared, and it may also invalidate your Chromebook’s warranty. You bought it you broke it, YMMV, etc, etc.
Q. Will these ROM’s work on ARM based Chromebooks?
No. SeaBIOS is x86-centric. Nope, nada, never gonna happen. Suck it up.
Q. I’ve flashed one of your BOOT_STUB’s and I have a blank screen. Help!
You possibly had a hang, and the only way you thought you could reboot was by pressing the ESC – F3 (Refresh) – Power button combination. Unfortunately, this key combination is still active with a modified BOOT_STUB and as with the stock ROM, it tries to activate recovery mode. Obviously recovery mode is no longer available, and it therefore doesn’t do anything (even initialise the screen). Pulling the battery power resets the activated CMOS flag and returns things to normal (except for a wild date and time which will need to be rectified, possibly before you are able to connect to wireless/ethernet).
Q. My USB device will not show up in the SeaBIOS boot menu?
The device is taking longer than 100ms to announce itself on the bus, and is therefore not strictly USB compliant. It’s possible to add a file to the firmware CBFS to increase this timeout, but there will still be some USB devices which don’t show up unless you increase it to something ridiculous like 5 seconds. For instance, I have a USB 3.0 stick which takes 3.5 seconds to announce itself. Obviously, increasing the timeout will increase the time SeaBIOS takes to get to OS, which is not desirable, IMO.
Q. What happens if I accidentally flash the wrong ROM?
Worst case, you’ll have a bricked Chromebook. Slightly less worse case, you won’t be able to see any display, but the Chromebook will be otherwise functional. In the latter case you can fly blind (press ESC a second or so after switching on, then “2”) to boot off a Linux USB stick with an SSH server installed, and reflash over the network.
Q. Help! I’ve bricked my Chromebook. What now?
You need a Raspberry Pi (or BeagleBone Black, or Bus Pirate, in that order of preference), Pomona 5250 SOIC clip (the 3M one doesn’t fit well), and some appropriate jumper wires (female to female for RPi, male to female for BBB/BP).
See https://github.com/bibanon/Coreboot-ThinkPads/wiki/Hardware-Flashing-with-Raspberry-Pi#raspberry-pi-c720-chromebook if using an RPi and ignore the stuff about the “bridged” wiring – you almost certainly don’t need it.
Q. Can I run Windows?
Almost all the ROMs/mods don’t contain the necessary ACPI information to run Windows.
Q. Power-saving doesn’t work, can you fix it?
If you’re using a Sandy/Ivybridge based Chromebook and the BOOT_STUB modification, suspend and VMX will not work. If those things are important, rerun the script and flash a full ROM (after backing up your RO_VPD and GBB regions, of course).
Q. I don’t see a ROM for <insert my Chromebook/box here>. Will you make one?
It depends. Even though compiling coreboot doesn’t require dev knowledge, it is still a non-trivial process, which can take many man-hours in order to produce something that works – I do also have a family to feed you know …
Q. My touchpad doesn’t work! Help!
It’s likely that you aren’t running a new enough kernel. In the case of Baytrail Chromebooks, you need at least kernel 4.0 (and possibly higher). Kernel 4.0.4 in Fedora 22 works OOTB with Baytrail Chromebooks. There is also a well known problem with the touchpads on the Acer C710 which makes them vulnerable to static (especially when on battery). There are work-arounds to properly earth/ground the pad. Other models may also suffer from this.
Q. Can I continue to use ChromeOS with a modified BOOT_STUB/Full ROM?
Yes, see https://johnlewis.ie/dual-boot-chromeos-linux-on-a-chromebook/ but bear in mind it does not work on Baytrail Chromebooks.
Q. I didn’t make a backup of my existing ROM, but I would like to go back to the stock firmware. What can I do?
Use the script referenced on the ROM Download page to flash a shellball ROM.
Q. <Insert my distro here> won’t boot from Live USB, I get a kernel panic/error?
Try adding “mem=1952M” to the kernel command line. Also try a different distro – I had an issue today whereby Fedora 22 wouldn’t boot on my son’s HP Pavilion Chromebook (and would go into a boot loop), although Ubuntu 15.04 worked fine.
Q. I have an ARM Chromebook, can I run Linux natively?
Not really. Upstream kernel/Xorg still does not (and is not likely to) have the requisite graphics support required for accelerated display. You can shoehorn Fedora/Arch/etc on there, but there are packages which aren’t available/don’t-work under ARM.
Q. My <insert-distro-here> USB key won’t boot, what can I do?
As a reliable baseline, I recommend dd’ing a Fedora/CentOS ISO to your USB key, and booting from that. You can also use an external USB CD/DVDROM drive. See https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB#Command_line_.22direct_write.22_method_.28most_operating_systems.2C_non-graphical.2C_destructive.29 Make sure you use the dd parameter “conv=fsync” to ensure the data is written to the drive before dd completes, and you pull the USB stick out. I have also had success with Fedora Live USB Creator. Unetbootin is know to be problematic. YMMV, etc, etc.
Q. My keyboard won’t work at the SeaBIOS menu, what can I do?
The keyboard controller can sometimes get itself in a knot, especially if you’ve hard powered off a number of times. Switch the power off for about 30 seconds and try again. Also make sure you don’t repeatedly press the keyboard *before* the SeaBIOS menu has appeared.