| # Onboarding NPIs to Install Module |
| |
| <!--* |
| # Document freshness: For more information, see go/fresh-source. |
| freshness: { owner: 'tlbmc-dev' reviewed: '2025-10-15' } |
| *--> |
| |
| This document describes how to enable and configure the tlBMC Install Module |
| for an NPI. This module enables firmware updates through Redfish, including |
| support for firmware bundle updates via multipart HTTP push updates. |
| |
| [TOC] |
| |
| ## Prerequisites |
| |
| To use the Install Module, it must be enabled for your platform in |
| `tlbmc_config_bundle.textproto`. If it is not enabled, tlBMC will not expose |
| the necessary Redfish routes for firmware updates. |
| See `tlbmc_config_bundle.textproto` in tlbmc source. |
| |
| To enable the module, add `install_module { enabled: true }` to your |
| platform's configuration in `platform_to_config` map. For example: |
| |
| ```textproto |
| platform_to_config { |
| key: "your_platform_name" |
| value { |
| install_module { |
| enabled: true |
| } |
| } |
| } |
| ``` |
| |
| ## Functionality |
| |
| When the Install Module is enabled, tlBMC takes ownership of Redfish routes |
| related to firmware updates and task monitoring. Specifically, it enables: |
| |
| * **/redfish/v1/UpdateService**: This service provides Redfish endpoints for |
| firmware updates. The module supports firmware bundle updates, typically |
| performed by POSTing to an endpoint under UpdateService with content-type |
| `multipart/form-data`. |
| * **/redfish/v1/TaskService**: This service allows clients to monitor the |
| progress of long-running operations, such as firmware updates initiated |
| through the UpdateService. |
| |
| These services work together to provide a standard Redfish interface for |
| initiating and monitoring firmware updates on the BMC. |