baremetal callback: Add support for gbmc-bare-metal-prep target This CL changes the LinuxBootDone RPC handler to asynchronously start a new systemd target called gbmc-bare-metal-prep. This target will be used to monitor the ethernet connection to the CN and detect when NERF shuts down the PCIe connection. After that point, the gbmc-bare-metal-active target will get started. We now need these systemd operations to be asynchronous, which means the LinuxBootDone handler will respond with an OK status before the connection actually gets disabled. Tested: - Set bare metal flag /var/google/config-package/enable-bm.flag - Power cycled the machine - Set the bare metal instance info - echo 1 > /run/bm-instance/asset-tag1 - echo 2 > /run/bm-instance/board-serial-number1 - echo 3 > /run/bm-instance/family1 - echo 4 > /run/bm-instance/product-name1 - echo 5 > /run/bm-instance/sku1 - echo 6 > /run/bm-instance/system-serial-number1 - echo 000102030405060708090a0b0c0d0e0f > uuid1 - Issue Redfish command to boot the guest OS - Confirmed that the BMC received LinuxBootDone, waited for the connection to the host to stop working, then disabled the ethernet connection. PiperOrigin-RevId: 780739266 Change-Id: I6724e781d87220015f54093734b88efe83c2f627
TODO(kkachana): Add developer workflow guide
This is a general gRPC blob handler, receives blobs over gRPC and handles accordingly.
SMBIOS gRPC handler receives the SMBIOS from CPU and saves the file at /var/lib/smbios/smbios-remote-host-N and signals smbios app. smbios app parses the saved file and populated smbios objects.