tree 907cbd8949558d8834f19b1505950bf072f770f3
parent d7725db7084eb99b5705620b0090e2776197d7e6
author Sam Protsenko <semen.protsenko@linaro.org> 1563970133 +0300
committer Sam Protsenko <semen.protsenko@linaro.org> 1576259870 +0200

Enable fastboot HAL

Enable fastboot HAL using mock implementation from
hardware/interfaces/fastboot/. It's sufficient for now. Further we might
need to implement TI fastboot HAL. Also select fastbootd tool to be
built. All that is needed for flashing dynamic partitions from recovery
boot using fastbootd.

Testing:
  1. Issue "adb reboot recovery" command on host
  2. Be sure the device is unlocked in bootloader (see below)
  3. Select "Enter Fastboot" menu item
  4. Issue "fastboot flash system_a system.img" command on host
  5. System partition must be flashed successfully

In order to check if device is unlocked, one can run next command on
device's serial console when in recovery mode:

    $ cat /proc/cmdline | tr ' ' '\n'

"androidboot.verifiedbootstate=orange" cmdline parameter must be set.
Otherwise "fastboot flash" command won't work with next error message:

       'Download is not allowed on locked devices'

Right now the device is always locked in U-Boot (should be fixed in
future). Next change can be used to hard-code the unlocked state:

    cmd/avb.c:
    ----------

    -               extra_args = avb_set_state(avb_ops, AVB_GREEN);
    +               extra_args = avb_set_state(avb_ops, AVB_ORANGE);

Change-Id: I6e1a21c8359aef2c0576a61f8dd48778b0a55024
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
