mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-03 23:28:03 +00:00

This is a large commit that removes all the providers and turns them into plugins. I think having both providers _and_ plugins was super confusing. Plugins are loaded at runtime so you could in theory develop a new plugin without putting it in the fwupd source tree, although there are no installed headers or PC files as I'm not sure it's a good idea at this stage. This commit moves all the per-provider docs, tests, notes, debug dumps and test data to plugin-specific directories -- these also allows the plugin author to "own" more of the source tree so we don't enforce fu- prefixes and the style guide everywhere. This allows us to run the same action on all the plugins in the future, so we could have a prepare(FuPlugin, FuDevice) and cleanup(FuPlugin, FuDevice) run on *all* plugins, so doing an update using one plugin would allow us to work around hardware quirks in other plugins. If I've broken your out-of-tree provider it's trivial to port to the new API with sed and a fixed up build file. If you need help please let me know.
65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
fwupd
|
|
=====
|
|
|
|
This project aims to make updating firmware on Linux automatic, safe and reliable.
|
|
|
|
Additional information is available at the website: http://www.fwupd.org
|
|
|
|
Adding a new plugin
|
|
-------------------
|
|
|
|
An extensible architecture allows for providing new plugin types (for reading
|
|
and writing different firmware) as well as ways quirk their behavior.
|
|
|
|
If you have a firmware specification and would like to see support
|
|
in this project, please file an issue and share the spec. Patches are also
|
|
welcome.
|
|
|
|
LVFS
|
|
----
|
|
This project is configured by default to download firmware from the [Linux Vendor
|
|
Firmware Service (LVFS)] (https://secure-lvfs.rhcloud.com/lvfs/).
|
|
|
|
This service is available to all OEMs and firmware creators who would like to make
|
|
their firmware available to Linux users.
|
|
|
|
Basic usage flow (command line)
|
|
------------------------------
|
|
|
|
If you have a device with firmware supported by fwupd, this is how you will check
|
|
for updates and apply them using fwupd's command line tools.
|
|
|
|
`fwupdmgr get-devices`
|
|
|
|
This will display all devices detected by fwupd.
|
|
|
|
`fwupdmgr refresh`
|
|
|
|
This will download the latest metadata from LVFS.
|
|
|
|
`fwupdmgr get-updates`
|
|
|
|
If updates are available for any devices on the system, they'll be displayed.
|
|
|
|
`fwupdmgr update`
|
|
|
|
This will download and apply all updates for your system.
|
|
|
|
* Updates that can be applied live *(Online updates)* will be done immediately.
|
|
* Updates that require a reboot *(Offline updates)* will be staged for the next reboot.
|
|
|
|
Other frontends
|
|
-------------------
|
|
|
|
Currently [GNOME Software] (https://wiki.gnome.org/Apps/Software) is the only graphical
|
|
frontend available. When compiled with firmware support, it will check for updates
|
|
periodically and automatically download firmware in the background.
|
|
|
|
After the firmware has been downloaded a popup will be displayed in Gnome Software
|
|
to perform the update.
|
|
|
|
On Dell IoT gateways, [Wyse Cloud Client Manager (CCM)] (http://www.dell.com/us/business/p/wyse-cloud-client-manager/pd)
|
|
has been built with fwupd support.
|
|
The remote administration interface can be used to download and deploy
|
|
firmware updates.
|