1 个稳定版本
1.0.57 | 2023 年 12 月 26 日 |
---|
#4 in #system76
73 个星标 & 17 个关注者
69KB
2K SLoC
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
系统76-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() -> ()
取消安装最新的固件更新
依赖项
~9–22MB
~371K SLoC