Skocz do zawartości

Opasłe Jądro Systemu


kenczan

Rekomendowane odpowiedzi

Ostatnio odwiedził mnie znajomy korzystający z gentoo i jego uwagę przykuł czas startu udev'a (przy uruchamianiu systemu - udev jest odpowiedzialny za ładowanie modułów jądra - może się mylę ?). Postanowił zbadać jakie moduły mam wkompilowane w kernel'a. Co tu dużo mówić oto lista modułów do obsługi framebuffer'a gdzie powinno być góra parę modułów:

Enable Video Mode Handling Helpers
Enable Title Blitting Support
Cirrus Logic Support
VGA 16-color graphics support
VESA VGA graphics support
EFI-based Framebuffer Support
nVidia Framebuffer Support
Support for backlight control
nVidia Riva Support 
Matrox Acceleration
Millenium I/II support
G100/G200/G400/G450/G550 support
Matrox I2C support
Multihead support
G400 second head support
ATI Radeon display support 
DDC/I2C for ATI Radeon support
Support for backlight control
Lots of debug output from Radeon driver
ATI Rage128 display support 
Support for backlight control
Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
Mach64 generic LCD support
Support for backlight
S3 Trio/Virge 
S3 Savage support 
Via UniChrome (Pro) and Chrome9 display support
3Dfx Banshee/Voodoo3/Voodoo5 display support
Silicon Motion SM501 framebuffor support
Virtual Framebuffer support
Xen virtual machine framebuffer support
E-Ink metronome/8track controller support
Fujitsu MB862xx GDC support

 

Nie wiem może się mylę i do życia niezbędny jest mi moduł do obsługi Voodoo albo S3 tudzież Radeon'a ? Czy warto jest się zabierać za kompilację kernela dla fedory ? Jeżeli tak to czy jest Wam drodzy forumowicze znany jakiś poradnik (?), bo cóż o ile samą ideę i kroki do osiągnięcia celu znam i nie są zbyt trudne... to nazwy tych wszystkich modułów są dla mnie dość obce. Pewnie wiele się nie mylę jeżeli wydaje mi się, że jeżeli źle je dobiorę to w najlepszym wypadku nie będzie mi coś działać...

Z góry dziękuję za pomoc

Pozdrawiam

KenczaN

Odnośnik do komentarza
Udostępnij na innych stronach

Testowałem system z jądrem standardowym i kompilowanym oraz testowałem kilka opcji w opcjach jądra. Testy pamięci i procesora wykazały że większych różnic na Fedorze 10 nie było. System ze kompilowanym jądrem natomiast szybciej się uruchamia.

 

A jak konfigurować? Trzeba wiedzieć co się ma pod maską i co może mieć, inaczej nie ma sensu się zabierać. Pyzatym warto umieć angielski i poczytać dokumentację jądra, ja już trochę nad tym posiedziałem. Moje pierwsze kompilacje kończyły się porażką (nie totalną, ale jednak), bo albo dźwięk nie działała, albo coś pogrzebałem w ustawieniach dysku czy w czujnikach temperatury itp. Teraz jest ok.

 

 

Jeśli cie ciekawi jak wygląda mój config to kliknij TUTAJ

Sprzęt: płyta główna Epox (chipy nVidia), AMD Athlon XP (1 rdzeń, 32 bity), DDR1 RAM, GeForce 440MX, Ensoniq AudioPCI 128, dysk ATA Segate, nagrywarka DVD LiteOn, USB 2.0, bez Ethernetu, połączenie z modemu USB, monitor CRT

Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo dziękuję za szybką odpowiedź. Twój config na pewno się nie zmarnuję :) Za kompilację jądra chwilowo brał się nie będę, bo cóż semestr się kończy i w związku z powyższym mam i tak dużo pracy. Mimo wszystko kiedy już będzie PO wszystkim na pewno pochylę się nad tematem kompilacji kernela, chwilowo zajmując się lektórą i zdobywaniem wiedzy na temat z którym chcę się zmierzyć. Nie chcę się za to brać na prędce, bo wtedy skończy się to pewno klapą. Ciekawy dla mnie jest natomiast fakt, że rozmiar jądra i ilość modułów nie wpływają na wydajność, a jedynie na szybkość z jaką uruchamia się system operacyjny, a na czym aż tak bardzo mi nie zależy (przynajmniej jeżęli idzie o komputer stacjonarny - biorąc pod uwagę fakt, że nie mam w zwyczaju go wyłączać co implikuje rzadszą konieczność jego uruchamiania).

Jeszcze raz dziękuję i pozdrawiam

 

BTW : Czy na fedorze trzeba robić coś "specjalnego" przy kompilowaniu kernel'a czy wszystko idzie nazwijmy to standardowo (tj. make menuconfig, wybór modułów, zapis ustawień, kompilacja, instalacja rmp -ivh <kernel>, konfiguracja gruba, modliwa o powstanie systemu) ?

 

EDIT: Czy fedora podczas instalacji konfiguruje jądro w jakikolwiek sposób czy każdemu instaluje się standardowy zestaw modułów jądra ?

Odnośnik do komentarza
Udostępnij na innych stronach

