Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
Do spisu tresci tematu 10
10.2 Konfiguracja systemu
Spis tresci
Wstep
Konfiguracja przy pomocy skryptow
Zmiana parametrow systemu
Bibliografia
Wstep
Aby ustawic lub zmienic aktualne ustawienia systemu, trzeba skonfigurowac i skompilowac jadro systemu.
Do tego celu potrzebne sa zrodla linuxa. Trzeba je umiescic w katalogu /usr/src/linux. Od tej pory kazda sciezke dostepu bede podawal przy zalozeniu ze katalogiem biezacym jest ten wlasnie katalog.
Wraz ze zrodlami linuxa dostarczone sa skrypty ulatwiajace konfiguracje systemu - config,
menuconfig oraz xconfig.
Konfigurowanie przy pomocy skryptow pozwala na okreslenie jakie elementy zrodel zostana wlaczone do nowo skompilowanego
jadra. .
Mozliwa jest takze zmiana parametrow systemu podobnie jak przy konfiguracji np. w systemie SCOUnix, trzeba to jednak zrobic recznie
edytujac odpowiednie pliki naglowkowe znajdujace sie w katalogu
./include. (niestety nie ma skryptu takiego jak configure w
SCOUnixie, ktory by to ulatwil).
Konfiguracja przy pomocy skryptow
Skrypty konfiguracyjne pozwalaja okreslic jakie elementy zrodel linuxa zostana wlaczone do nowego jadra systemu.
Informacja ta przechowywana jest w pliku ./include/linux/autoconf.h. Jesli na przyklad w nowym jadrze ma sie znalezc
obsluga ipc to w pliku tym pojawi sie linia:
#define CONFIG_SYSVIPC 1
jesli nie to na jej miejscu bedzie linia:
#undef CONFIG_SYSVIPC
Plik autoconf.h podzielony jest na sekcje, ktore dotycza roznych czesci jadra. Omowie je ponizej wraz z wybranymi
elementami.
Bardziej wyczerpujace informacje na ten temat mozna znalezc w Linux Kernel HOWTO lub uzyskac w trakcie konfiguracji.
Konfiguracja eksperymentalna
Niektore z rzeczy, ktore moze obslugiwac linux (np.: sieci, systemy plikow, protokoly sieciowe) moga byc w wersjach, ktore nie zostaly
do konca przetestowane. Wybranie tej opcji umozliwi dolaczenie takich elementow do nowego jadra.
Obsluga modulow ladowalnych
Ustawienie tej opcji umozliwia umieszcznie niektorych elementow jadra jak np. systemy plikow, formaty plikow wykonywalnych czy drivery w
malych fragmentach skompilowanego kodu, ktore moga byc wlaczane do jadra
badz z niego wylaczane w czasie wykonywania przy
uzyciu programow insmod i rmmod.
Glowny setup
CONFIG_MATH_EMULATION - emulacja koprocesora,
CONFIG_NET - obsluga sieci,
CONFIG_MAX_16M - ograniczenie pamieci do 16MB, stosowane w przypadku gdy przy pamieci powyzej 16MB pojawiaja sie
problemy,
CONFIG_PCI - obsluga plyt z PCI,
CONFIG_SYSVIPC - obsluga ipc,
CONFIG_BINFMT_AOUT - obsluga starego formatu plikow wykonywalnych a.out,
CONFIG_BINFMT_ELF - obsluga nowego formatu plikow wykonywalnych
elf,
CONFIG_KERNEL_ELF - skompilowanie jadra w formacie elf,
CONFIG_M386
CONFIG_M486
CONFIG_M586
CONFIG_M686 - typ procesora,
Stacje dyskietek, dyski twarde i inne urzadzenia blokowe
Konfiguracja urzadzen blokowych,
Obsluga SCSI
Obsluga dyskow twardych, czytnikow tasm, CD-ROMow i innych urzadzen SCSI,
Obsluga ISDN
Obsluga polaczen ISDN (Inegrated Service Digital Networking),
Drivery CD-ROM (nie dla SCSI ani IDE/ATAPI)
Obsluga CD-ROMow,
Systemy plikow
CONFIG_QUOTA - ustawienie tego parametru umozliwia ustawienie ograniczen dla uzytkownikow na miejsce zajete na
dysku (dziala tylko z systemem plikow ext2),
CONFIG_MINIX_FS
CONFIG_EXT_FS
CONFIG_EXT2_FS
CONFIG_XIA_FS
CONFIG_FAT_FS
CONFIG_MSDOS_FS
CONFIG_VFAT_FS
CONFIG_UMSDOS_FS
CONFIG_HPFS_FS
CONFIG_SYSV_FS - obsluga systemow plikow minix, ext, ext2, xiafs, DOS FAT, MS DOS, VFAT (Windows 95), umsdos,
OS/2
hpfs (umozliwia tylko odczyt), systemu plikow systemu V,
CONFIG_PROC_FS - wirtualny system plikow /proc, w ktorym znajduja sie informacje o stanie systemu. Wirtualny oznacza, ze
system ten nie zajmuje miejsca na dysku, pliki sa tworzone w momencie gdy chce sie z nich korzystac,
CONFIG_NPC_FS - pozwala na montowanie katalogow serwera NetWare i dostep do nich jak do katalogu unixowego.
CONFIG_ISD9660_FS - pozwala na korzystanie ze zbiorow znajdojacych sie na CD-ROMie.
CONFIG_UFS_FS
CONFIG_BSD_DISKLABEL
CONFIG_SMD_DISKLABEL - wybranie tych opcji pozwala na korzystanie z sytemu plikow ufs (unix BSD).
Urzadzenia znakowe
Konfiguracja urzadzen znakowych m. in. myszy, niektorych czytnikow tasm oraz
dostepu do zegara czasu rzeczywistego,
Karty dzwiekowe
Konfiguracja kart dzwiekowych,
Kernel hacking
CONFIG_PROFILE - w pliku /proc/profile bedzie przechowywana informacja o tym ile czasu jadro spedza w
roznych procedurach (do odczytania tych informacji potrzebny jest pakiet readprofile).
Zmiana parametrow systemu
Aby zmienic parametry systemu trzeba zmienic wartosci odpowiednich stalych w plikach z katalogu ./INCLUDE,
wiekszosc z nich jest w katalogu ./include/linux/.
Ponizej omowione zostana wybrane stale, ktore mozna zmienic.
System plikow
Te stale znalazlem w pliku ./include/linux/fs.h.
NR_INODE - rozmiar tablicy i-wezlow (powinien byc wiekszy od NR_FILE)
NR_FILE - rozmiar tablicy otwartych plikow
NR_OPEN - maksymalna liczba plikow otwartych przez proces (powinna byc mniejsza od NR_FILE)
Semafory
Te stale znalazlem w pliku ./include/linux/sem.h.
SEMMNI - oznacza maksymalna liczbe identyfikatorow semaforow w jadrze, od 10
do 300.
SEMMSL - oznacza maksymalna liczbe semaforow na jeden
identyfikator.
SEMMNS - oznacza maksymalna liczbe semaforow w systemie.
Zdefiniowana jest jako SEMMNI*SEMMSL.
SEMOPM - oznacza maksymalna liczba operacji semaforowych
wykonywanych przez funkcje systemowa semop.
SEMMNU - oznacza liczbe struktur undo w systemie.
Zdefiniowana jest jako SEMMNS.
SEMMAP - rozmiar tablicy zarzadzajacej zbiorami semaforow.
Ustalona jest jako SEMMNS.
Pamiec dzielona
Te stale znalazlem w pliku ./include/asm/shmparam.h.
SHMMAX - oznacza maksymalny rozmiar segmentu wspoldzielonej
pamieci.
SHMMIN - oznacza minimalny rozmiar segmentu wspoldzielonej
pamieci.
SHMALL - oznacza maksymalna liczbe segmentow tekstowych
wspoldzielonej pamieci.
SHMSEG - oznacza maksymalna liczbe segmentow wspoldzielonej
pamieci dolaczonych do procesu.
Ustalona jest jako SHMMNI.
Kolejki komunikatow
Te stale znalazlem w pliku ./include/linux/msg.h.
MSGMNI - oznacza maksymalna liczbe kolejek komunikatow w systemie.
MSGMAX - oznacza maksymalny rozmiar komunikatow.
MSGMNB - oznacza maksymalna dlugosc kolejki komunikatow.
Bibliografia
Linux Kernel HOWTO
Zrodla Linuxa
Autorzy: Marcin Dziubinski
wstep, konfiguracja przy pomocy skryptow
i Dan Valahu
zmiana parametrow systemu