#固件 #命令行工具 #软件包 #更新 #守护进程 #DBus #system76

bin+lib pop-os/system76-firmware-daemon

System76 固件工具和守护进程

1 个稳定版本

1.0.57 2023 年 12 月 26 日

硬件支持 中排名 #1588

74 个星标 & 18 个关注者

16KB
380

system76-firmware

system76-firmware 软件包包含用于安装固件更新的 CLI 工具。还包括 system76-firmware-daemon 软件包,该软件包包含一个 systemd 服务,该服务公开 DBUS API 以处理固件更新。

依赖关系

  • cargo
  • dbus
  • rustc
  • systemd

构建目标

以下构建目标受支持:

  • make all - 编译所有二进制文件
  • make clean - 删除编译的二进制文件
  • make install - 安装二进制文件和配置文件
  • make uninstall - 卸载二进制文件和配置文件
  • make vendor - 准备离线编译的源代码
  • make distclean - 删除准备好的源代码和编译后的二进制文件

安装

make
sudo make install

打包

为了打包,您需要 cargo-vendor

cargo install cargo-vendor

然后您可以运行以下命令来创建一个离线可用包

make vendor

现在您可以编译并安装这个包。

为了清理供应商源代码,您可以运行以下命令

make distclean

API

system76-firmware-daemon 将下载最新的固件包(如果已更改),并为用户提供一个 DBUS 接口以查询当前固件状态、查询更新信息以及安排更新。

DBUS API 如下所示

  • Bios() -> (String model, String version) 查询 BIOS 模型和版本。
  • EmbeddedController(Boolean primary) -> (String project, String version) 查询嵌入式控制器的项目和版本。可选地,可以查询第二个嵌入式控制器。
  • ManagementEngine() -> (Boolean enabled, String version) 查询 ME 状态和版本。
  • Download() -> (String digest, String changelog) 下载最新的变更日志信息
  • Schedule(String digest) -> () 准备最新固件更新以供安装
  • Unschedule() -> () 取消安装最新固件更新

依赖关系

~7.5MB
~164K SLoC