Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Trochę o Kernelach dla początkujących, wirtualizacja i tak dalej...

Zaczęty przez piimaa, Październik 30, 2020, 10:59:44 AM

Poprzedni wątek - Następny wątek

piimaa

Nie wiem gdzie wstawić temat. Muszę przyznać się do czegoś, czego nie bardzo rozumiem i chciałabym porozmawiać z kimś, kto naprawdę to ogarnia.
Od miesięcy mam problemy np. z virtualboxem, wine i innym softem. Chodzi mi o bezsensowną zabawę kernelami.
Nie rozumiem tego, czym jest kernel, co w sobie ma, po co to jest i dlaczego jest ich taka spora liczba.
Niby wersja nowsza nadpisuje starszą i uwzględnia w sobie wszystko to, co było w starszych wersjach. Mylę się?

A może jest tak że KTOŚ pisze oprogramowanie na kernelu np. 5.6 i nie wydaje aktualizacji i to oprogramowanie nie działa prawidłowo na kernelu 5.8 i 5.9?
Jak to w końcu z tym jest, gdzie ta wsteczna kompatybilność z poprzednimi wydaniami, jest w ogóle?
Pytam szczerze bo gdyby tak faktycznie było, istniałaby tylko najnowsza wersja jądra, prawda?

Mam odwieczne problemy z Virtualboxem i uruchamianiem na nim róznych systemów operacyjnych.
Przykłąd ze wczoraj:
Manjaro + jądro 5.9.1-1 posypało cały system! Nic nie działało! Nawet xfce ikon i paneli nie wyświetlał.
Po naprawie i powrocie do 5.8.16-2 wszystko wróciło do normy ale próba odpalenia VirtualBox (instalacji jakiegokolwiek systemu) kończyła się niczym.
Brak zainstalowanego jądra ble,ble,ble.
Więc doinstalowano 5.6 i nadal to samo!
Doinstalowano 5.4 i bez zmian.

Nie rozumiem, do wirtualizacji takich systemów jak Windows7 x64, Windows8 x64 czy Windows 10x64 potrzebne są jakieś inne kernele?
To samo działo się na kernelu 4.9 gdy odziwo działała wirtualizacja Win7 x64 to już o XPx64 można było śnić.

Ile wersji jąder mam mieć w końcu zainstalowane, aby nie mieć problemów z wirtualizacją takich systemów jak:

32bit:
Win2000 x86
WinXP x86

64bit:
WinXP x64
Win7
Win8
Win10

?

Zauważyłam też, że poprawnie działa wszystko gdy:
- zainstaluję starego Manjaro jeszcze z jądrem 4.1.9
i wtedy ... doinstalowuję wszystko tak jak w czasie realnym miało to miejsce, 4.4, 4.9, 5.3, 5.4, 5.6, 5.8 i 5.9.
Wszystkie jądra w pierwszej kolejności a potem aktualizacja systemu tak aby w efekcie końcowym z Manjaro 14.0.1 wyszło 20.2.1

To wszystko bez sensu jest!




pavbaranov

Kernel to jądro systemu. Ma to każdy OS. Bez niego po prostu system nie zadziała, albowiem nie istnieje porozumienie między softem, a hardware'm (to tak w skrócie). Co w nim jest? Mnóstwo rzeczy, które są odpowiedzialne za taką komunikację, w tym również np. sterowniki (do wszystkiego, co nie oznacza, że do konkretnego hardware'u muszą być; chodzi o "kategorie").

