10 Linux Jądro systemu

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

JĄDRO SYSTEMU

Jądro (kernel) w systemie Linuks pełni rolę pośrednika między uruchamianymi programami, a
sprzętem komputerowym. Głównym zadaniem jądra jest zarządzanie pamięcią, partycją wymiany i
procesorem tak, aby wszystkie uruchomione procesy dostały równą ilość czasu procesora.
Istnieją dwa rodzaje wersji jądra : stabilna i rozwojowa.

Wersja stabilna nie zawiera większych błędów i przeznaczona jest dla systemów, w których ważną
rolę odgrywa stabilność i bezpieczeństwo.

Wersja rozwojowa zawiera zazwyczaj nowe rozwiązania będące w fazie testów i przeznaczona jest
dla ludzi zajmujących się rozwojem kernela.

Wersje stabilną od wersji rozwojowej można poznać po jej numerze.
Wersje stabilne mają środkową liczbę parzystą : 2.4.14 , a wersje rozwojowe nieparzystą :
2.5.69 .

1) Zdobywanie źródła
2) Konfiguracja jądra
3) Kompilacja i instalacja nowego jądra

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

4) Moduły jądra

1) Zdobywanie źródła

Najlepszym miejsce do ściągnięcia najnowszego jądra jest serwer :

ftp://ftp.kernel.org:/pub/linux/kernel

Na serwerze tym można znaleźć starsze, jak i te najnowsze jądra systemu, zarówno te stabilne, jak i
rozwojowe. Na serwerze znajdują się również path-e do kerneli.

Nowe jądro należy przekopiować do katalogu /usr/src i tam rozpakować.
W katalogu tym zostanie utworzony nowy katalog zawierający jądro systemu.

2) Konfiguracja jądra

Istnieją trzy polecenia służące do konfigurowania jądra systemu :

make config

- konfiguracja odbywa się w trybie tekstowym i polega na odpowiadaniu na zadawane

pytania

make menuconfig

- konfiguracja przebiega w oparciu o graficzne menu, a cały proces konfiguracji

opiera się na używaniu klawiszy : [enter] i [spacja] , prosty w obsłudze

make xconfig

- konfigurator pracuje w systemie X Window, posiada przyjazny interfejs, a wszelkie

wybory dokonuje się myszą

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

Polecenia te należy wydać w katalogu z nowym jądrem systemu .

Należy wspomnieć, że podczas konfiguracji sterowniki mogą być wkompilowane w jądro '*' ,
skompilowane jako moduł 'M' lub nie kompilowane wcale - okienko puste.

Najważniejsze opcje konfiguracyjne jądra wraz z przykładową konfiguracją to :

1. Code maturity level options

[ * ] Prompt for development and/or incomplete code/drivers
Opcja ta umożliwia nam korzystanie z nowych, będących w trakcie testów sterowników

2. Processor type and features

(PPro/6x86MX) Processor family
W tej opcji wybieramy typ posiadanego procesora
(1GB/2GB) Maximum Physical Memory
Podajemy największy rozmiar pamięci fizycznej
[ ] Math emulation
Włącza emulację koprocesora matematycznego
[ * ] MTRR (Memory type range register)
Należy włączyć tą opcję przy procesorach Pentium Pro i wzwyż
[ ] Symetric multi-processing support
Opcja ta przeznaczona jest dla komputerów wieloprocesorowych

3. Loadable module support

[ * ] Enable module support
Opcja pozwalająca na kompilowanie fragmentów kodu kernela jako modułów, które mogą być
ładowane w razie potrzeby
[ ] Set version information on all symbols for modules
Umożliwia korzystanie z modułów skompilowanych przy instalacji poprzedniego jądra

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

[ * ] Kernel module loader
Opcja to umożliwia automatyczne ładowanie modułów

4. General setup