Też z ciekawości kompilowałem kiedyś własne kernele (przeglądając wszystkie opcje :) ). Nie od dziś wiadomo, że na współczesnych komputerach kompilowanie własnego jądra po to tylko, żeby przyspieszyć działanie nie ma najmniejszego sensu. Udev z pomiarem czas uruchamiał się o 1 sek szybciej niż na standardowym na standardowym (1,4-1,7s). Poza tym jądro fedory nie jest standardowym, tzn. wprowadzone do niego jest kilkaset zmian na potrzeby tylko fedory. Jeśli chodzi o kompilowanie kernela pod fedorą to jest specjalny sposób wykorzystujący pakiety źródłowe (łatwo znaleźć na google), chociaż można do pewnego momentu kompilować też standardowym sposobem. Warto jest skompilować kernel dla samej wiedzy, bo nie ma co oczekiwać niesamowitej poprawy wydajności.

Odnośnik do komentarza
Udostępnij na innych stronach

Dokładnie. W teorii moduł załączany jest wtedy, kiedy jest potrzebny, więc jak nie jest potrzebny, to zwyczajnie leży odłogiem, więc nie przeszkadza. Gdy jeszcze używałem Debiana, to każde jajko miałem u siebie własnoręcznie kompilowane, ale tak w zasadzie na co mi to było, to nie wiem - chyba, dla lepszego samopoczucia (i by być szybciej z nowym jajkiem w systemie niż to w repo). Bo jak powiedzieli przedmówcy - wpływu to już żadnego nie ma. A jeśli chcesz kompilować, to tak:

 

- dobrze jest mieć minimum dwurdzeniowy procesor i załączyć kompilację na wszystkie rdzenie jednocześnie. Domyślnie samo polecenie make korzysta tylko z jednego rdzenia.

- kompilacja może sobie potrwać, jeśli nie odłączysz sobie paru rzeczy. Ja z maksymalnie dla mnie odchudzonym configiem kompilowałem 15-20 minut w 100% obu rdzeni + parę minut na zrobienie paczek. Nawet nie pamiętam już nawet, jak to się robiło :) No i oczyść sobie komputer w środku. Mnie tak zagrzewał się przy kompilacji na obu rdzeniach, że się aż resetował (oczywiście później go przeczyściłem, szczególnie radiator na procesorze, dzięki czemu temperatura już na starcie spadła o jakieś ~15st.)

 

No, ale że kolega Gentoowiec, gdzie kompilacja to podstawa, to dla niego takie Fedorowe jajko może być opasłe ;)

 

EDIT:

 

Aaaa...no tak - jest taka zabawka jak KernelCheck, która graficznie przeprowadza przez kompilację. Nie wiem jednak, czy jest dostosowana do RPM-owców (wiem, że używają tego na systemach Debian-Based).

Odnośnik do komentarza
Udostępnij na innych stronach

Ostatnio odwiedził mnie znajomy korzystający z gentoo i jego uwagę przykuł czas startu udev'a (przy uruchamianiu systemu - udev jest odpowiedzialny za ładowanie modułów jądra - może się mylę ?).

Niestety, mylisz się. Udev nie zajmuje się wczytywaniem modułów, zaś one same nie mają żadnego wpływu na szybkość działania czy uruchamiania systemu. No, może minimalnie. Jeśli ktoś twierdzi, że zauważył różnicę - to był efekt placebo. Cała zabawa z modułami polega na tym, że nie siedzą one cały czas w pamięci, tylko są wczytywane w razie potrzeby. Polecenie lsmod wyświetla aktualnie używane moduły i jak zauważysz, nie jest ich tak znowu dużo.

 

Jądro jest sens kompilować jedynie for fun, albo żeby się czegoś nauczyć. Nawet wtedy jednak polecane jest korzystanie z właściwych rozwiązań, zamiast mieszać z czystymi źródłami i make.

 

https://fedoraproject.org/wiki/Building_a_custom_kernel

Odnośnik do komentarza
Udostępnij na innych stronach

...uruchamiania systemu. No, może minimalnie. Jeśli ktoś twierdzi, że zauważył różnicę - to był efekt placebo.
Na uruchamianie ma, bo jak napisałem wcześniej można założyć licznik na udev. U mnie była to oszczędność rzędu 1 sek. Na działanie faktycznie nie ma.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Widzę, że zaproponowany przeze mnie temat zyskuje uwagę - to dobrze dużo się nauczę zwłaszcza, że po przeczytaniu w/w postów poza "Aha..." mogę powiedzieć tylko tyle, że po sesji na pewno tego spróbuję i przyda się i config od ra-v 'a i link od Raven'a, który niemalże "za rączkę" prowadzi przez cały proces. Spytam jeszcze tylko czy potrzebny jest backup i czego (w razie potrzeby), żeby w razie niepowodzenia bez większego bólu postawić system z powrotem na nogi ?

Dziękuję za dotychczasowe odpowiedzi

Kenczan

Odnośnik do komentarza
Udostępnij na innych stronach

BTW : Czy na fedorze trzeba robić coś "specjalnego" przy kompilowaniu kernel'a czy wszystko idzie nazwijmy to standardowo (tj. make menuconfig, wybór modułów, zapis ustawień, kompilacja, instalacja rmp -ivh <kernel>, konfiguracja gruba, modliwa o powstanie systemu) ?

ja robiłem tak:

1. ściągam jądro z kernel.org

2. w katalogu ze źródłem

make xconfig 
make
make modules_install
make install

Sprawdź jeszcze czy w " /proc/config.gz" nie masz czasami configu aktualnie uruchomionego jądra.

 

 

EDIT: Czy fedora podczas instalacji konfiguruje jądro w jakikolwiek sposób czy każdemu instaluje się standardowy zestaw modułów jądra ?

W menu gruba automatycznie tworzą się nowe pozycje lub je aktualizuje jeśli to jest kolejna kompilacja tego samego jądra.

 

PS. Testowane na FC10 (2.6.30.9 i wcześniejszych).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...