This sample project contains a “Hello, World” driver component that showcases the bare scaffolding necessary to register and load a driver component in Fuchsia.
To build the driver component, run the following command:
tools/bazel build --config=fuchsia_x64 //src/example_driver:pkg
Use the following commands to load the driver component on a target device:
example_driver
component:tools/bazel run //src/example_driver:pkg.component
You should see the driver be registered in the logs:
[driver_index, driver] INFO: Registered driver successfully: fuchsia-pkg://bazel.pkg.publish.anonymous/example_driver#meta/example_driver.cm.
Create the test node the driver will bind to:
tools/ffx driver test-node add property examples.driver.bind.TestProperty=TestDriver
Open the device log viewer:
tools/ffx log --filter example_driver
You should see the driver component say hello:
[driver_manager.cm][I]: [node.cc:608] Binding fuchsia-pkg://bazel.pkg.component/example_driver#meta/example_driver.cm to acpi-FWCF-passthrough [example-driver,driver][I]: [src/example_driver/example_driver.cc:30] Hello from example-driver
Use the following command to run the unit tests on a target device:
tools/bazel test --config=fuchsia_x64 //src/example_driver:test_pkg