Kernele są utrzymywane zasadniczo w dwu liniach: "stabilnej", czyli tej najbardziej aktualnej, o najwyższym numerku, oraz LTS (te o przedłużonym wsparciu). Aktualną listę masz na https://www.kernel.org/
Każdy kernel z tej listy otrzymuje wsparcie, a to oznacza, że osoby odpowiedzialne za rozwój kernela dostarczą nowych wersji danej linii, gdy zajdzie taka potrzeba. Kernele, które są EOL nie uzyskują tego w ten sposób. W niektórych dystrybucjach (Debian, Ubuntu), takie stare kernele z zakończonym wsparciem nadal są łatane, głównie o łatki bezpieczeństwa.
Zasadniczo pierwsza cyfra w numeracji kernela ma obecnie niewielkie znaczenie. Jest nadawana arbitralnie. Druga oznacza wydanie, a trzecia wydanie poprawkowe.
Każde wydanie poprawkowe (trzecia cyfra) zawiera to co było w poprzednim + poprawki (różnego typu: usuwające dostrzeżone błędy, naprawiające luki bezpieczeństwa itp.; bardzo rzadko są to łatki, które dostarczają jakiejkolwiek nowej funkcjonalności, np. dodają nowe sterowniki). Druga cyfra (wydanie) zawiera to co było w poprzednim + łatki bezpieczeństwa, ale też przynosi nowe funkcjonalności (nowe sterowniki), poprawia dotychczasowe itd. Pierwsza - jak powiedziałem - arbitralna, ale zawsze wersja X zawiera to co było w ostatnim wydaniu X-1, a nadto jw. poprawki, nowe funkcjonalności. Rzadko coś wypada (jakaś obsługa sprzętu).

Masz system, który wprowadza w to wszystko rozgardiasz, albowiem mnogość kerneli ma dobre i złe strony. Jak widać u Ciebie, jesteś tym kompletnie zagubiona. Niestety rozwiązanie Manjaro - wg mojej opinii - jest jednym z najgorszych, jakie mogło zostać przyjęte. W Archu (ograniczam do niego, bo Manjaro na nim oparte) masz zawsze:
- kernel "podstawowy" - najbardziej zbliżony do tego z upstreamu, który praktycznie nie zawiera żadnych łatek
- kernel "zen" - alternatywnie rozwijany kernel w oparciu o upstreamowy, ale zawierający modyfikacje mające na celu zapewnienie sprawniejszego działania na tzw. desktopie
- kernel lts - kernel o przedłużonym wsparciu
- kernel hardened - o zwiększonym poziomie bezpieczeństwa, głównie pomyślany jako kernel serwerowy.
Każdy z tych kerneli jest zawsze w możliwie najnowszej wersji, czyli obecnie dwa pierwsze z nich będą w odpowiedniej wersji poprawkowej linii 5.9, czwarty zwykle również (choć na "przełomie" X.Y.Z, X.Y-1.Z może to niekiedy być jeszcze starsza wersja, bowiem nie będzie jeszcze odpowiednich patchy hardened. LTS jest zawsze w wersji ostatniego ("najwyższego") kernela o takim wsparciu (co nie oznacza, że o najdłuższym) - obecnie jest to linia 5.4.

Jeśli chodzi o "nadpisywanie" nowej wersji nad starą, to różnie to jest realizowane w różnych dystrybucjach. W niektórych nowa wersja kernela pojawia się obok starszego wydania, w niektórych w istocie będzie zawsze nowsza wersja instalowała się w miejsce starej. Stąd np. w Archu mając zainstalowaną paczkę linux zawsze będę miał aktualną wersję kernela, ale np. w Manjaro mając zainstalowaną określoną wersję kernela będę miał aktualizowaną tę wersję (do czasu wspierania jej w Manjaro i niestety nie wiem co obecnie tam się dzieje, gdy kernel już wylatuje z repo) i to nawet jeśli pojawi się nowsza wersja z innej, nowszej linii.

Wirtualizacja to kompletnie inna sprawa i to jest problem, z którego powinnaś stworzyć odrębny wątek. Krótko jednak. VB działa mniej więcej jak sterownik (to by uprościć rozumowanie). Oznacza to, że dla danego kernela musi zostać zbudowany odpowiedni moduł VB. Jeśli masz obecnie np. kernel 5.9.2, to jeśli VB był zbudowany dla linii 5.8.x nie ma on prawa zadziałać. Dlatego też zwykle oferowane są paczki VB w "wersji" dkms, co powoduje, że po instalacji nowej wersji kernela odpowiednie moduły VB są przebudowywane automatycznie. Niestety niekiedy VB pozostanie "w tyle" za nową wersją kernela i nie będzie z nią działać (nie będzie z tą wersją kompatybilny).
Niestety nie wiem jak to jest organizowane w Manjaro przy tylu kernelach ile tam jest. Musisz sięgnąć do dokumentacji Manjaro lub postawić problem najlepiej na forum.manjaro.pl lub oficjalnym forum.manjaro.org odnośnie tego nieprawidłowego działania VB u Ciebie (tu wprawdzie są użytkownicy Manjaro, ale tam ich na pewno więcej, a na oficjalnym są też opiekunowie tej dystrybucji).

Dla całej reszty polecam lekturę: https://wiki.archlinux.org/index.php/VirtualBox

microsofter

Cytat: piimaa w Październik 30, 2020, 10:59:44 AM
Niby wersja nowsza nadpisuje starszą i uwzględnia w sobie wszystko to, co było w starszych wersjach.
Nie jest tak. Bywa, że jakaś przestarzała funkcjonalność jest usuwana. Oraz, jak napisał przedmówca, także obsługa starego sprzętu może być usunięta. Czasami też zajdzie zmiana, przez którą jakiś moduł przestaje działać (chyba najsłynniejszy przypadek to gdy Linux 5.0 rozwalił ZFS on Linux).
były: MS Windows, Sun Solaris, Oracle Solaris; jest: OpenSolaris + m0n0wall + Solaris powered NAS

piimaa

Zadam odważne pytanie: jaki kernel posiada wbudowany np. windows 8.1 że po tylu latach działa tam bez problemu każdy Virtual Box i nigdy nie ma problemów z instalacją jakiegokolwiek systemu? Windows8.1 zbyt nowy jeszcze, zatem to samo pytanie dotyczy starego Windows7 na którym stoi najnowszy Virtual Box. Dlaczego nie ma problemów z uruchamianiem wirtualnego Windows10 w najnowszej wersji czy też czegokolwiek innego jak Arch, Gentoo, Debian czy Fedora? I wszystko naj naj naj nowsze z tego roku.
Tego nie rozumiem, dlaczego tam na starociach działa wszystko a tu na najnowszym systemie już jet masa problemów.
Czy na Archu (czystym, bez ZEN i innych) są identyczne problemy?

pavbaranov

Żaden kernel linuksa nie posiada wbudowanego dowolnego Windowsa (jeśli dobrze zrozumiałem). Jeśli w odwrotną stronę - pytaj na Windows, ale tu jest prościej. Zresztą, jeśli nie miałabyś Manjaro byłoby też prościej :)
Nic mi nie wiadomo o problemach z VB na Archu, choć pewnie się zdarzają. W każdym bądź razie - VB jest dostosowane do tych kerneli, które tu są. Przynajmniej w oficjalnym repo. AUR to odrębna para kaloszy. Podobnie jak tzw. nieoficjalne repozytoria.