[ * ] Networking support
Obsługa sieci. Należy zaznaczyć tą opcję nawet jeśli nie będziemy podłączeni do sieci
[ * ] PCI Support
Jest to wsparcie dla urządzeń pracujących na magistrali PCI
[ * ] PCI quirks
Zaznaczenie tej opcji powoduje automatyczne ustawienie szyny PCI z pominięciem BIOS-u
(BIOS/Direct/Any) PCI access mode
Sposób dostępu do szyny PCI - z użyciem BIOS-u, lub bezpośredni
[ * ] System V IPC
Opcja ta włącza komunikację międzyprocesorową. Przydatne przy uruchamianiu wszelakich
emulatorów systemów.
[ * ] Sysctl support
Pozwala na dynamiczne zmienianie parametrów jądra
[ M ] Kernel support for a.out binaries
[ * ] Kernel support for ELF binaries
[ M ] Kernel support for MISC binaries

Wsparcie dla podstawowych formatów plików wykonywalnych
[ * ] Parallel port support
Wsparcie dla urządzeń podłączonych do portu równoległego
[ * ] PC-style hardware
Opcja dla posiadaczy portu równoległego PC-style
[ * ] Advanced Power Management BIOS support
Zaawansowane oszczędzanie energii oparte na BIOS-się komputera

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

5. Plug and Play support

[ * ] Plug and Play support
Opcja ta daje wsparcie dla urządzeń typu p-n-p
<*> Auto-probe for parallel device
Automatyczne rozpoznawanie urządzeń podłączonych do portu równoległego

6. Block devices

[ M ] Normal PC floppy disk support
Opcja potrzebna w przypadku korzystania ze stacji dyskietek
[ * ] Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
Wsparcie dla standardu IDE/MFM/RLL
[ * ] Include IDE/ATA-2 DISK support
[ * ] Include IDE/ATAPI CDROM support
Opcje te włączają wydatniejszą obsługę dysków i cd-romów
[ * ] CMD640 chipset bugfix/support
[ * ] CMD640 enchanced support
[ * ] RZ1000 chipset bugfix/support
Włączenie tych opcji powoduje poprawienie błędów w układach scalonych
[ * ] Generic PCI IDE chipset support
Wsparcie dla PCI systemu z obsługą dysków IDE
[ * ] Generic PCI bus-master DMA support
Wsparcie dla dysków z obsługą DMA
[ * ] Use DMA by default when available
Wsparcie dla urządzeń korzystających z DMA
[] Other IDE chipset support
Wsparcie dla niestandardowych urządzeń IDE
[ ] Loopback Device Support
Sterownik umożliwiający zamontować plik, który jest obrazem dysku

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

[ ] Multiple devices driver support
Sterownik pozwalający zamontować wiele partycji fizycznych w jedną logiczną
[ ] RAM disk dupport
Umożliwia stworzenie dysk wirtualny w pamięci RAM

7. Networking options

[ M ] Packet socket
Opcja dołączająca protokół wykorzystywany prze aplikacje do komunikacji w sieci
[ *] Kernel/User netlink socket
[ *] Network firewalls
Opcje umożliwiające stworzenie firewalla do ochrony naszej sieci
[ * ] TCP/IP Networking
Obsługi protokołu TCP/IP mającego zastosowanie zarówno w internecie jak i w lokalnych sieciach
[ ] The IPX protocol
Opcja do obsługi protokołu sieciowego IPX w Novellu
<> Appletalk DDP
Służy do konwersacji z komputerami Apple

8. SCSI support

[ ] SCSI support
Opcja do obsługi urządzeń SCSI
[ ] SCSI disk support
[ ] SCSI tape support
[ ] SCSI CD-ROM support
[ ] SCSI generic support
Wsparcie dla poszczególnych urządzeń SCSI
SCSI low-level drivers ŕ
Tutaj wybieramy typ naszego kontrolera SCSI

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

9. Network device support

