![]() |
|
|||||||
| Regulamin | Czytelnia | Gry | Słowa kluczowe | Zapomniałeś hasła? |
| Zarejestruj się | FAQ | Lista użytkowników | Grupy Społecznościowe | Kalendarz | Szukaj | Dzisiejsze posty | Zaznacz Wszystkie Fora jako Przeczytane |
![]() |
|
|
Narzędzia wątku | Przeszukaj ten temat | Wygląd |
|
|
#1 |
![]() Płeć:
![]()
Postów: 696
System: Inny OS
Architektura: x86
Środowisko: XFCE
|
[HOW-TO] Kernel, konfiguracja+kompilacja+instalacja
Instalacja jądra Linux Wstęp Jak sam tytuł wskazuje, artykuł ten dotyczy instalacji jądra Linux i przeznaczony jest dla osób pragnących samodzielnie wykonać tą czynność. Poradnik dedykowany jest zarówno dla zaawansowanych użytkowników czytających go ze względu na problemy napotkane w przeszłości podczas samodzielnej kompilacji jak i dla użytkowników początkujących mających potrzebę wykonania tej operacji lub pragnących poszerzyć zakres własnej wiedzy. Zawiera on wymienione w odpowiedniej kolejności czynności, które należy wykonać w celu pomyślnego zakończenia omawianego procesu oraz opis poszczególnych zagadnień i ról pełnionych przez dane polecenie. Artykuł został napisany w sposób łączący teorię wraz z wypunktowaniem czynności w jedność. Mam nadzieję, że pisząc go w ten sposób sprawię, że proces kompilacji wśród wielu użytkowników nie będzie polegał na bezmyślnym kopiowaniu poleceń, lecz stanie się czynnością zrozumiałą zarówno w jej początkowym stadium polegającym na dostosowaniu jądra do sprzętu jak i w końcowym, czyli tworzeniu pakietów instalacyjnych. Pisząc o dostosowaniu jądra do sprzętu, na myśli mam wybór odpowiednich usług przez nie oferowanych, część z nich jest niezbędna do prawidłowego funkcjonowania systemu natomiast inne mogą być zbędne dla naszej konfiguracji sprzętowej. Jądro systemu udostępnione jest w dwóch formach, binarnej oraz źródłowej. Wybór formatu zależy tylko od tego czy spełnia on nasze kryteria. Nie ważne od wybranego przez nas formatu paczki, otrzymamy ten sam kernel (w niektórych binarnych postaciach częściowo zmodyfikowany przez autora pakietu), różniący się jedynie sposobem udostępniania. Pakiety binarne zawierają jądro skompilowane i przeznaczone do bezpośredniej instalacji. W przypadku Ubuntu, autorem kompilacji jest Canonical. Instalując jądro z użyciem pakietu binarnego, nie mamy możliwości dostosowania go do swojego sprzętu, czyli deaktywacji zbędnych modułów i zastąpienia ich wybranymi przez nas, ponieważ czynność ta została wykonana przez autora kompilacji. Nie oznacza to jednak, że poszczególnych modułów nie możemy wyłączyć po zainstalowaniu jądra. Dotyczy to jednak pojedynczych elementów i uniemożliwia pełne dostosowanie do sprzętu. Korzystając z binarek, otrzymujemy wygodny i bezproblemowy sposób instalacji nowego jądra, lecz bez możliwości selekcji modułów. Pakiety źródłowe stanowią natomiast przeciwieństwo binarnych. Pochodzą one bezpośrednio od developerów jądra w postaci źródłowej, czyli nieskompilowanej zapewniając w ten sposób możliwość dostosowania go do naszego sprzętu oraz pełnej kontroli nad używanymi modułami. W artykule będę stosował słowo Linux jako miano jądra systemu. Przyczyną tego nie jest jedynie oszczędność znaków (Linux jest krótsze niż jądro systemu Linux), lecz fakt, że Linux systemem operacyjnym nie jest, lecz stanowi jedynie jądro systemowe. Ten artykuł poświęcony jest jednak innemu tematowi, tak więc zainteresowanych odsyłam do wikipedii, gdzie wyjaśniona jest różnica między pojęciami Linux, a GNU/Linux. Nie ponoszę odpowiedzialności za ewentualne szkody powstałe w wyniku przeprowadzenia omawianego procesu. Czynności tu przedstawione wykonane zostały na kilku PC o odmiennej konfiguracji sprzętowej, tak więc w przypadku niepowodzenia użytkownik może mieć pretensję sam do siebie, ponieważ czynności są przetestowane oraz omówione krok po kroku. Poniżej zamieszczam linki do pobrania jądra. Źródła: ![]() Binaria: ![]() Teoria Jak we wstępie wspomniałem, pragnę by operacja samodzielnej kompilacji jądra była zrozumiała dla początkujących użytkowników. Stworzyłem więc sekcję poświęconą krótkiemu omówieniu zagadnień. W celu zrozumienia idei kompilacji jądra oraz czynności jej towarzyszących należy omówić czym jest jądro systemu oraz jaką pełni rolę. Stanowi ono program odpowiadający za komunikację między systemem operacyjnym, a sprzętem komputerowym. Do komunikacji niezbędne są sterowniki, a jądro stanowi ich bazę. Można więc stwierdzić, że jądro stanowi najważniejszy element systemu. Za komunikację nie odpowiada jednak jedynie jądro. To także zadanie graficznego systemu okienkowego, popularnie zwanego serwerem X (Xorg) zajmującego się obsługą urządzeń wejścia, między innymi klawiatury i myszy. Jak wcześniej wspomniałem jądro stanowi bazę sterowników, lecz coraz częściej sterowniki umieszczane są w postaci modułów. Oznacza to, że nie znajdują się bezpośrednio w jądrze i wymagają osobnej kompilacji. Stanowi to zaletę, ponieważ dany moduł możemy załadować jedynie w zaistniałej potrzebie, a następnie usunąć z uruchomionego jądra przykładowo za pomocą rmmod-a. Przykładem takiego modułu może być otwarty sterownik "nouveau" do kart nVidii. Niektóre sterowniki, przykłado od HDD potrzebne są przed załadowaniem ich przez system co uniemożliwia modularną budowę, lecz zmusza do umieszczenia ich bezpośrednio w kodzie jądra. Linux z użyciem pakietu źródłowego może zostać zainstalowany na dwa sposoby. Pierwszym z nich jest skompilowanie jądra wraz z modułami oraz wygenerowanie obrazu initrd używanego przez program rozruchowy do uruchomienia systemu. Drugi natomiast polega na stworzeniu pakietów instalacyjnych, które będą następnie zainstalowane w systemie. Osobiście preferuję sposób drugi i zamieszczę go w tym poradniku. W przypadku rezygnacji z aktualnego jądra, można je bezproblemowo usunąć poprzez menedżera pakietów. Nie oznacza to jednak, że w przypadku sposobu pierwszego usunięcie katalogu z jądrem z folderu /boot jest problemem. Poprosu preferuję sposób drugi. Przygotowanie do kompilacji Przed przystąpieniem do samodzielnej instalacji jądra, należy upewnić się o obecności odpowiednich w systemie pakietów. Do przeprowadzenia kompilacji potrzebujemy kompilatora C g++, make oraz pakiet initramfs-tools generujący obraz initrd. Kod:
apt-get update && apt-get install gcc build-essential initramfs-tools Kod:
apt-get update && apt-get install kernel-package libncurses5-dev fakeroot bzip2 cramfsprogs Ta faza jest kluczową i ma wpływ na jakość działania systemu pracującego na nowo skompilowanym Linuksie. Dostosujemy w niej go do sprzętu poprzez włączenie/wyłączenie poszczególnych modułów. Czynność tą możemy wykonać na kilka sposobów różniących się interfejsem, musimy jednak pobrane z kernel.org archiwum rozpakować, a zawartość przenieść do /usr/src. Kod:
tar -xjvf archiwum.tar.bz2 rm archiwum.tar.bz2 sudo -s mv zawartość_archiwum /usr/src cd /usr/src/zawartość_archiwum Kod:
make oldconfig make menuconfig Kod:
cp /boot/config-$(uname -r) /usr/src/linux-2.6.35-rc4/.config
Tworzenie pakietów instalacyjnych Po opuszczeniu konfiguratora i zapisaniu zmian, utworzony zostanie plik konfiguracyjny, zawierający informację na temat aktywnych funkcji jądra oraz domyślnie ładowanych modułów. Na jego podstawie utworzone zostaną binarne pakiety instalacyjne. Kod:
make-kpkg --initrd --append-to-version=-mykernel --revision=01 kernel_image kernel_headers
Kod:
dpkg -i linux-image*.deb dpkg -i linux-headers*.deb Kod:
mkinitramfs -o /boot/initrd.img-numer_wersji-nazwa Kod:
mkinitramfs -o /boot/initrd.img-2.6.35-rc4-mykernel Po zainstalowaniu jądra, uaktualniamy plik konfiguracyjny programu rozruchowego GRUB: Kod:
update-grub www.eioba.pl yampress.dug.net.pl
__________________
Spalić brudne licencje, tworzyć Wolnych Programów więcej, niech GNU jedynym systemem będzie. Inny OS = Fedora 13 Ostatnio edytowane przez k2cl ; 07-08-2010 o 14:32 Powód: Brak informacji na temat użycia starego pliku konfiguracyjnego. |
|
|
|
![]() |
| Narzędzia wątku | Przeszukaj ten temat |
| Wygląd | |
|
|
Podobne wątki
|
||||
| Temat | Autor wątku | Forum | Odpowiedzi | Ostatni Post / Autor |
| [SOLVED]kompilacja i konfiguracja NetBeans 6.8 TYLKO pod php-jak? | maciejewski | Programowanie | 2 | 30-05-2010 11:26 |
| Kernel kompilacja(wpisy GRUB) | Maharaja18Maharaja18 | Instalacja i konfiguracja Ubuntu | 16 | 24-12-2008 13:15 |
| Kompilacja i instalacja dazuko | warka321 | Software | 9 | 16-07-2008 17:15 |