Instalacja nagówków jądra

Cześć nie mogę wyrównać nagłówów jądra. Wczesniej wykonywałem to za pomocą polecenia sudo pacman -S linux-headers i dotej pory nie było żadnych problemów, aż do momentu przejścia na jądrą 5.18.

o to wyniki wykonania polecenia

[maciek@maciek-r580r590 ~]$ unzme -a
bash: unzme: nie znaleziono polecenia
[maciek@maciek-r580r590 ~]$ uname -a
Linux maciek-r580r590 5.18.10-1-MANJARO #1 SMP PREEMPT_DYNAMIC Thu Jul 7 16:55:16 UTC 2022 x86_64 GNU/Linux
[maciek@maciek-r580r590 ~]$ pacman -Q | grep headers
linux-api-headers 5.17.5-2
vulkan-headers 1:1.3.217-1
[maciek@maciek-r580r590 ~]$ sudo pacman -S linux-headers

Ufamy, że lokalny administrator udzielił odpowiedniego szkolenia.
Zwykle sprowadza się ono do tych trzech rzeczy:

    1) należy respektować prywatność innych,
    2) należy myśleć przed pisaniem,
    3) z dużą władzą wiąże się duża odpowiedzialność.

[sudo] hasło użytkownika maciek: 
:: Dostępnych jest 9 dostawców dla linux-headers
:: Repozytorium core
   1) linux419-headers  2) linux510-headers  3) linux515-headers
   4) linux517-headers  5) linux518-headers  6) linux519-headers
   7) linux54-headers
:: Repozytorium community
   8) linux515-rt-headers  9) linux518-rt-headers

Podaj numer (domyślnie=1): 5
rozwiązywanie zależności…
szukanie sprzecznych pakietów...

Pakiety (2) pahole-1.23-1  linux518-headers-5.18.10-1

Do pobrania:         32,41 MiB
Do zainstalowania:  137,22 MiB

:: Kontynuować instalację? [T/n] t
:: Pobieranie pakietów…
 linux518-headers...    32,1 MiB   962 KiB/s 00:34 [######################] 100%
 pahole-1.23-1-x86_64  288,7 KiB   535 KiB/s 00:01 [######################] 100%
 Total (2/2)            32,4 MiB   939 KiB/s 00:35 [######################] 100%
(2/2) sprawdzanie kluczy w bazie                   [######################] 100%
(2/2) sprawdzanie spójności pakietów               [######################] 100%
(2/2) wczytywanie listy plików                     [######################] 100%
(2/2) sprawdzanie konfliktów plików                [######################] 100%
(2/2) sprawdzanie dostępnego miejsca na dysku      [######################] 100%
:: Przetwarzanie zmian pakietu... 
(1/2) instalowanie pahole                          [######################] 100%
(2/2) instalowanie linux518-headers                [######################] 100%
:: Uruchamianie po-transakcji...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating module dependencies...
[maciek@maciek-r580r590 ~]$ pacman -Q | grep headers
linux-api-headers 5.17.5-2
linux518-headers 5.18.10-1
vulkan-headers 1:1.3.217-1
[maciek@maciek-r580r590 ~]$ 

Ale o co chodzi?
Przecież nagłówki do kernela zainstalowały się poprawnie.
linux-api-headers to co innego.

właśnie linux-api-headers nie chcą mi się zaktualizować do wersji 5.18 co uniemożliwia mi instalację z patch-owanych sterowników nvidia 340.108

A skąd bierzesz te patche?
Z tego co wiem do kompilacji modułów jądra są potrzebne normalne nagłówki (linux-headers) a nie linux-api-headers.

Wątpię, żeby to było problemem, bo linux-api-headers nie jest potrzebny do zbudowania tych sterowników. Poza tym gdyby tu był jakiś problem to w AUR pojawiłyby się odpowiednie komentarze i łatki (tu i tu) a z tego co widzę ludzie nie zgłaszają żadnych problemów.

Co do instalacji tych sterowników posiłkuj się tym poradnikiem:

jakieś znaczenie widocznie musi mnieć przy instalacji. bo gdy nagłówki tych dwóch plików są różne

linux-api-headers 5.17.5-2
vulkan-headers 1:1.3.217-1

sterowniki nie chcą sie zainstalować i wyskakuje błąd

taki sam problem miałem na kernelu 5.17
ale gdy wykonałem wyrównanie nagłówków jądra zgodnie z tym tutorialem problem z instalacją sterowników zniknął.

wykonuje je sam zgodnie z wczesniej przedstawionym na forum wątku

To nie ma znaczenia, zresztą w podanym przez ciebie linku wprost o tym piszą:

To clear up any upcoming confusion, let us preface by saying that Arch Linux, the ancestor of Manjaro, uses two separate but similarly named header packages. One is linux-api-headers which is sanitized for use in userspace. This package is utilized when the user tries to compile their own libraries, like glibc for example.

What you need to know is that this API package has nothing to do with the Linux kernel headers themselves. The two are independent of each other and may very well be at different versions. In this guide, we’re working with kernel headers, and not the API headers.

W takim razie mam głupie pytanie: uwzględniłeś wszędzie tam, gdzie to konieczne, że teraz budujesz je dla kernela 5.18, a nie dla 5.17?

1 polubienie

używając tej metody do wykonywania patch-a sterowników za każdym razem wykonuje się dla najnowszego jądra jakie jest w danej chwili wypuszczone.

https://www.if-not-true-then-false.com/2020/inttf-nvidia-patcher/

nie wiem jak za pomocą programu patcher wykonać sterowników znów dla kernela 5.17. Mój błąd jest w tym, że przy awarii systemu straciłem również sterownik z krenelem 5.17.

Ok, to jeszcze jedno pytanie. Po instalacji linux518-headers zrestartowałeś komputer? Bez tego headersy nie będą działać.

Co do tego to podejrzewam, że wystarczy po prostu uruchomić system z tego kernela.

tak zrestartowałem. Po restarcie za pomocą Ctrl-Alt-F2 wszedłem w tryb tekstowy i po zalogowaniu się jako root wydałem polecenie

systemctl isolate multi-user

po czym przystąpiłem do instalacji wykoanych sterowników

Właśnie nie dokońca tak jest. Raz zapominałem zaktualizować kernel do najnowszego i będą na kernelu 5.15 wykonał mi patcher sterowniki dla kernela 5.17.

Hmm, to w takim razie trzeba by usunąć 5.18 i spróbować jeszcze raz. Choć jeśli już to moim zdaniem lepiej by było się cofnąć do 5.15 jako że jest LTS, a 5.17 w ciągu 2-3 aktualizacji najpewniej zniknie z repozytoriów.

Warto też w końcu przestać się upierać, że wersja pakietu linux-api-headers ma tutaj jakiekolwiek znaczenie - bo nie ma żadnego.

Co zresztą jest wyjaśnione w linkowanym tutaj artykule :wink: