[build] Add top-level :infra target

Add a fuchsia_builder_group() target which can be invoked by the
infrastructure.

Bug: 112403
Change-Id: I7c2155a1307afdb120f2e9bb72b04ccc292a8fe1
Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/misc/google/backlight/+/796742
Fuchsia-Auto-Submit: Anthony Fandrianto <atyfto@google.com>
Reviewed-by: Jiaming Li <lijiaming@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
2 files changed
tree: 83b5e7ffdca7652be6b341fb0b4d9deec3acabc0
  1. driver/
  2. scripts/
  3. third_party/
  4. tools/
  5. .bazelrc
  6. .clang-format
  7. .gitignore
  8. .gitmodules
  9. AUTHORS
  10. BUILD.bazel
  11. CONTRIBUTING.md
  12. LICENSE
  13. OWNERS
  14. PATENTS
  15. README.md
  16. WORKSPACE.bazel
README.md

Pixelbook Go Backlight driver

This repository contains instructions and source code to build, package and run the Fuchsia backlight driver that is used in the workstation_eng.chromebook-x64-dfv2 product.

Requirements

  1. Make sure this repository has the required submodules:

    git submodule update --recursive --init
    
  2. Run the bootstrap script that downloads the appropriate Bazel binary:

    scripts/bootstrap.sh
    
  3. Ensure that there are Fuchsia SSH keys in your host machine. You will need them for running the Fuchsia emulator.

     [[ -f "${HOME}/.ssh/fuchsia_ed25519" ]] || ssh-keygen -P "" -t ed25519 -f "${HOME}/.ssh/fuchsia_ed25519" -C "${USER}@$(hostname -f) Shared SSH Key for Fuchsia"
     [[ -f "${HOME}/.ssh/fuchsia_authorized_keys" ]] || ssh-keygen -y -f "${HOME}/.ssh/fuchsia_ed25519" > "${HOME}/.ssh/fuchsia_authorized_keys"
    

Build, run and test the samples

The repository is ready to build the samples.

Note: in order to use an SDK produced by a local Fuchsia platform tree, you can set an environment variable named LOCAL_FUCHSIA_PLATFORM_BUILD as described in https://fuchsia.googlesource.com/sdk-integration/+/refs/heads/main/using_local_sdk.md

  1. Fetch the system images

    tools/ffx product-bundle get workstation_eng.chromebook-x64-dfv2 --repository workstation
    
  2. Prepare and connect the Pixelbook Go, by flashing and/or paving it (not covered here), and connect using Ethernet.

  3. The product bundle comes with on-demand packages in a separate repository.

    Use the following command to register it with the device:

    tools/ffx target repository register -r workstation --alias fuchsia.com
    
  4. Update (OTA) the device to the version of the SDK:

    tools/ffx target update check-now --monitor
    
  5. (optional) watch the device log in a separate window

    tools/ffx log
    
  6. Load the driver

    Now you are ready to register the driver.

    First, let's confirm that the driver is not loaded:

    tools/ffx driver list | grep backlight
    

    The command above should not return any driver because it has not been registered.

    Now register the driver:

    tools/bazel run --config=fuchsia_x64 driver:pkg.component
    

    The driver now should show in the list of loaded drivers:

    tools/ffx driver list | grep backlight
    fuchsia-pkg://bazel.pkg.component/backlight_driver#meta/backlight_driver.cm