Skip to content

sysctl: enable fwupd as update mechanism

Chris Hofstaedtler requested to merge zeha/pocket-reform:zeha-sysctl-cab into main

TODOs before merging:

  • get questions from !19 (comment 11701) answered
  • where should the release description come from? (they go into the XML) -> pocket-reform-sysctl-fw/description-release.html
  • check tags are used properly as version numbers
  • what about YYYY-MM-DDz tags?
  • untagged CI builds currently get this form of version number: Using MNTRE_FIRMWARE_VERSION from environment ('g3473206') - need to check it works

TODOs later:

  • extract cmake bits into include file, and reuse for keyboard
  • refactor firmware_packager.py to properly escape XML (and/or use a proper XML writer)

generated metainfo.xml, for untagged builds:

<?xml version="1.0" encoding="UTF-8"?>
<component type="firmware">
  <id>com.mntre.pocket_reform.sysctl10.firmware</id>
  <name>Pocket Reform System Controller 1.0 Firmware</name>
  <summary>MNT Pocket Reform System Controller</summary>
  <description>
    <p>Development build for testing</p>
  </description>
  <provides>
    <firmware type="flashed">df0c9fc8-88d6-5100-ba66-0f5c436fc522</firmware>
  </provides>
  <url type="homepage">https://mntre.com</url>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0-or-later</project_license>
  <updatecontact>None</updatecontact>
  <developer_name>J. Random Hacker</developer_name>
  <releases>
    <release version="1112" timestamp="1731418622">
      <url type="source">https://source.mnt.re/reform/pocket-reform/branch/bla</url>
      <description>
        <p>Development build for testing</p>
      </description>
    </release>
  </releases>
  <categories>
    <category>X-EmbeddedController</category>
  </categories>
  <custom>
    <value key="LVFS::VersionFormat">number</value>
    <value key="LVFS::UpdateProtocol">com.microsoft.uf2</value>
    <value key="LVFS::DeviceIntegrity">unsigned</value>
  </custom>
</component>

fwupdtool get-details:

mntre MNT Pocket Reform with i.MX8MP Module

└─Pocket Reform System Controller 1.0:
  │   Device ID:          983c3cffc6fd36d32b00b62928d30721eaeb93db
  │   Current version:    0.0.0
  │   Vendor:             MNT (USB:0x1209)
  │   Serial Number:      DE63544193253234
  │   GUIDs:              874a17a9-dd06-5e8b-9007-09bc9be85b74
  │                       df0c9fc8-88d6-5100-ba66-0f5c436fc522 ← USB\VID_1209&PID_6D07
  │   Device Flags:       • Internal device
  │                       • Updatable
  │                       • Unsigned Payload

  └─Pocket Reform System Controller 1.0 Firmware Update:
        New version:      1.0.0
        Summary:          MNT Pocket Reform System Controller
        License:          GPL-3.0-or-later
        Size:             94.2 kB
        Created:          2024-10-16
        Vendor:           MNT Research GmbH
        Description:
        The vendor did not supply any release notes.
        Checksum:         99ecb85ac4f40b520a4f5a316bc1f5059f810d8f1e3101643612609a0c76ee77
Edited by Chris Hofstaedtler

Merge request reports

Loading