[ * ] Network device support
Zaznaczamy tą opcję, jeżeli chcemy używać sieci
[ M ] Dummy net driver support
Zaznaczamy przy używaniu protokołów PPP lub SLIP
<> EQL (serial line load balancing) support
Jeśli chcemy używać jednocześnie dwóch połączeń do tego samego komputera (wymaga 2
modemów i 2 linii telefonicznych)
Ethernet (10 or 100Mbit)
Opcja potrzebna do utworzenia lokalnej sieci z użyciem kart sieciowych.Należy wybrać model karty
[] FDDI driver support
Wsparcie dla kart FDDI
[ M ] PLIP (paraller port) support
Potrzebne do połączenia dwóch komputerów za pomocą portu równoległego
[ M ] PPP (point-to-point) support
Potrzebne w przypadku korzystania z internetu poprzez modem
<> SLIP (serial line) support
starszy brat PPP wykorzystywany do łączenia się z internetem, poprzez linię telefoniczną
<> CSLIP compressed headers
SLIP z włączoną kompresją nagłówków TCP/IP
[] Keepalive and linefill
dodatkowe możliwości dla SLIP przy łaczach słabej jakości

10. IrDA subsystem support

Obsługa urządzeń na podczerwień

11. ISDN subsystem

Obsługa urządzeń ISDN

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

12. Old CD-ROM drivers (not SCSI, not IDE)

Obsługa CD-ROMów starego typu

13. Character devices

[ * ] Virtual terminal
Opcja pozwala na uruchamianie kilku wirtualnych terminali i przełączanie się między nimi za pomocą
klawiszy ALT+Fx.
[ * ] Support for console on virtual terminal
Dzięki tej opcji można ustawić wirtualny terminal na konsoli
[ M ] Standard/generic (dumb) serial support
Obsługa urządzeń podłączonych do portu szeregowego
[] Support for console on serial port
Dzięki tej opcji można ustawić konsolę na porcie szeregowym, czyli komunikaty od jądra będą
wysyłane na ten port, użyteczne w przypadku podłączania terminali lub profesjonalnych drukarek
[] Extended dumb serial driver options
Opcja wymagana jeśli chcemy używać HUB6 bądź więcej niż 4 porty szeregowe oraz dzielić linię
szeregową
[] Non-standard serial port support
Pozwala na ustawienie niestandardowych portów, wykorzystywana w systemach gdzie konieczna jest
praca wielu portów np. serwer z podłączonymi terminalami
[ * ] Unix98 PTY support
Wsparcie dla pseudo-terminali, które pozwalają na pracę takich urządzeń jak : telnet, xterm
(256) Maximum number of Unix98 PTY in use (0-2048)
Maksymalna liczba pseudo-terminali dla przeciętnych komputerów liczba 256 jest wystarczająca
[ * ] Parallel printer support
Zaznaczamy jeżeli mamy podłączoną drukarkę do portu równoległego.
[ * ] Mouse Support (not serial mice) Mice
Obsługa myszki podłączonej do portu PS/2. Przy zwykłych myszkach nie zaznaczamy.

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

[ * ] Enhanced Real Time Clock Support
Włączenie dostępu do zegara czasu rzeczywistego.
Video For Linux ->
Potrzebne jeżeli posiadamy kartę TV lub radiową. Należy wybrać model karty
Joystick support ->
Obsługi joysticka. Należy wybrać model urządzenia

14. Filesystem

[* ] Quota support
Włączenie tej opcji pozwoli na ustawienie limitów dyskowych dla użytkowników
[ ] Kernel automonter support
Włączenie tej opcji pozwoli nam na zamontowanie odległego systemu plikowego
[ * ] DOS FAT fs support
Pozwala na korzystanie z partycji dosowych
[ * ] MSDOS fs support
Dostęp do partycji MSDOS
[ ] UMSDOS: Unix-like filesystem on top of standard MSDOS filesystem
Pozwala na uruchomienie Linuksa bezpośrednio z partycji DOS
[ * ] VFAT (Windows-95) fs support
Dostęp do partycji FAT z długimi nazwami plików
[ * ] ISO 9660 CDROM filesystem support
Zaznaczamy jeżeli chcemy korzystać z CD-ROMu
[ * ] Microsoft Joliet CDROM extisions
Rozszerzenie standardu ISO 9660, pozwalające na korzystanie z długich nazw w formacie unicode
[ ] NTFS filesystem support (read-only)
Opcja pozwala na odczyt z partycji Windows NT
[ * ] /proc filesystem support
Utworzenie wirtualnego systemu plików w katalogu /proc, do którego jądro zapisuje informacje o

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

