Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Sep 2017 12:55:38 +0200
From:      Matthias Apitz <>
Subject:   modifying the BIOS of an Acer C720 from within FreeBSD CURRENT
Message-ID:  <20170912105538.GA52179@c720-r314251>

Next in thread | Raw E-Mail | Index | Archive | Help


The background: To be able to install and boot FreeBSD on an Acer C720
Chromebook, one must tweak some bits in the BIOS and enable a so called
LEGACY BIOS mode (after removing the hardware write protection of the
BIOS). To do so, there are some tools within ChromeOS which allow this
procedure, but after this you can not boot ChromeOS anymore (from the
saved SSD) and so you can't use these tools within ChromeOS to switch
the bits back.

The tools to use are simple:

# flashrom -p internal -i GBB -r bios.bin
# futility gbb -s --flags=3D$flags bios.bin
# flashrom -p host -i GBB --fast-verify -w bios.bin

Flashrom we have in the ports as sysutils/flashrom and it works, even
with the small problem at the moment:

$ flashrom -R
flashrom v0.9.9-r1955 on FreeBSD 12.0-CURRENT (amd64)
flashrom is free software, get the source code at

$ flashrom -L | egrep -i 'acer|720|chro'
Acer            V75-M                                   OK
Acer            EM61SM/EM61PM                           OK
GIGABYTE        GA-M720-US3                             OK
MSI             MS-7207 (K8NGM2-L)                      OK      (autodetect=
Acer       Aspire 1520         OK
Acer       Aspire One          BAD

$ flashrom -p internal -i GBB -r bios.bin
flashrom v0.9.9-r1955 on FreeBSD 12.0-CURRENT (amd64)
flashrom is free software, get the source code at

Region requested (with -i "GBB"), but no layout data is available.

The other tool (futility) is part of ChromiumOS and can be fetched from

$ git clone

A first try to make it gives:

$ cd vboot_reference
$ gmake
Using qemu for testing.
Package libcrypto was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcrypto.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libcrypto', required by 'virtual:world', not found

We have in the base system in /usr/lib, but I do not see
any file libcrypto.pc so that other could pick this up; should I install
OpenSSL from the ports system?

The other error on compile is this and I have no clue how to solve this:

    CC            firmware/linktest/main.o
    CC            firmware/lib/vboot_common.o
    CC            firmware/lib/region-fw.o
    CC            firmware/lib/vboot_common_init.o
    CC            firmware/lib/vboot_nvstorage.o
    CC            firmware/lib/region-init.o
    CC            firmware/lib/rollback_index.o
    CC            firmware/lib/tpm_lite/tlcl.o
    CC            firmware/stub/tpm_lite_stub.o
    CC            firmware/stub/vboot_api_stub_init.o
    CC            firmware/stub/vboot_api_stub_region.o
    CC            firmware/lib/cgptlib/cgptlib.o
    CC            firmware/lib/cgptlib/cgptlib_internal.o
    CC            firmware/lib/cgptlib/crc32.o
    CC            firmware/lib/ec_sync.o
    CC            firmware/lib/ec_sync_all.o
    CC            firmware/lib/gpt_misc.o
    CC            firmware/lib/utility_string.o
    CC            firmware/lib/vboot_api_kernel.o
firmware/lib/vboot_api_kernel.c:512:16: error: implicit conversion from enu=
meration type
      'enum vb2_nv_param' to different enumeration type 'VbNvParam' (aka 'e=
num VbNvParam')
        ~~~~~~~       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
gmake: *** [Makefile:1204: /usr/home/guru/Acer-C720/vboot_reference/build/f=
irmware/lib/vboot_api_kernel.o] Error 1



Matthias Apitz, =E2=9C=89, =E2=8C=82 http://www.unixarea.d=
e/  =E2=98=8E +49-176-38902045
Public GnuPG key:

Want to link to this message? Use this URL: <>