fwupd (Polski) - ArchWiki

Jump to content
Toggle the table of contents

# fwupd (Polski)

3 languages

- English
- 日本語
- 中文（简体）

From ArchWiki

Powiązane artykuły

- Bezpieczny rozruch
- UEFI

fwupd to prosty demon pozwalający oprogramowaniu sesyjnemu na zaktualizowanie oprogramowania układowego na twojej lokalnej maszynie. Został on zaprojektowany dla komputerów stacjonarnych, można go również używać na telefonach oraz serwerach bez ekranów.

Lista wspieranych urządzeń znajduje się tutaj, ponadto ma pojawić się ich więcej.

## Instalacja

Zainstaluj pakiet fwupd.

Zobacz #Konfiguracja dla aktualizacji UEFI jeżeli planujesz takie użycie.

### Interfejsy graficzne

Niektóre środowiska pulpitowe zawierają interfejsy graficzne z wbudowanym wsparciem dla fwupd:

- GNOME Software — Będzie okresowo sprawdzać dostępność aktualizacji i automatycznie pobierać oprogramowanie sprzętowe w tle w GNOME. Po pobraniu oprogramowania układowego w GNOME Software zostanie wyświetlone wyskakujące okienko, aby wykonać aktualizację.

  https://wiki.gnome.org/Apps/Software || gnome-software

- KDE Discover — Centrum oprogramowania używane z Plasma. Wraz z wydaniem KDE Plasma 5.14, nowy backend fwupd został zaimplementowany w KDE Discover dla aktualizacji firmware. Te aktualizacje oprogramowania sprzętowego są wyświetlane wraz z innymi aktualizacjami systemu.

  https://userbase.kde.org/Discover || discover

- GNOME Firmware — Aplikacja do aktualizacji, obniżania wersji i ponownej instalacji oprogramowania sprzętowego na urządzeniach obsługiwanych przez fwupd. Może odblokować zablokowane urządzenia fwupd, zweryfikować oprogramowanie układowe na obsługiwanych urządzeniach i wyświetlić wszystkie wersje dla urządzenia fwupd.

  https://gitlab.gnome.org/World/gnome-firmware || gnome-firmware

## Użycie

This article or section needs expansion.

Reason: Należy wyjaśnić znaczenie i sposób użycia pozostałych plików wykonywalnych oraz jednostek systemd z pakietu. (Discuss in Talk:Fwupd (Polski))

Ten pakiet dostarcza jednostkę `fwupd.service`, która będzie automatycznie uruchamiała demona fwupd, gdy otrzyma ona pierwsze zapytanie. [1]

Aby wyświetlić wszystkie urządzenia wykryte przez fwupd:

    $ fwupdmgr get-devices

Note: Wyświetlone urządzenia niekoniecznie mogą być zaktualizowane przez fwupd ('np.' Zintegrowana karta graficzna Intel). Można skorzystać z alternatywnych rozwiązań producenta.

Aby pobrać najnowsze metadata z LVFS:

    $ fwupdmgr refresh

Aby pokazać aktualizacje dostępne dla urządzeń w systemie:

    $ fwupdmgr get-updates

Aby zainstalować aktualizacje:

    $ fwupdmgr update

Note:

- Aktualizacje, które mogą zostać zaaplikowane na żywo, zostaną wykonane natychmiastowo.
- Aktualizacje, które muszą zostać wykonane przy starcie, zostaną zaplanowane na następne uruchomienie systemu.
- Użytkownik root może być wymagany do wykonania poszczególnych aktualizacji.

## Konfiguracja dla aktualizacji UEFI

Warning: Aktualizacja oprogramowania UEFI może unieważnić aktualną instalację programu rozruchowego. Ponowne utworzenie wpisu NVRAM (na przykład używając efibootmgr) może być konieczne po pomyślnej aktualizacji.

Następujące wymagania powinny być spełnione:

1. Upewnij się, że system został uruchomiony w trybie UEFI, ponieważ aktualizacja nie jest możliwa w starszym trybie bootowania.
2. Zweryfikuj czy dostęp do zmiennych EFI jest możliwy.
3. Zamontuj partycję systemową EFI (ESP). `esp` jest używane do określenia punktu montowania w tej sekcji.
4. Upewnij się, że opcjonalna zależność udisks2 jest zainstalowana oraz że powiązana z nią jednostka systemd zostanie uruchomiona przed jednostką fwupd; dostarczy ona wsparcie dla aktualizacji oprogramowania UEFI.

### Przygotuj ESP

fwupd skopiuje wszystkie potrzebne pliki do `esp`, ale żeby to zadziałało, potrzeba stworzyć prosty układ folderów na twoim `esp`; oznacza to stworzenie folderu `EFI` na twoim `esp`:

Note: Ze względu na twój program rozruchowy albo obecność innych systemów operacyjnych ten folder może już istnieć.

    # mkdir esp/EFI/

Warning: Nazwa folderu `EFI` musi być napisana wyłącznie dużymi literami. W razie użycia małych liter fwupd może wykryć punkt `esp` jako `esp/efi/` i zamiast tego szukać `esp/efi/EFI/`.

Zrestartuj jednostkę `fwupd.service`. Możesz teraz wykonać polecenia `fwupdmgr refresh` i `fwupdmgr update`. System poprosi Cię o ponowne uruchomienie (do aktualizatora oprogramowania).

Note: W niektórych urządzeniach (przykładowo Lenovo ThinkPad P50) aktualizator wyświetla czarny ekran bez żadnych wiadomości—nie panikuj, i nie przerywaj ani nie restartuj urządzenia. Po kilku sekundach, bądź minutach, zważając na aktualizację maszyna uruchomi się z powrotem do systemu operacyjnego.

### Bezpieczny rozruch

Currently, fwupd relies on shim to chainload the fwupd EFI binary on systems with Secure Boot enabled; for this to work, shim has to be installed correctly.

Aktualnie fwupd polega na shim aby załadować plik binarny EFI fwupd na systemach z włączonym Secure Boot. Aby to zadziałało, shim musi zostać poprawnie zainstalowany.

#### Używanie własnych kluczy

Alternatywnie można ręcznie podpisać plik wykonywalny UEFI używany do wykonywania aktualizacji, który znajduje się w `/usr/lib/fwupd/efi/fwupdx64.efi`. Podpisany plik wykonywalny UEFI jest oczekiwany w `/usr/lib/fwupd/efi/fwupdx64.efi.signed`. Używając sbsigntools, można to osiągnąć uruchamiając:

    # sbsign --key plik_z_kluczem --cert plik_z_certyfikatem /usr/lib/fwupd/efi/fwupdx64.efi

To automatically sign this file when installed or upgraded, a Pacman hook can be used:

Aby automatycznie podpisywać ten plik kiedy jest on instalowany albo aktualizowany, można użyć haków Pacmana:

    /etc/pacman.d/hooks/sign-fwupd-secureboot.hook

    [Trigger]
    Operation = Install
    Operation = Upgrade
    Type = Path
    Target = usr/lib/fwupd/efi/fwupdx64.efi

    [Action]
    When = PostTransaction
    Exec = /usr/bin/sbsign --key plik_z_kluczem --cert plik_z_certyfikatem /usr/lib/fwupd/efi/fwupdx64.efi
    Depends = sbsigntools

Miej pewność, aby podmienić `plik_z_kluczem` oraz `plik_z_certyfikatem` na odpowiadające im ścieżki do twoich kluczy.

Zamiast haka pacman można również utworzyć dowiązanie symboliczne z `/usr/lib/fwupd/efi/fwupdx64.efi` do `/usr/lib/fwupd/efi/fwupdx64.efi.signed` i dodać plik do listy `EXTRA_SIGN` w `/etc/sbupdate.conf`.

Na koniec należy ustawić `DisableShimForSecureBoot` w `/etc/fwupd/fwupd.conf` i zrestartować `fwupd.service`:

    /etc/fwupd/fwupd.conf

    ...

    [uefi_capsule]
    DisableShimForSecureBoot=true

Note:

- Jeżeli ta konfiguracja została wykonana przed wersją fwupd 1.9, wtedy ta opcja jest dostępna w `/etc/fwupd/uefi_capsule.conf`.
- Jeżeli ta konfiguracja została wykonana przed wersją fwupd 1.4, należy być świadomym o subtelnej zmianie w nazwie opcji konfiguracyjnej.

Zobacz https://github.com/fwupd/fwupd/issues/669 po więcej informacji.

## Rozwiązywanie problemów

### Utknięcie podczas ponownego uruchamiania

`fwupdmgr update` nie zgłasza żadnego błędu, ale ponowne uruchomienie powoduje zablokowanie a przytrzymanie przycisku zasilania nic nie daje. Spróbuj wyłączyć zasilanie lub naciśnij przycisk resetowania (na laptopie może to być otwór z tyłu), aby wymusić ponowne uruchomienie.

### Brak błędu, ale brak aktualizacji po ponownym uruchomieniu

Symptom: `fwupdmgr update` nie zgłasza błędu i wyświetla monit o ponowne uruchomienie (np. przy aktualizacji BIOS-u). Jednak system uruchamia się ponownie normalnie (lub zacina się), a aktualizacja oprogramowania sprzętowego NIE następuje.

Możliwa przyczyna: W ustawieniach BIOS zmiana kolejności rozruchu musi być dozwolona.

Możliwe inne rozwiązanie, jeśli w toku jest wiele aktualizacji: Spróbuj aktualizować pakiety pojedynczo. Aby wybrać pakiety, użyj poniższych poleceń:

    $ fwupdmgr update update_ID

(Gdzie `update_ID` to coś w stylu `f95c9218acd12697af946874bfe4239587209232`.)

### Błąd systemu plików tylko do odczytu

Przynajmniej `fwupdmgr` 1.5.2 dedukuje nieprawidłowy punkt montowania, jeśli bind jest używany do montowania partycji systemowej EFI do /boot. W rezultacie nie zapisuje pliku aktualizacji UEFI do `/boot/EFI/arch/fw` (`fwupdmgr`), podczas gdy powinien on zostać zapisany do `esp/EFI/arch/fw`). Skutkuje to (mylącym) komunikatem o błędzie `file system is read-only`. W przypadku, gdy aktualizacja została wykonana przez `Discover` (lub dowolny inny interfejs GUI aktualizacji obsługujący fwupd), może nie zostać wyświetlony żaden błąd lub mogą zostać wyświetlone mylące błędy.

Aby obejść ten problem, należy najpierw uruchomić `umount /boot`, jeśli wcześniej był on zamontowany do `esp/EFI/arch`, a następnie uruchomić `fwupdmgr update`, aby zapisać plik aktualizacji UEFI do `esp/EFI/arch/fw`, `mount /boot` i ponownie uruchomić system, aby wykonać aktualizację UEFI.

### Partycja UEFI ESP nie została wykryta lub skonfigurowana

Jeśli partycja ESP nadal nie zostanie wykryta po spełnieniu wszystkich wymagań #Konfiguracja dla aktualizacji UEFI, punkt montowania można określić ręcznie:

    /etc/fwupd/uefi_capsule.conf

    [uefi_capsule]
    OverrideESPMountPoint=/efi   # Zmień odpowiednio dla twojego systemu

Zobacz również powiązany artykuł na wiki fwupd.

### Nie można załadować wtyczki MSR

Wtyczka MSR umożliwia odpytywanie stanu DCI, interfejsu debugowania dostępnego dla procesorów Intel, który powinien być wyłączony na maszynach produkcyjnych zgodnie z dokumentacją fwupd.

Ta wtyczka wymaga załadowania modułu jądra `msr`. `msr` jest wbudowanym modułem jądra we wszystkich oficjalnych pakietach jądra Arch Linux, ale nieoficjalne pakiety jądra mogą mieć go jako ładowalny moduł jądra. W tym drugim przypadku musimy jawnie załadować moduł podczas uruchamiania.

### Failed to load daemon: failed to load engine: No ESP with path

Podczas uruchamiania fwupd sprawdza lokalizację esp jako `EspLocation` z `/etc/fwupd/daemon.conf`. Zmodyfikuj go do odpowiedniej konfiguracji, jeśli napotkasz ten błąd.

Category:

- Hardware (Polski)

Hidden category:

- Pages or sections flagged with Template:Expansion