sysctl: enable fwupd as update mechanism
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