W pewnych warunkach jądro Linuksa może zostać skażone . Na przykład ładowanie zastrzeżonego sterownika wideo do jądra powoduje skażenie jądra. Ten stan może być widoczny w dziennikach systemowych, komunikatach o błędach jądra (ups i panics) oraz za pomocą narzędzi takich jak lsmod
i pozostaje do momentu ponownego uruchomienia systemu.
Co to znaczy? Czy wpływa to na moją zdolność do korzystania z systemu i jak może wpłynąć na moje opcje pomocy technicznej?
lsmod
. Napisałem to pytanie i odpowiedź, aby uczynić je bardziej ogólnym, aby ktoś, kto zapyta „co oznacza„ skażenie ””, może je łatwo znaleźć.Odpowiedzi:
Kiedy jądro jest skażone, oznacza to, że jest w stanie, który nie jest obsługiwany przez społeczność . Większość programistów jądra zignoruje zgłoszenia błędów dotyczących skażonych jąder, a członkowie społeczności mogą poprosić o poprawienie stanu skażenia, zanim będą mogli przystąpić do diagnozowania problemów związanych z jądrem. Ponadto niektóre funkcje debugowania i wywołania interfejsu API mogą być wyłączone, gdy jądro jest skażone.
W większości przypadków z zastrzeżonymi sterownikami można bezpiecznie zignorować stan skażenia , ale niektóre scenariusze powodujące skażenie jądra mogą wskazywać na poważne problemy z systemem.
Ta funkcja ma na celu identyfikację warunków, które mogą utrudnić prawidłowe rozwiązanie problemu z jądrem. Na przykład ładowanie zastrzeżonego modułu może spowodować, że wyjście debugowania jądra będzie niewiarygodne, ponieważ programiści jądra nie mają dostępu do kodu źródłowego modułu i dlatego nie mogą ustalić, co moduł zrobił z jądrem. Podobnie, jeśli w jądrze wcześniej wystąpił błąd lub wystąpił poważny błąd sprzętowy, informacje debugowania wygenerowane przez jądro mogą nie być wiarygodne.
Jądro może zostać skażone z jednego z kilku powodów , w tym (między innymi):
Każdy z tych warunków jest reprezentowany przez konkretną flagę w jądrze. Niektórzy dostawcy Linuksa, na przykład SUSE, dodają dodatkowe flagi skażenia wskazujące warunki, takie jak ładowanie modułu, który nie jest obsługiwany przez dostawcę.
Więcej informacji jest dostępnych w dokumentacji jądra . Są tam wymienione flagi skażenia (z _ stand-in dla „pustych”)
rmmod -f
, w przeciwnym razie, jeśli wszystkie moduły zostały normalnie rozładowane.źródło