| commit | ffd24ae2bce880fdefce4ffd2f366956bbda60fe | [log] [tgz] |
|---|---|---|
| author | global-integration-roller <global-integration-roller@fuchsia-infra.iam.gserviceaccount.com> | Mon Aug 21 10:35:16 2023 +0000 |
| committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Aug 21 10:35:16 2023 +0000 |
| tree | 38ca9c0ba117ea7bc30de95757ebabe0190d5a4e | |
| parent | bc2ae067174268486e0384edb26a0a1d2f55cbd3 [diff] |
[roll] Update submodules Roller-URL: https://ci.chromium.org/b/8772160035963400929 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I8f7c2e213b6de09cbf49308c92aabb54636235ce Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/wlan/intel/iwlwifi/+/905387 Commit-Queue: GI Roller <global-integration-roller@fuchsia-infra.iam.gserviceaccount.com>
This repository contains instructions and source code to build, package and run the Intel Wifi driver for Fuchsia using the Fuchsia Bazel SDK.
WARNING: Currently this repository uses libraries that are not exported in the SDK, so it will not build directly.
By default the Bazel SDK will fetch a specific version of the Fuchsia SDK tools and libraries, but this driver currently uses libraries that are not yet exported in the SDK, so you may need a local Fuchsia tree and some cherry-picked CLs. Contact the owner of this repo if you don't know exactly what you need.
From your cherry-picked Fuchsia tree, you can produce the SDK with the following commands:
cd ~/fuchsia # adjust accordingly fx --dir out/oot-qemu set core.qemu-x64 \ --args='dev_bootfs_labels=["//products/kernel_cmdline:devmgr.enable-ephemeral--true"]' fx --dir=out/oot-qemu/ build :default sdk sdk:driver
git submodule update --recursive --init
Since you need to use an SDK built locally to build this repo, set the LOCAL_FUCHSIA_PLATFORM_BUILD environmental variable accordingly, for example:
export LOCAL_FUCHSIA_PLATFORM_BUILD=~/fuchsia/out/oot-qemu
Run the script that fetches and installs the Bazel binary in //tools/bazel:
scripts/bootstrap.sh
TODO: there is no easy way to use a product bundle produced from a local Fuchsia tree. In the meantime, you may use fx ffx emu from the Fuchsia tree:
cd ~/fuchsia
fx ffx emu start --headless \
--kernel-args "driver_manager.use_driver_framework_v2=true" \
--kernel-args "driver_manager.root-driver=fuchsia-boot:///#meta/platform-bus.cm" \
--kernel-args "devmgr.enable-ephemeral=true"
Let the emulator know where are the system packages for on-demand loading:
tools/ffx repository add-from-pm ${LOCAL_FUCHSIA_PLATFORM_BUILD}/amber-files -r localtree
tools/ffx target repository register --alias fuchsia.com -r localtree
git -C third_party/sdk-integration fetch origin main git -C third_party/sdk-integration checkout FETCH_HEAD
tools/bazel run --config=fuchsia_x64 third_party/iwlwifi/platform:iwlwifi_pkg.iwlwifi_component
This command will build the driver and make it available as a package on a local Fuchsia repository and register the driver with the device/emulator.
tools/bazel test --config=fuchsia_x64 third_party/iwlwifi/test:iwlwifi_test_pkg
This command will build and run all the tests on the emulator or device. Specific tests can be executed by appending .<test_name> right after the test package, for example:
tools/bazel test --config=fuchsia_x64 third_party/iwlwifi/test:iwlwifi_test_pkg.platform_test