działalności systemu
[ * ] /dev/pts filesystem for UNIX98 PTYs
Zaznaczamy tę opcję jeśli zaznaczyliśmy UNIX98 PTY support
[ * ] Second extended fs support
Obsługa standardowego systemu plików Linuksa ext-2
Network File System ->
Menu z opcjami do obsługi sieciowych systemów plikowych.
Native Language Support ->
Menu do ustawienia obsługi języka i kodowania znaków

15. Console drivers

[ * ] VGA text console
Umożliwia korzystanie z Linuksa w trybie tekstowym
[ ] Video mode selection support
Opcję zaznaczamy gdy posiadamy kartę, która pozwala na ustawienie niestandardowych
rozdzielczości ekranu

16. Sound

[ M ] Sound card support
Zaznaczamy jeżeli mamy kartę dźwiękową
Additional low level sound drivers ->
W poszczególnych opcjach ustawiamy rodzaj karty i jej konfigurację

17. Kernel hacking

[ ] Magic SysRq key
Opcja dla ludzi zajmujących się rozwojem i testowaniem jądra.
Daje więcej kontroli nad systemem podczas jego zawieszenia lub debuggowania

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

Po skonfigurowaniu jądra systemu należy zapisać naszą konfigurację, co spowoduje utworzenie pliku
.config z odpowiednimi opcjami.

3) Kompilacja i instalacja nowego jądra

Kompilacja nowego jądra ogranicza się do wydania trzech poleceń :

make dep

- sprawdza pewne zależności

make clean

- usuwa niepotrzebne pliki ze źródeł

make bzImage

lub

make bzlilo

lub

make zImage

lub

make zlilo

bzImage

- kompiluje nasze jądro tworząc jego skompresowany obraz. Skompresowane jądro

odkompresowuje się automatycznie w czasie wykonywania

bzlilo

- kompiluje i instaluje nasze jądro automatycznie

zImage

- zwykła kompilacja jądra (już raczej nie stosowana)

zlilo

- kompiluje i instaluje nasze jądro automatycznie

Skompilowane jądro możemy znaleźć w katalogu :
/usr/src/linux/arch/i386/boot/zImage
lub
/usr/src/linux/arch/i386/boot/bzImage

Następnym krokiem jest kompilacja i instalacja modułów, którą wykonujemy poleceniami :

make modules
make modules_install

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

Skompilowane moduły zostaną skopiowane do katalogu :
/lib/modules/numer_wersji

Jeśli kompilowane jądro posiada numer wersji identyczny z numerem jądra skompilowanego już
wcześniej, należy przed instalacją modułów usunąć z tego katalogu całą jego zawartość.

Instalacja nowego jądra polega na skopiowaniu obrazu jądra do odpowiedniego katalogu i
skonfigurowaniu programu ładującego system.

Obraz naszego jądra kopiujemy z katalogu :

/usr/src/linux/arch/i386/boot/bzImage lub /usr/src/linux/arch/i386/boot/zImage

do katalogu :

/boot/wersja_jądra/

i zmieniamy nazwę na :

vmlinuz.numer_nowej_wersji

Następnym krokiem, który musimy wykonać jest skopiowanie pliku wskazującego na jądro :

/usr/src/linux/System.map

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

do katalogu z obrazem naszego jądra :

/boot/wersja_jądra/

