| commit | d28c59ae2e8e7f6d5933c4ba57093e35533a9eeb | [log] [tgz] |
|---|---|---|
| author | global-integration-roller <global-integration-roller@fuchsia-infra.iam.gserviceaccount.com> | Fri Aug 11 06:36:48 2023 +0000 |
| committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Aug 11 06:36:48 2023 +0000 |
| tree | c9a99dac39d38732903f2c1e6339d967cb6714fb | |
| parent | 1ccb48011adfd5df9a14f5a00d2174522da30f1a [diff] |
[roll] Update submodules Roller-URL: https://ci.chromium.org/b/8773081399903727313 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I6a01b6eeac75198b682c7f8a61061bca5633d40d Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/wlan/intel/iwlwifi/+/900078 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