fwupd
fwupd はデバイスのファームウェアをアップデートするためのシンプルなデーモンです。fwupdate で UEFI BIOS をアップデートできます。
サポートされているデバイスは [1] や [2] に記載されています。
目次
インストール
fwupd パッケージをインストールしてください。依存パッケージとして fwupdateAUR[リンク切れ: パッケージが存在しません] もインストールされます。
fwupdate を使用する場合は #UEFI BIOS のアップグレードを見てください。
グラフィカルフロントエンド
デスクトップ環境によっては fwupd が標準でサポートされています:
- GNOME Software — GNOME 環境上で動作します。バックグラウンドで定期的に更新を確認しダウンロードを行います。ファームウエアがダウンロードされると GNOME Software に更新の実行確認を行うポップアップが表示されます。
- KDE Discover — Plasma 上で動作します。KDE Plasma 5.14 以降では KDE Discover 上で fwupd バックエンドが実装されました。他のシステムのアップデートと同様にファームウエアの更新も表示されます。
- GNOME Firmware — Application to upgrade, downgrade and reinstall firmware on devices supported by fwupd. It can unlock locked fwupd devices, verify firmware on supported devices and display all releases for a fwupd device.
使用方法
fwupd に検出されたデバイスを確認するには:
$ fwupdmgr get-devices
利用可能なアップデートのメタデータを更新するには:
$ fwupdmgr refresh
システムのアップデート一覧を確認するには:
$ fwupdmgr get-updates
アップデートをインストールするには:
$ fwupdmgr update
UEFI のアップグレード
アップグレードする前に以下を確認してください:
- マシンが UEFI モードで起動していることを確認してください。BIOS モードでは正しく動作しません。
- EFI 変数にアクセスできることを確認してください。
- EFI システムパーティション (ESP) が正しくマウントされていることを確認してください。この記事では ESP のマウントポイントを
esp
として表記します。
以前の環境で作られたファイルの確認
他の Linux 環境で fwupdate を既にインストールしたことがある場合、efivars に残っているものを削除するようにしてください。以下のコマンドを実行することで残余を確認できます:
$ ls /sys/firmware/efi/efivars/fwupdate-*-0abba7dc-e516-4167-bbf5-4d9d1c739416
何か出力が返ってくる場合、以下のように削除してください:
# chattr -i /sys/firmware/efi/efivars/fwupdate-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 # rm -f /sys/firmware/efi/efivars/fwupdate-*-0abba7dc-e516-4167-bbf5-4d9d1c739416
fwupdate のインストールとアップデート
fwupdate の新しいバージョンをインストール・アップデートするにはユーザーの操作が必要です。pacman のフックを使うことでアップデートを自動化できます (ただしインストール時に一度は手動で設定する必要があります)。
手動
/usr/lib/fwupdate/EFI
フォルダを ESP にコピーしてください:
# cp -r /usr/lib/fwupdate/EFI esp
自動
fwupdateAUR[リンク切れ: パッケージが存在しません] パッケージに含まれている Pacman フックは ESP を /boot
または /boot/efi
にマウントしている環境用です。関連するファイルのシンボリックリンクを作成することで利用することができます:
esp
を/boot
にマウントしている場合:
# ln -s /usr/share/doc/fwupdate/esp-as-boot.hook /etc/pacman.d/hooks/fwupdate-efi-copy.hook
esp
を/boot/efi
にマウントしている場合:
# ln -s /usr/share/doc/fwupdate/esp-as-boot-efi.hook /etc/pacman.d/hooks/fwupdate-efi-copy.hook
他の場所にマウントしている場合は以下のスニペットの esp
のマウントポイントを調整してください:
/etc/pacman.d/hooks/fwupdate-efi-copy.hook
[Trigger] Type = Package Operation = Install Operation = Upgrade Target = fwupdate [Action] Description = Copying fwupdate to EFI directory... When = PostTransaction Exec = /usr/bin/cp -r /usr/lib/fwupdate/EFI esp
fwupd の実行
#使用方法に書かれているように実行してください。
トラブルシューティング
エラーは出ないが再起動後も更新されない
現象: fwupdmgr update
は正常に終了し (UEFI の更新などで) 再起動を求められた。しかし再起動してもファームウエア更新は行なわれなかった。
考えられる原因: 起動順序がBIOS で正しく設定されていない。