mirek78786

Piimaa olej Manjaro i zainstaluj sobie czystego Archa z xfc czy tam czyś co wolisz, problemy skończą się. Manjaro tylko w tym roku miał aż trzy aktualizacje po których rozsyspał się na amen. Ten system jest niebezpieczny bo dziś go masz, dbasz a jutro po aktualizacji wszystko kwiczy.

microsofter

Piimaa, Win 8.1 ma kernel NT 6.3. Ale numerek nie ma znaczenia, Windows to kompletnie inny świat. Tu jest duży nacisk na kompatybilność wsteczną. Jeśli np. twórcy VirualBoxa napiszą go pod Vistę, powinien działał w każdym nowszym systemie, od 7 do 10. Bo tak jest robiony Windows - obecne programy mają działać w kolejnych wydaniach systemu.

W Unixie jest trochę inaczej. Tutaj każda aplikacja kompilowana jest pod konkretną wersję systemu. Unix przez długi czas był używany przez programistów, lub programista czuwał nad jego pracą i ogarniał temat. Znajź VBoxa skompilowanego dla tej wersji, co używasz, a powinien działać.
były: MS Windows, Sun Solaris, Oracle Solaris; jest: OpenSolaris + m0n0wall + Solaris powered NAS

rzax666

windowsy maja "w kernelu" linuxa wlasnie z powodow wizualizacji...

Zobacz najnowsze wiadomości na forum