blob: 88a4079401ee0dd883eb7b4301a312f73d13e2b1 [file] [log] [blame] [view]
# 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.