W przypadku takich samych numerów jądra, stare jądro nie powinno zostać nadpisane, gdyż nowe
jądro nie zawsze może działać tak, jak tego sobie życzymy.

Domyślnym programem ładującym system jest program LILO.
Plikiem konfiguracyjnym tego programu jest plik : /etc/lilo.conf , a przykładowa konfiguracja
umożliwiająca wybór jednego z dwóch jąder może wyglądać następująco :

boot=/dev/hda
map=/boot/map
vga=normal
default=windows
keytable=/boot/pl.klt
prompt
nowarn
timeout=100
message=/boot/message
menu-scheme=wb:bw:wb:bw
ignore-table

image=/boot/2.4.19/vmlinuz
label=linux-2.4.19
root=/dev/hda1

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

initrd=/boot/2.4.19/initrd.img
append="devfs=mount hdc=ide-scsi"
read-only

image=/boot/2.5.69/vmlinuz
label=linux-2.5.69
root=/dev/hda1
append="devfs=mount hdc=ide-scsi"
read-only

other=/dev/fd0
label=floppy
unsafe

Istniej możliwość automatycznego skompilowania i zainstalowania nowego jądra systemu poprzez
polecenie :

make bzlilo
lub
make zlilo

Najwygodniejszym sposobem kompilacji i instalacji nowego jądra jest wydanie komendy :

make dep clean bzlilo modules modules_install

polecenie to spowoduje wykonanie następujących czynności :

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

- wygenerowanie plików zależności
- usunięcie zbędnych plików
- utworzenie skompilowanej wersji jądra
- zmianę nazwy pliku /vmlinuz na /vmlinuz.old i skopiowanie nowego jądra do pliku /vmlinuz
- uruchomienie programu lilo i instalacja nowego obrazu jądra
- kompilację wszystkich modułów i instalację ich w odpowiednim katalogu

4) Moduły jądra

Moduły jądra doskonale odchudzają naszą pamięć dzięki temu, że mogą one być załadowane tylko w
razie potrzeby i usunięte, gdy nie są już potrzebne.

Na przykład :
jeśli obsługę interfejsu PPP mamy skompilowaną, jako ładowalny moduł jądra systemu, to tylko
podczas zestawiania połączenia internetowego ładowane są do pamięci wszystkie potrzebne
sterowniki. Po zamknięciu połączenia jądro usuwa z pamięci dany moduł.

Dzięki modułom możemy także dodać obsługę nowego sprzętu bez rekompilacji całego jądra.

Wszystkie moduły, które możemy w każdej chwili wykorzystać znajdują się w katalogu :
/lib/modules/

Modułami możemy swobodnie operować za pomocą następujących poleceń :

lsmod - wyświetla listę załadowanych modułów

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the

HTML to PDF API

insmod - ładuje moduły do uruchomionego jądra
rmmod - usuwa załadowany moduł
depmod - sprawdza wszystkie zależności pomiędzy modułami
modprobe - ładuje wszystkie moduły, od których zależny jest dany moduł


Wyszukiwarka

Podobne podstrony:
Jądro systemu Linux
Jądro i system plików, Informatyka, Linux, Linux - Podręcznik
2006 10 Skrypty powłoki w systemie Linux [Poczatkujacy]
jadro systemu linux
10 Reprezentacja liczb w systemie komputerowymid 11082 ppt
wyklad 2012 10 25 (Struktury systemów komputerowych)
ver 10 rozkad urzadzenia i systemy wytw cnc
10 Emission control system
10 Engine Control System
Linux lokalne systemy plikw
System Polityczny RP - WYKŁAD 10, POLITOLOGIA UW, System Polityczny RP(1)
Jądro systemu operacyjnego
3 Systemy Operacyjne 19 10 2010 Klasyfikacja Systemów Operacyjnych2
administrowanie systemem linux, start systemu
wykład 10 zeszły rok system oświatowy - Argentyna, studia, andragogika
10 Engine Control System

więcej podobnych podstron