How to make SeaBIOS the default on your Acer C720

Divulged this evening by Duncan Laurie on the coreboot mailing list:

If you want to boot SeaBIOS by default and you have unlocked the SPI flash write protection you can set flags in the (write protected) “GBB” flash region that will make it boot legacy mode by default.

In Chrome OS there is a script called set_gbb_flags.sh that will do this for you. Run the script with no arguments to get a list of possible flags and then to enable short dev mode screen (1 second timeout) followed by default legacy mode boot you could use these flags:

GBB_FLAG_DEV_SCREEN_SHORT_DELAY 0x00000001
GBB_FLAG_FORCE_DEV_SWITCH_ON 0x00000008
GBB_FLAG_FORCE_DEV_BOOT_LEGACY 0x00000080
GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400

/usr/share/vboot/bin/set_gbb_flags.sh 0x489

Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

59 thoughts on “How to make SeaBIOS the default on your Acer C720”

  1. Thank Duncan Laurie, I just parroted his info.

    You can run it from within a ChromeOS image. There’s an article on here about extracting one. Then it’s just like chrooting into any other Linux image – bind mount dev proc and sys, and then chroot.

    It kind of stopped with the C720/HP14. We’ll have to see what the Broadwell based Chromebooks bring, next year, but sockets and connectors cost money, and Chromebooks are all about saving it. My recommendation is not to get too hung up on upgrading the interior storage – I’ve been running my HP14 with the original SSD and a *really* slow 128GB USB 3.0 stick, mounted to Downloads, the last 6 weeks, and it’s an almost undistinguishable experience from the upgraded SSD (which eventually b0rked) the previous 6 months.

    Stay away from the Baytrail/ARM Chromebooks. Although the high IPS screens are really nice, the processors are way too slow and more suiting of a mobile phone. Broadwell will be the one to watch.

  2. Thank you for your article.

    Is there any way of doing this from Linux (Ubuntu)? I don’t seem to have ChromeOS any more? Can we just download the script and run it or does it call other stuff?

    I just wanted to have an easy to use Linus laptop where I don’t have to worry about the battery running flat and then losing my Linux environment (this happened to me a while back).

    Cheers Mike

    PS Are there other chromebooks that allow you to upgrade the SSD and come with a processor that’s easy to use with Linux. I quite like the Celeron the C720 comes with but would prefer nicer hardware like the original Toshiba 13″ but sadly the SSD is fixed. 4GB RAM would also be nice.

  3. Unable to set_gbb_flags.sh 0x489, keep getting an error:
    /usr/bin/old_bins/set_gbb_flags.sh: 109: flashrom: not found

    Help?

    chronos@localhost / $ set_gbb_flags.sh
    Changes ChromeOS Firmware GBB Flags value.

    Usage: /usr/bin/old_bins/set_gbb_flags.sh [option_flags] GBB_FLAGS_VALUE

    Defined flags (some values may be not supported by all systems):

    GBB_FLAG_DEV_SCREEN_SHORT_DELAY 0x00000001
    GBB_FLAG_LOAD_OPTION_ROMS 0x00000002
    GBB_FLAG_ENABLE_ALTERNATE_OS 0x00000004
    GBB_FLAG_FORCE_DEV_SWITCH_ON 0x00000008
    GBB_FLAG_FORCE_DEV_BOOT_USB 0x00000010
    GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK 0x00000020
    GBB_FLAG_ENTER_TRIGGERS_TONORM 0x00000040
    GBB_FLAG_FORCE_DEV_BOOT_LEGACY 0x00000080
    GBB_FLAG_FAFT_KEY_OVERIDE 0x00000100
    GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC 0x00000200
    GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400

    To get a developer-friendly device, try 0x11 (short_delay + boot_usb).
    For factory-related tests (always DEV), try 0x39.

    flags:
    -d,–[no]debug: Provide debug messages (default: false)
    -f,–file: Path to firmware image. Default to system firmware. (default: ”)
    –[no]check_wp: Check write protection states first. (default: true)
    -h,–[no]help: show this help (default: false)
    chronos@localhost / $ set_gbb_flags.sh 0x489
    /usr/bin/old_bins/set_gbb_flags.sh: 109: flashrom: not found

  4. The script has moved to /usr/share/vboot/bin/set_gbb_flags.sh and the flashrom command isn’t in your PATH by default so…

    export PATH=/usr/sbin:$PATH
    sudo /usr/share/vboot/bin/set_gbb_flags.sh 0x489

  5. I have the impression that functionality may have been moved into another script which *is* in (/usr)/(s)bin somewhere. If you could find it and tell me what it is, I can update the article accordingly.

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>