![]() |
|
/pub/Linux/sunsite/docs/HOWTO
.
Nowsza wersja zawiera uaktualnione wskazania na katalog zawieraj�cy j�dra na
ftp.icm.edu.pl
Czy powiniene� to czyta�? Hmm... zobaczmy czy masz nast�puj�ce problemy:
Niekt�re z przyk�ad�w zawartych tutaj zak�adaj�, �e masz
zainstalowane takie programy jak: GNU tar, find i xargs
.
S� one w�a�ciwie standardowe; nie powinno by� z tym problem�w.
Zak�ada si� tak�e, �e znasz struktur� twojego systemu plik�w.
Je�li nie znasz to koniecznie trzymaj w r�ku wydruk tego co
pojawia si� na ekranie po poleceniu mount
, albo wydruk
zawarto�ci pliku /etc/fstab
je�li umiesz go przeczyta�.
Informacja ta jest wa�na, i nie zmieni si� dop�ki nie zmienisz
uk�adu partycji na twoim dysku.
Najnowsz� wersj� j�dra, dost�pn� podczas pisania tego dokumentu, by�a wersja 2.2.9. To znaczy, �e wszystko w tym dokumencie odnosi si� do tej w�a�nie wersji. Chocia� staram si� napisa� ten dokument tak niezale�nym jak si� tylko da, j�dro jest ci�gle rozwijane, wi�c je�li dostaniesz nowsz� wersj�, nieuniknionym jest, �e b�d� jakie� r�nice. Ale to wci�� nie powinno stanowi� du�ego problemu, co najwy�ej mog� wyst�pi� jakie� drobne r�nice.
S� dwie og�lne wersje �r�de� j�dra Linux-a, stabilne i testowe. Stabilne wersje zaczynaj� si� od wersji 1.0.x i s� numerowane liczbami parzystymi (chodzi o liczb� drug�); 1.0.x, 1.2.x, 2.0.x jak r�wnie� 2.2.x. Wersje te s� uwa�ane za najbardziej stabilne, wolne od dziur i b��d�w podczas ich dystrybucji. J�dra testowe ( 2.1.x, 2.3.x) s� j�drami przeznaczonymi dla tych, kt�rzy chc� je testowa�, wprowadza� jakie� zmiany, mo�e nawet wsp�pracowa� przy tworzeniu go. W wersjach tych mo�e byc pe�no b��d�w, mog� si� zawiesza� chocia� to wcale nie jest regu�� i niekoniecznie musi si� dzia�. Jakby co, to zosta�e� ostrze�ony.
Tekst, kt�ry tak wygl�da
jest albo czym� co pojawi si� na
ekranie, nazw� pliku, albo czym� co mo�e by� bezpo�rednio wpisane
z klawiatury (np. polecenie, czy jego opcje). Je�li czytasz ten
dokument jako zwyk�y plik tekstowy to tekst ten niczym si� nie
r�ni.
J�dro w systemach typu Unix odgrywa rol� po�rednika mi�dzy twoimi programami, a twoim sprz�tem. Najpierw zajmuje si� zarz�dzaniem pami�ci dla wszystkich uruchomionych program�w (proces�w), i dba o to, aby wszystkie one dosta�y r�wn� ilo�� czasu procesora. (albo nier�wn� je�li tak za��dasz). Dodatkowo, posiada mi�y interfejs dla program�w chc�cych "rozmawia�" z twoim sprz�tem.
J�dro spe�nia oczywi�cie o wiele wi�cej funkcji, ale to s� najwa�niejsze, kt�re nale�y zna�.
Nowsze j�dra z regu�y maj� wieksz� ilo�� sterownik�w, czyli mog� obs�u�y� wi�ksz� ilo�� urz�dze�, mog� mie� ulepszone algorytmy zarz�dzania procesami, mog� dzia�a� szybciej ni� starsze wersje, mog� by� bardziej stabilne, maj� tak�e wiele poprawek b��d�w, kt�re zdarzy�y si� w wersjach wcze�niejszych. Wi�kszo�� ludzi odnawia swoje j�dra poniewa� chc� wi�kszej ilo�ci sterownik�w i naprawionych b��d�w.
Przeczytaj Hardware-HOWTO. Mo�esz tak�e zajrze� do pliku
config.in
w �r�d�ach j�dra. Albo po prostu dowiedzie� si�
samemu jak napiszesz make config
. W poleceniu tym znajd�
si� wszystkie obs�ugiwane przez dane j�dro urz�dzenie. Ale nie b�d�
to wszystkie urz�dzenia, kt�re obs�uguje Linux. Wiele popularnych
sterownik�w (jak np. sterownik do PCMCIA i niekt�re sterowniki do
ta�m) s� rozprowadzane osobno jako �adowalne modu�y.
Aby zobaczy� jak� masz wersj� napisz gcc -v
.
Linus zaleca zawsze w pliku README
wersj� gcc, kt�ra
powinna by� u�yta do kompilacji danego j�dra. Je�li nie masz tej
wersji, dokumentacja w zalecanej wersji gcc powinna powiedzie� ci
czy musisz odnowi� libc. Nie jest to trudne, ale wa�ne jest, aby
post�powa� zgodnie ze wskaz�wkami.
S� to cz�ci j�dra, kt�re nie s� zawarte bezpo�rednio w nim. Kompiluje si� je osobno i mo�na je umie�ci� a nast�pnie usun�� z uruchomionego j�dra prawie zawsze. Z powodu tej elastyczno�ci jest to teraz preferowana metoda pisania niekt�rych fragment�w j�dra. Wiele popularnych sterownik�w urz�dze� to �adowalne modu�y.
To zale�y od twojej konkretnej konfiguracji. Skompresowane �r�d�a zajmuj� mniej wi�cej 14 MB. Po rozkompresowaniu, skonfigurowaniu i kompilacji zajmuje kolejne 67 MB.
Na nowszych maszynach zabiera to NAPRAWD� mniej czasu ni� na starych. Np. na AMD K6-2/300 z szybkim dyskiem kompilacja wersji 2.2.x mo�e zaj�� oko�o 4 minut podczas gdy kompilacja tego samego j�dra na starym Pentium, 486 czy 386 mo�e trwa� nawet godziny, czy dni ...
Je�li to ci� martwi, a masz w pobli�u szybszy komputer, to skompiluj j�dra na nim (zak�adaj�c, �e ustawisz poprawne parametry, �e twoje narz�dzia systemowe s� w odpowiednich wersjach itd), a potem przesnie� skompilowane j�dro (obraz) na wolniejszy komputer.
�r�d�a mo�esz sci�gn�� np. z
ftp.kernel.org:/pub/linux/kernel
- jest to g��wny
serwer dla j�dra Linux-a, albo z jakiej� bli�szej ci kopii
tego serwera. W Polsce najlepszym miejscem jest
ftp.icm.edu.pl/pub/Linux/kernel. Z regu�y nazwa
j�dra to linux-x.y.z.tar.gz
, gdzie x.y.z jest numerem
wersji. Tak jak ju� wspomnia�em, wersje z nieparzyst� drug� liczb�
to wersje rozwojowe i mog� by� niestabilne. Obok wersji
.tar.gz
s� jeszcze wersje .bz2
, kt�re s� mniejsze i
zabieraj� mniej czasu do �ci�gni�cia.
Najlepiej u�ywa� adresu ftp.xx.kernel.org
, gdzie xx to kod
twojego kraju. Np. ftp.pl.kernel.org dla Polski.
Je�li szukasz jakich� og�lnych informacji o Linux-ie, to zajrzyj pod adres www.linux.org. W Polsce tak�e jest Polska Grupa U�ytkownik�w Linux-a.
Zaloguj si� jako root
albo u�yj polecenia su
i
zmie� katalog na /usr/src cd /usr/src
.
Je�li zainstalowa�e� �r�d�a do j�dra podczas instalacji Linux-a w
katalogu tym znajdziesz do��czenie symboliczne linux
,
kt�re b�dzie wskazywa�o na katalog linux-x.y.z
ze
�r�d�ami, kt�re wtedy zainstalowa�e�. Je�li chcesz zachowa� stare
�r�d�a to usu� do��czenie linux
poleceniem rm linux
.
Je�li takiego do��czenia nie ma, a jest katalog linux, to (je�li
chcesz zachowa� �r�d�a starej wersji j�dra) zmie� nazw� linux na
linux-x.y.z, gdzie x.y.z jest wersj� tych �r�de�. (zajrzyj do
pliku linux/Makefile
- w pierwszych trzech linijkach
znajdziesz wersj� �r�de� znajduj�cych si� w tym katalogu).
Je�li chcesz mo�esz skasowa� ca�y katalog linux i pozby� si�
starych �r�de�.
W ka�dym razie upewnij si�, �e nie ma katlogu linux
przed
rozpakowanie �r�de�.
Teraz w katalogu /usr/src
rozpakuj �r�d�a poleceniem
tar zxpvf linux-x.y.z.tar.gz
, je�li na ko�cu nazwy pliku
ze �r�d�ami nie ma .gz
to u�yj polecenia tar xpvf
linux-x.y.z
. Zawarto�� archiwum wy�wietli si� na ekranie.
Kiedy rozpakowywanie si� sko�czy pojawi si� nowy katalog linux
.
Dobrym pomys�em by�oby w tym momencie zmieni� jego nazw� na
linux-x.y.z
i zrobi� symboliczne do��czenie do tego
katalogu o nazwie linux
. Aby to zrobi� u�yj polecenia
mv linux linux-x.y.z; ln -s linux-x.y.z linux
. Teraz
zmie� bie��cy katalog na linux
i przejrzyj plik
README
. Znajdziesz tam sekcj� o nazwie INSTALLING the
kernel
. Przeczytaj j� uwa�nie i wype�nij wszystkie polecenia,
o kt�rych tam mowa.
Je�li �ci�gn��e� wersj� .bz2
i masz program bzip2 (na jego
temat mo�na przeczyta� pod adresem
www.muraroa.demon.co.uk/), to zr�b tak:
bzcat2 linux-x.y.z.tar.bz2 | tar xvf -
UWAGA: Niekt�re z uwag zawartych tutaj s� podobne do tych z pliku
Linusa README
.
Polecenie make config
wydane w katalogu
/usr/src/linux
uruchamia skrypt konfiguracyjny, kt�ry
zadaje ci wiele pyta�. Wymaga on zainstalowanego shella, wi�c
sprawd� czy go masz. (/bin/bash, /bin/sh lub $BASH
)
W wersjach 2.0.x i nowszych istniej� jeszcze dwa sposoby na
konfiguracj�: make menuconfig
jak sama nazwa wskazuje
jest to konfiguracja za pomoc� menu tekstowego. Mo�na te� wyda�
polecenie make xconfig
co spowoduje uruchomienie mi�ej
konfiguracji pod Xwindow. Pierwszy spos�b wymaga zainstalowanej
biblioteki (n)curses. Ta druga wymaga zainstalowanej biblioteki
Tcl/Tk. Obie s� dostarczane wraz ze standardowymi dystrybucjami.
Te sposoby maj� podstawow� zalet�: je�li si� pomylisz, to �atwo
jest wr�ci� i poprawi� b��d.
Mo�na teraz odpowiada� na kolejne pytania ukazuj�ce si� na
ekranie. Odpowiada si� zwykle literami "y" - tak i "n" - nie. Przy
sterownikach jest jeszcze dodatkowa opcja "m" - oznacza
skonfigurowanie go jako �adowalny modu�. Bardziej komicznym
sposobem wyja�nienia tej litery jest "mo�e". Niekt�re z bardziej
oczywistych czy nie-krytycznych opcji nie zosta�y tutaj opisane;
zobacz w sekcji "Inne opcje konfiguracji." W make menuconfig
spacj� zaznacza si� dan� opcj�.
W wersjach 2.0.x i nowszych jest polecenie "?", kt�ra umo�liwia wy�wietlenie kr�tkiej pomocy na temat bie��cej opcji. Informacja ta jest prawdopodobnie naj�wie�sza. Oto lista wa�niejszych opcji, do jakiej hierarchii nale�� i kr�tki opis.
Pytanie to dotyczy emulacji koprocesora przez j�dro. Je�li nie masz koprocesora matematycznego (masz czysty 386 albo 486SX), musisz tu odpowiedzie� "y". Je�li masz koprocesor a odpowiesz "y", nie martw si� -- koprocesor b�dzie u�yty, a emulacja ignorowana. W po�owie przypadk�w w tej chwili odpowiedzi� b�dzie nie, ale nie martw si� je�li przypadkowo odpowiesz tak; je�li nie trzeba, to nie b�dzie to u�yte.
Przypuszczalnie potrzebujesz tej obs�ugi. Opcja ta oznacza, �e j�dro b�dzie obs�ugiwa� standardowe dyski do komputer�w PC, kt�re s� w posiadaniu wi�kszo�ci ludzi. Sterownik ten nie zawiera obs�ugi dla dysk�w SCSI, pytanie o to b�dzie p�niej w konfiguracji.
Zostaniesz zapytany nast�pnie o sterowniki "old disk-only" i "new IDE". Wybierz jeden z nich; g��wna r�nica pomi�dzy nimi to taka, �e stary sterownik obs�uguje tylko dwa dyski na pojedynczym interfejsie, a nowy obs�uguje drugi interfejs i nap�dy IDE/ATAPI CD-ROM. Nowy sterownik jest o oko�o 4 kB wi�kszy od starego i ma by� lepszy. To znaczy, �e pomijaj�c mniejsz� ilo�� b��d�w mo�e dzia�a� bardziej wydajnie, szczeg�lnie je�li masz dysk typu EIDE.
Og�lnie powiniene� odpowiedzie� "y" je�li tw�j komputer jest w sieci takiej jak Internet, albo je�li chcesz u�ywa� protoko��w SLIP czy PPP, aby mie� dost�p do Internetu. Aczkolwiek wiele pakiet�w (np. Xwindows) wymaga obs�ugi sieci nawet je�li tw�j komputer nie jest pod��czony do �adnej sieci; powiniene� tu odpowiedzie� "y". P�niej, zostaniesz zapytany czy chcesz obs�ug� protoko�u TCP/IP; znowu, odpowiedz "y" je�li nie jeste� absolutnie pewien.
Jedn� z najlepszych definicji IPC (InterProcess Communication - Komunikacja Pomi�dzy Procesami) znajduje si� w glosariuszu w ksi��ce o Perlu. Nic wi�c dziwnego, �e niekt�rzy programi�ci pisz�cy w Perlu wykorzystuj� go do komunikacji mi�dzy procesami, tak samo jak wiele innych pakiet�w (DOOM - z tych najbardziej znanych ;) ), wi�c odpowied� "n" nie jest m�drym wyborem, o ile wiesz dok�adnie co robisz.
Tradycyjnie, to wkompilowywa�o pewne optymalizacje dla konkretnego procesora; j�dra dzia�a�y dobrze tak�e na inncyh procesoarch, ale by�y one troche wi�ksze. W nowszych wersjach si� ju� tego nie stosuje i powiniene� odpowiedzie� na jaki procesor rzeczywi�cie kompilujesz j�dro. J�dro skompilowane na 386 b�dzie dzia�a� na wszystkich procesorach.
Je�li masz urz�dzenia SCSI odpowiedz "y". Zostaniesz nast�pnie zapytany o dalsze informacje, jak np.: obs�uga CD-ROM-u, dysk�w i twojego adaptera. Zajrzyj do SCSI-HOWTO po wi�cej szczeg��w.
Je�li masz kart� sieciow�, albo chcia�by� u�ywa� protoko��w SLIP, PPP, albo kontrolera portu r�wnoleg�ego aby po��czy� si� z Internetem odpowiedz "y". Konfigurator spyta ci� nast�pnie o typ karty i rodzaj protoko�u.
Skrypt konfiguracyjny pyta ci� nast�pnie o to, jakie systemy plik�w chcesz obs�ugiwa�:
Standard (minix) - Nowsze dystrybucje nie tworz� tego systemu
plik�w, a wielu ludzi go nie u�ywa, ale jednak u�ycie go mog�oby
by� dobrym pomys�em, poniewa� przydaje si� on do odczytu dyskietek,
dla kt�rych system ten jest mniej bolesny ni� ext2
.
Second extended - To jest standardowy system plik�w Linuxa. Prawie
na pewno masz jeden z nich i musisz odpowiedzie� y
.
msdos - Je�li chcesz u�ywa� swej partycji dos-owej, albo montowa� dyskietki sformatowane pod ten system, odpowiedz "y".
Dost�pne s� jeszcze r�ne inne systemy plik�w z innych system�w operacyjnych.
/proc - (Pomys� jak mniemam z laboratorium Bella). Na
dysku nie tworzy si� systemu plik�w proc
. To jest system
plik�w, kt�ry s�u�y do porozumiewania si� z j�drem i procesami.
Wiele program�w wy�wietlaj�cych procesy, jak np. ps
u�ywa
tego systemu plik�w. Spr�buj czasami wykona� polecenie cat
/proc/meminfo
albo cat /proc/devices
.
Niekt�re pow�oki (w szczeg�lno�ci rc) u�ywaj� /proc/self/fd
(znane jako /dev/fd
na innych systemach) do funkcji I/O.
Powiniene� prawie na pewno odpowiedzie� tutaj "y". Wiele wa�nych
narz�dzi do Linux-a zale�y od tego systemu plik�w.
NFS - Je�li tw�j komputer jest w sieci i chcesz u�ywa� system�w plik�w, kt�re znajduj� si� na innych systemach z NFS, odpowiedz "y".
ISO9660 - Ten system plik�w jest na przewa�aj�cej ilo�ci CD-ROM-�w. Je�li wi�c chcesz u�ywa� CD-ROM-u odpowiedz "y".
No dobra, napisz mount
. Powinno si� wy�wietli� co� jak:
blah# mount /dev/hda1 on / type ext2 (defaults) /dev/hda3 on /usr type ext2 (defaults) none on /proc type proc (defaults) /dev/fd0 on /mnt type msdos (defaults)
Sp�jrz na ka�d� linijk�; s�owo obok type
jest typem
systemu plik�w. W tym przypadku / i /usr s� typu second extended,
u�ywany jest tak�e proc i jest tak�e zamontowana dyskietka
z systemem plik�w msdos (tfu!).
Mo�esz spr�bowa� te� cat /proc/filesystems
je�li masz
system proc. Wy�wietli ci to systemy plik�w wkompilowane
w aktulanie u�ywane j�dro.
Konfiguracja rzadko u�ywanych i nie krytycznych system�w plik�w mo�e powodowa� niepotrzebne powi�kszanie si� j�dra; poczytaj sekcj� o modu�ach jak tego unikn�� i sekcj� "Pu�apki", aby dowiedzie� si� dlaczego powi�kszaj�ce si� j�dro nie jest po��dane.
Tutaj do��czasz sterowniki dla drukarki (r�wnoleg�ej, znaczy si�), myszy szeregowej, myszy PS/2 (wiele Notebook�w u�ywa protoko�u PS/2 dla swoich wbudowanych myszy), niekt�re sterowniki do ta�m, i inne tego typu "znakowe" urz�dzenia. Odpowiedz "y" kiedy znajdziesz urz�dzenie, kt�rego u�ywasz.
UWAGA: gpm to program, kt�ry pozwala na u�ycie myszy poza Xwindow i na kopiowanie tekstu pomi�dzy wirtualnymi konsolami. Jest to ca�kiem przyjemne je�li masz zwyk�� myszk� szeregow�, poniewa� koegzystuje ona z Xwindows, ale musisz ucieka� si� do specjalnych sztuczek dla innych.
Je�li czujesz wielk� potrzeb� us�yszenia d�wi�k�w wydobywaj�cych si� z tej maszynerii to odpowiedz "y" i napisz wszystko co wiesz na temat szczeg��w twojej karty d�wi�kowej i skompiluje sterownik. (Uwaga o konfiguracji kart d�wi�kowych: je�li zapyta ci� czy chcesz zainstalowa� pe�n� wersj� sterownika, mo�esz odpowiedzie� "n" i zaoszcz�dzi� troch� pami�ci wybieraj�c tylko to co jest ci potrzebne.)
Je�li my�lisz powa�nie o karcie d�wi�kowej, to zajrzyj na dwie strony darmowych sterownik�w:
Nie wszystkie opcje konfiguracyjne s� tu wymienione poniewa�
zmieniaj� si� zbyt cz�sto lub s� oczywiste (na przyk�ad: obs�uga
3Com 3C509). Jest ca�kiem spora lista wszystkich opcji wraz ze
sposobem umieszczenia jej w skrypcie Configure
. Zajmuje si� t�
list� Axel Boldt (
boldt@math.ucsb.edu). Mo�na go tak�e zobaczy� jako jeden
du�y plik w dystrybucji j�dra Documentation/Configure.help
od wersji 2.0.
[Od t�umacza] Plik ten dla chyba dw�ch wersji j�dra jest przet�umaczony na j�zyk Polski. Zajrzyj pod adres www.jtz.org.pl/inne-polskie.html
Wzi�te z pliku README napisanego przez Linusa: opcja "kernel hacking" daje w rezultacie wi�ksze i wolniejsze j�dro, mo�e nawet uczyni� je mniej stabilnym, przez konfigurowanie niekt�rych procedur, tak aby aktywnie pr�bowa�y �ama� z�e algorytmy i �eby mo�na by�o znale�� problemy j�dra. (kmalloc()). Tak wi�c powiniene� odpowiedzie� tutaj "n" je�li chcesz mie� normalnie dzia�aj�ce i stabilne j�dro.
Jak ju� sko�czysz konfiguracj� pojawi
si� na ekranie wiadomo��, �e j�dro zosta�o skonfigurowane i �e
nale�y sprawdzi� top-level Makefile
dla dodatkowej
konfiguracji.
Ten top-level Makefile
to plik o nazwie Makefile w katalogu
/usr/src/linux
. Zajrzyj tam. Przypuszczalnie nie b�dziesz
tam nic zmienia�, ale spojrze� nie boli :). Jak ju� zainstalujesz
nowe j�dro mo�esz zmieni� jego opcje przy pomocy narz�dzia
rdev
. Je�li czujesz si� zagubiony patrz�c na ten plik, to
nie przejmuj si� nim.
Kiedy skrypt konfiguracyjny si� sko�czy ka�e ci napisa� make
dep
i (przypuszczalnie) make clean
. Tak wi�c
zaczynamy od make dep
. Jest to pewne zabezpieczenie si�,
kt�re sprawdza r�ne zale�no�ci, jak na przyk�ad: czy pliki
nag��wkowe s� na swoich miejscach. Nie zajmuje to wiele czasu, no
chyba, �e tw�j komputer jest naprawd� wolny.
W starszych wersjach powiniene� jeszcze wyda� polecenie make
clean
. To usuwa pozosta�o�ci po starej kompilacji j�dra
(pliki objektowe itp). Nie zapomnij tego kroku !!!
Po czyszczeniu i sprawdzeniu zale�no�ci mo�esz wpisa� make bzImage
lub make bzdisk
(to jest ta cz��, kt�ra zabiera tyle
czasu). make bzImage
skompiluje j�dro i zostawi je w pliku
/usr/src/linux/arch/i386/boot/bzImage
w�r�d innych rzeczy.
To jest nowe skompresowane j�dro. make bzdisk
robi to samo,
z t� r�nic�, �e umieszcza plik bzImage
na dyskietce w
stacji A:, kt�r� mam nadziej� w�o�ysz na czas do stacji :). (ten
czas to sam koniec kompilacji, ale na wszelki wypadek radz� w�o�y�
od razu, bo potem mo�na zapomnie�)
make bzdisk
to dobry spos�b na testowanie nowego j�dra;
je�li co� p�jdzie nie tak, po prostu wyjmujesz dyskietk� ze stacji,
resetujesz i po krzyku. Mo�e to by� tak�e pomocne je�li
przypadkowo usuniesz j�dro z dysku. (radz� uwa�a� na to co si� robi
w katalogu g��wnym a szczeg�lnie w katalogu /boot
). Mo�esz
jej tak�e u�y� do instalacji innych system�w, poniewa� wystarczy
przegra� zawarto�� tej dyskietki na inn�.
Wszystkie, nawet te w po�owie sensowne, j�dra s� skompresowane, z powodu literek "bz" na pocz�tku. Skompresowane j�dro odkompresowuje si� automatycznie w czasie wykonywania.
W starszych j�drach nie ma opcji bzImage
. By�o to po prostu
zImage
. Opcja ta jest wci�� dost�pna, jednak bior�c pod uwag�
obecne rozmiary j�dra nie poleca si� tego sposobu kompresji.
make mrproper
spowoduje dok�adniejsze wyczyszczenie.
Czasem jest to potrzebne; mo�esz to robi� przy instalacji
ka�dej �aty (patch). make mrproper
skasuje tak�e tw�j
plik z bie��c� konfiguracj�, wi�c mo�esz sobie zrobi� kopi�
tego pliku (.config
).
make oldconfig
spr�buje skonfigurowa� j�dro na podstawie
starego pliku konfiguracyjnego; przejdzie za ciebie przez proces
konfiguracji (make config). Je�li jeszcze nigdy przedtem nie
kompilowa�e� j�dra lub nie masz starego pliku konfiguracyjnego
wtedy przypuszczalnie nie powiniene� tego robi�, bo b�dziesz
chcia� zmieni� konfiguracj� domy�ln�.
Przeczytaj sekcj� o modu�ach na temat szczeg��w dotycz�cych
make modules
.
Je�li masz ju� nowe j�dra i wydaje ci si�, �e ono dzia�a tak jak
chcia�e�, czas aby je zainstalowa�. Wi�kszo�� ludzi u�ywa do tego
celu LILO (Linux Loader). make bzlilo
zainstaluje j�dro,
uruchomi lilo, aby od�wie�y� informacje i przygotuje wszystko, aby
zresetowa� i za�adowa� nowe j�dro. ALE TYLKO w przypadku,
gdy LILO jest skonfigurowane nast�puj�co:
j�dro to /vmlinuz
, lilo jest w /sbin
, a tw�j
plik konfiguracyjny od lilo to /etc/lilo.conf
i zgadza
si� z tym co jest powy�ej.
W innym przypadku musisz u�y� bezpo�rednio polecenia lilo
.
Jest to pakiet ca�kiem prosty do zainstalowania i u�ywania, ale ma
tendencj� do za�amywania ludzi swoim plikiem konfiguracyjnym.
Zajrzyj do pliku /etc/lilo/config
- w starszych wersjach;
lub /etc/lilo.conf
- w nowszych wersjach, i sprawd�
bie��ce ustawienia. Plik ten wygl�da tak:
image = /vmlinuz label = Linux root = /dev/hda1 ...
image =
odnosi si� do aktualnej wersji zainstalowanego
j�dra. Wi�kszo�� u�ywa nazwy /vmlinuz
. Ale r�wnie dobrze
mo�e to by� nazwa xxx, j�dro, czy pliczek (nie jestem pewien co
do polskich liter, ale zawsze mo�na poeksperymentowa� :) )
label =
u�ywane jest przez LILO, aby dowiedzie� si� jaki
system lub j�dro za�adowa�, a root =
jest katalogiem
g��wnym danego systemu. Zr�b kopi� j�dra, kt�rego teraz u�ywasz i
skopiuj nowo zrobione j�dro na miejsce starego (czyli napisz
cp bzImage /vmlinuz
je�li u�ywasz nazwy vmlinuz i jeste� w
katalogu /usr/src/linux/arch/i386/boot
. Potem uruchom
LILO - w nowszych wersjach po prostu uruchamiasz lilo
; w
starszych mo�e b�dziesz musia� uruchomi� /etc/lilo/install
albo nawet /etc/lilo/lilo -C /etc/lilo/config
.
Je�li chcesz wiedzie� wi�cej na temat konfiguracji LILO, albo nie masz LILO, zdob�d� najnowsz� wersj� i poczytaj dokumentacj�.
Aby za�adowa� jedn� ze starszych wersji j�dra, kt�re mam nadziej�
zachowa�e� :) skopiuj linie od image = xxx
w pliku
konfiguracyjnym LILO na d� pliku, zmie� xxx na nazw� twojego
zachowanego pliku (wraz z pe�n� �cie�k�). Zmie� label = zzz
na np. label = old-kernel
i uruchom ponownie lilo
.
Mo�esz te� wstawi� lini� delay = x
, gdzie x jest ilo�ci�
dziesi�tnych cz�ci sekundy, do pliku konfiguracyjnego LILO, aby
zatrzyma� �adowanie na okre�lon� ilo�� sekund i przerwa� je np.
klawiszem SHIFT, a potem wpisa� nazw� kt�r� nada�e� starszej
wersji j�dra (t� label =
z pliku konfiguracyjnego LILO, a
nie nazw� pliku j�dra) w razie gdyby sta�o si� co� nieprzyjemnego.
Pakiety, kt�re pozwalaj� na odnowienie j�dra to �aty. Na przyk�ad:
je�li masz wersj� 1.1.45 i znajdziesz plik o nazwie patch46.gz
to znaczy, �e mo�esz odnowi� swoje j�dro do wersji 1.1.46. Mo�esz
zrobi� kopi� �r�de�, kt�re masz (make clean
a potem
cd /usr/src; tar zcvf old-kernel.tar.gz linux
)
Tak wi�c kontynuuj�c powy�szy przyk�ad za��my, �e masz plik
patch46.gz
w katalogu /usr/src
. Bed�c w katalogu
/usr/src
wydaj polecenie zcat pacth46.gz | patch -p0
albo patch -p0 < patch46
je�li �ata nie jest
skompresowana. Zobaczysz teraz troch� �cie�ek i nazw plik�w
oraz komunikat�w przelatuj�cych przez ekran, o tym co si� uda�o a co
nie. Wszystko to przelatuje zbyt szybko, �eby nad��y� z
czytaniem, tak�e w�a�ciwie nie wiesz czy si� uda�o czy nie. Mo�esz
u�y� parametru -s
do polecenia patch
, aby
poinformowa� je, �eby wy�wietla�o tylko komunikaty o b��dach. Aby
zobaczy� czy co� posz�o nie tak, poszukaj plik�w z rozszerzeniem
.rej
w katalogu /usr/src/linux
. Niekt�re wersje
patch (starsze wersje, kt�re mog�y by� skompilowane na gorszym
systemie plik�w) zostawiaj� b��dy w plikach z rozszerzeniem
#
. Mo�esz u�y� polecenia find
, aby znale��
te pliki:
cd /usr/src/linux; find ./ -name '*.rej' -print
Polecenie to wy�wietli wszystkie pliki z rozszerzeniem rej znajduj�ce si� w bie��cym katalogu i jego podkatalogach.
Je�li wszystko posz�o dobrze, wydaj teraz po kolei polecenia
make clean, make config i make dep
tak jak opisano w
sekcjach 3 i 4.
Do polecenia patch jest troch� opcji. Jak ju� wspomnia�em,
patch -s
spowoduje wy�wietlenie na ekran tylko wiadomo�ci
o b��dach. Je�li trzymasz �r�d�a w innym katalogu ni�
/usr/src/linux
, polecenie patch -p1
wydane w tym
katalogu, gdzie trzymasz �r�d�a zrobi wszystko bez b��d�w. Inne
opcje polcenia patch s� dobrze opisane w podr�czniku "man".
(Uwaga: ta sekcja odnosi si� w g��wnej mierze do starszych wersji j�dra.)
Najcz�stszym problemem by�o to, �e kiedy polecenie patch
modyfikowa�o plik config.in
nie wygl�da� on tak jak
powinien, bo zmodyfikowa�e� go, aby pasowa� do twojego komputera.
Zosta�o to ju� poprawione, ale w starszych wersjach b��d ten
pozosta�. Aby to naprawi�, przeczytaj plik config.in.rej
i zobacz co pozosta�o z oryginalnej �aty. Zmiany s� zwykle
zaznaczane znakami + i - na pocz�tku linii. Sp�jrz na linie
otaczaj�ce t� zaznaczon� i przypomnij sobie, czy by�y one
ustawione na tak, czy na nie. Teraz w pliku config.in
zmie� "y" na "n" i "n" na "y" tam gdzie trzeba. Wydaj polecenie
patch -p0 < config.in.rej
a je�li poinformuje ci�, �e
si� powiod�o, wtedy mo�esz kontynuowa� konfiguracj� i kompilacj�.
Plik config.in.rej
pozostanie, ale mo�esz go skasowa�.
Je�li odkryjesz dalsze problemy, mog�e� zainstalowa� jak�� �at�
nie w kolejno�ci. Je�li na ekranie pojawi si� taka wiadomo��:
previously applied patch detected: Assume -R?
oznacza to,
�e przypuszczalnie pr�bujesz na�o�y� �at� o wersji mniejszej ni�
�r�d�a twojego j�dra. Je�li odpowiesz "y", polecenie patch
spr�buje zdegradowa� twoj� wersj�, i najprzypuszcalnie si� to nie
powiedzie, przez co b�dziesz musia� zdoby� ca�kiem nowe �r�d�a.
(co w sumie wcale nie jest takim z�ym pomys�em).
Aby odinstalowa� jak�� �at� u�yj patch -R
na oryginalnej.
Jak ju� si� wszystko tak pomiesza, �e nie b�dziesz m�g� doj�� do �adu, to najlepszym sposobem jest zdoby� nowe �r�d�a j�dra i zacz�� od nowa.
Po zaledwie kilku �atach pliki .orig
zaczynaj� niebezpiecznie
rosn��. Na przyk�ad: usuni�cie plik�w .orig z wersji 1.1.51, kt�ra
by�a ostatnio czyszczona w wersji 1.1.48 spowodowa�o zwolnienie
ponad 500 kB dysku.
find . -name '*.orig' -exec rm -f {} ';'
Polecenie to spowoduje usuni�cie wszystkich plik�w .orig z bie��cego katalogu i jego podkatalog�w.
Wersje patch, kt�re u�ywaj� plik�w .# zamiast plik�w .rej, u�ywaj� tyldy (~) zamiast plik�w .orig.
S� lepsze sposoby pozbycia si� plik�w .orig, kt�re zale�� od
polecenia GNU xargs
:
find . -name '*.orig' | xargs rm
lub metoda ca�kiem bezpieczna ale troch� "g�o�na" (du�o komunikat�wna ekranie):
find . -name '*.orig' -print0 | xargs --null rm --
S� jeszcze inne �aty (tzw. niestandardowe), ni� te kt�re dystrybuuje Linus. Je�li ich u�yjesz �aty Linusa mog� nie dzia�a� i b�dziesz musia� je albo odinstalowa�, dopasowa� �r�d�a albo �at�, zainstalowa� nowe �r�d�a, albo jaka� kombinacja tego. Mo�e to by� troch� frustruj�ce, wi�c je�li nie chcesz grzeba� w �r�d�ach (z mo�liwo�ci� narobienia niez�ego bajzlu), odinstaluj niestandardowe wersje �at zanim zainstalujesz �at� Linusa, albo po prostu zainstaluj nowe �r�d�a. Wtedy mo�esz zobaczy� czy �aty niestandardowe wci�� dzia�aj�. Je�li nie to albo utkn��e� ze starym j�drem i b�dziesz pr�bowa� zmusi� jako� �r�d�o albo �at�, �eby zacz�a dzia�a�, albo b�dziesz czeka� (pewnie b�aga�) o now� �at�.
Jak pospolite s� te niestandardowe �aty?
Przypuszczalnie o nich us�yszysz. Ja u�ywa�em �aty "noblink" na
moich wirtualnych konsolach, bo nienawidz� mrugaj�cego kursora. Ta
�ata jest (a przynajmniej by�a) cz�sto odnawiana dla nowszych
wersji j�dra. Z wi�kszo�ci� nowych sterownik�w jako �adowalne
modu�y, chocia� cz�stotliwo�� niestandardowych �at znacznie spada.
J�dro Linux-a ma wiele zalet, kt�re nie znajduj� si� w �r�d�ach. S� one rozprowadzane jako osobne pakiety. Niekt�re z tych najbardziej popularnych s� tu wymienione.
Konsola Linux-owa ma chyba wi�cej zalet ni� na to zas�uguje. Pomi�dzy nimi znajduj� si� takie jak: zmiana czcionek, zmiana uk�adu klawiszy, zmiana tryb�w wy�wietlania (w nowszych wersjach). Pakiet kbd to programy, kt�re pozwalaj� u�ytkownikowi na robienie tego wszystkiego plus wiele czcionek i uk�ad�w klawiatur dla prawie wszystkich klawiatur i jest on dost�pny z tego samego miejsca, gdzie znajduj� si� �r�d�a j�dra.
Rik Faith (
faith@cs.unc.edu ) z�o�y� razem obszern�
kolekcj� narz�dzi do Linux-a, kt�re dziwnym trafem nazywaj� si�
util-linux. Obecnie zajmuje si� nimi Andries Brouwer
(
util-linux@math.uio.no ). Dost�pne s� one poprzez
anonimowe ftp z
ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/system/misc
.
Zawiera ona takie narz�dzia jak: setterm, rdev, czy
ctrlaltdel
, kt�re s� zwi�zane z j�drem. Jak Rik twierdzi,
Nie instaluj tego zestawu bez zastanowienia. Nie trzeba
instalowa� ca�ej zawarto�ci pakietu, mog�oby to nawet spowodowa�
powa�ne problemy.
Jak wi�szko�� pakiet�w, ten by� �at� i dodatkiem dla j�dra. �aty zosta�y z czasem zwi�zane na sta�e z j�drem, a ten program sta� si� osobnym pakietem. W r�kach niedo�wiadczonego u�ytkownika jest on bardzo niebezpieczny. Wi�c nie u�ywaj go je�li nie wiesz co robisz.
gpm - general purpose mouse czyli, w do�� wolnym t�umaczeniu :), mysz o og�lnym zastosowaniu. Program ten pozwala na przenoszenie zawarto��i pomi�dzy wirtualnymi konsolami i inne po�yteczne rzeczy jak np. t�umaczenie protoko��w pomi�dzy r�nymi typami myszek, u�ywanie wielu myszek...
Je�li twoje nowe j�dro zaczyna robi� dziwne rzeczy po rutynowym
odnowieniu, przypuszczalnie zapomnia�e� wyda� polecenie make clean
przed kompilacj� nowego j�dra. Oznaki takie to mo�e by� cokolwiek
od zawieszania si� systemu bez powodu, przez dziwne problemy z
funkcajmi I/O, do �limaczej szybko�ci. Nie zapomnij tak�e wyda�
polecenia make dep
.
Je�li twoje jadro z�era ogromn� ilo�� pami�ci, jest zbyt du�e, albo po prostu kompiluje si� w niesko�czono�� nawet je�li masz swoje nowiutkie Quadbazillium-III/4400, najprawdopodobniej skonfigurowa�e� niepotrzebnie pe�no sterownik�w. Je�li czego� nie u�ywasz, to nie konfiguruj, bo to naprawd� zabiera niepotrzebnie pami��. Najbardziej oczywistym symptomem przy zbyt du�ym j�drze jest bardzo cz�ste swapowanie (je�li tw�j dysk ci�gle rz�zi, a nie jest jednym z tych starych or��w Fujitsu, kt�re brzmi� jak l�duj�cy odrzutowiec, przejrzyj konfiguracj� swojego j�dra).
Mo�esz dowiedzie� si� ile pami�ci zabiera twoje j�dro odejmuj�c
warto�� total mem
z pliku /proc/meminfo
albo z
polecenia free
od ca�kowitej ilo�ci pami�ci w twoim
komputerze.
Opcje kt�re musisz w��czy� na PC-cie to: Najpierw w sekcji "General Setup" w��cz "Parallel port support" oraz "PC-style hardware". Nast�pnie w sekcji "Character devices" w��cz "Parallel printer support".
No i potem zostaj� nazwy. W wersji 2.2 zastosowano inne nazwy ni� w
starszych wersjach. Powodem tego jest, to �e w starym j�drze mia�e�
lp1
a teraz jest to lp0
. Sp�jrz do dmesg
albo w
katalogu /var/log/
.
Je�li si� rzeczywi�cie nie kompiluje, to pewnie jaka� �ata si� nie zainstalowa�a poprawnie. Twoja wersja "gcc" mo�e tak�e by� nie w porz�dku. Albo pliki nag��wkowe s� skopane. Upewnij si� tak�e czy symboliczne do��czenie, o kt�rych Linus pisze w README, s� poprawnie zrobione. W og�lno�ci je�li standardowe j�dro si� nie kompiluje, to co� powa�nego jest z systemem i niezb�dna jest ponowna instalacja niekt�rych narz�dzi.
W niekt�rych przypadkach "gcc" mo�e si� wysypa� z powodu
problem�w sprz�towych. Komunikaty w tym przypadku to: xxx
exited with signal 15
i w og�lno�ci s� one bardzo tajemnicze.
Pewnie bym o tym nie wspomina�, gdyby nie to, �e mi si� to
zda�y�o - mia�em kiedy� wadliw� pami�� cache a kompilator wtedy
hula� sobie po pami�ci gdzie chcia�. Najpierw spr�buj
przeinstalwa� gcc. Podejrzenia na sprz�t rzucaj dopiero je�li
j�dro si� kompiluje przy wy��czonym zewn�trznym cache'u, albo przy
zmniejszonej ilo�ci pami�ci RAM itp.
Z regu�y ludzi to troch� denerwuje jak im powiesz, �e maj� popsuty sprz�t. C�, ja tego nie zmy�lam. Jest FAQ na ten temat - www.bitwizard.nl/sig11/.
Albo nie uruchomi�e� lilo
po skopiowaniu j�dra na miejsce
starego, albo �le skonfigurowa�e�. Najcz�ciej spotykanym
problemem jest nie wkompilowanie obs�ugi twoejgo dysku lub systemu
ext2. Kiedy� mia�em problem z plikiem konfiguracyjnym LILO; by�o
tam boot = /dev/hda1
a powinno by� boot =
/dev/hda
. Na pocz�tku to mo�e byc naprawd� denerwuj�ce, ale
potem jak ju� masz dobry plik konfiguracyjny nie powiniene� go
zmienia�.
Oooj! Najlepsz� rzecz� jak� mo�na zrobi� to za�adowa� system z
dyskietki lub CDROMu (no trzeba je oczywi�cie mie� :) ) i przygotowa� now�
dyskietk� startuj�c� (np. make zdisk
). Musisz wiedzie�,
gdzie jest tw�j g��wny system plik�w i jakiego jest typu. (ext2,
minix). W przyk�adzie poni�ej musisz tak�e wiedzie� gdzie i na
jakim systemie jest /usr/src/linux i gdzie jest zwykle
zamontowany.
W nast�puj�cym przyk�adzie "/" to /dev/hda1, a partycja, na kt�rej
znajduje si� katalog linux to /dev/hda3 normalnie montowana na
/usr. Dzia�aj�ce j�dro jest w katalogu
/usr/src/linux/arch/i386/boot
i nazywa si� bzImage
.
Pomys� polega na tym, �e je�li masz dzia�aj�ce bzImage, mo�na tego u�y� dla nowej dyskietki. Inna alternatywa, kt�ra mo�e, ale nie musi dzia�a� (to zale�y jak bardzo namiesza�e�) opisana jest za tym przyk�adem.
Najpierw, za�aduj system z dyskietki, kt�r� akurat masz i zamontuj system plik�w, na kt�rym znajduje si� dzia�aj�ce j�dro:
mkdir /mnt mount -t ext2 /dev/hda3 /mnt
Je�li pojawi si� komunikat, �e katalog /mnt ju� jest - zignoruj go. Przy mount na pewno pojawi si� komunikat ostrzegaj�cy, �e montujesz niesprawdzony system plik�w - zignoruj go. Zmie� katalog na ten, w kt�rym znajduje si� dzia�aj�ce j�dro (pami�taj, �e teraz masz dysk w katalogu /mnt). Umie�� sformatowan� dyskietk� w stacji A: (nie dyskietk�, z kt�rej startowa�e� !!!), przerzu� j�dro na dyskietk� i skonfiguruj je dla twojego g��wnego systemu plik�w:
cd /mnt/src/linux/arch/i386/boot dd if=bzImage of=/dev/fd0 rdev /dev/fd0 /dev/hda1
Zmie� katalog na / (cd /) i odmontuj katalog /mnt (umount /mnt). Powiniene� by� teraz w stanie za�adowa� system tak jak normalnie z tej dyskietki. Nie zapomnij uruchomi� lilo po restarcie (czy co tam �le zrobi�e�).
Jak ju� wspomnia�em jest jeszcze inna metoda. Je�li masz kopi� dzia�aj�cego j�dra, mo�esz jej u�y� dla zrobienia dyskietki startowej. We�my zn�w powy�sze warunki i za��my, �e dzia�aj�ca kopia to /vmlinuz. Zr�b to samo co powy�ej z tymi zmianami: /dev/hda3 zmie� na /dev/hda1/ (g�. system plik�w) /mnt/src/linux na /mnt if=bzImage na if=vmlinuz
------------------------------------------------------------------
Od t�umacza:
Szczerze powiem/napisz�, �e nie wiem po co ten cz�owiek tak komplikuje spraw�. Podam tu spos�b, ktorego ja u�ywam:
Najpierw sprawd� czy masz takie linijki na pocz�tku
pliku /etc/lilo.conf
:
prompt timeout=50
Je�li nie to je dopisz.
W swoim pliku /etc/lilo.conf
mam zawsze dwie sekcje:
image=/boot/vmlinuz label=linux root=/dev/hda1 read-only image=/boot/vmlinuz-old label=linux-old root=/dev/hda1 read-only
Ja nazywam j�dra z wersj� na ko�cu (/vmlinuz-2.0.18) i robi�
symboliczne do��czenie ln -s /vmlinuz-2.0.18 /vmlinuz.
Je�li kompiluj� t� sam� wersj� j�dra, to przed kompilacj�/instalacj�
ZAWSZE robi� kopi� j�dra, kt�re mi dzia�a (powiedzmy
cp /vmlinuz-2.0.18 /vmlinuz.2.0.18.old);
Jak ju� skompiluj� j�dro to kopiuje je na /vmlinuz-wersja, przedtem
KOPIA !!! - tylko je�li kompilujemy t� sam� wersj� j�dra, kt�r�
ju� u�ywamy, bo nowsza wersja b�dzie mia�a inny numer na ko�cu. Po
skopiowaniu zmieniamy do��czenie symboliczne (je�li instalujemy
now� wersj�) - rm /vmlinuz; ln -s /vmlinuz-nowa_wersja /vmlinuz;
oraz ln -s /vmlinuz-2.0.18.old /vmlinuz-old;
potem uruchamiamy lilo
i restartujemy komputer. Je�li
nowe j�dro nie dzia�a, to startujemy stare j�dro (wpisujemy po
pojawieniu si� boot:
lub LILO:
na ekranie linux-old) i
po wci�ni�ciu ENETERa mamy znowu dzia�aj�cy system.
Je�li nie dzia�aj�ce j�dro by�o w tej samej wersji co poprzednie
(po prostu potrzebowa�e� co� doda�), to trzeba uruchomi� system w
trybie "single" (linux-old init single), odzyska� stare
modu�y ze zrobionej poprzednio kopii katalogu
/lib/modules/x.y.z
i zrestartowa� jeszcze raz system
pami�taj�c, �eby startowa� stare j�dro. Albo po prostu zmie�
odpowiednie dowi�zanie /vmlinuz, �eby wskazywa�o te� na star�
wersj� j�dra (ln -s /vmlinuz-x.y.z.old /vmlinuz) i NIE
ZAPOMNIJ po ka�dej takiej operacji uruchomi� /sbin/lilo
.
------------------------------------------------------------------
U�ywanie LILO z du�ymi dyskami (z wieksz� ilo�ci� cylindr�w ni� 1023) mo�e powodowa� problemy. Przeczytaj mini-HOWTO LILO i Large-Drives, je�li chcesz zna� wi�cej szczeg��w.
No i dobrze, �e pisze, bo to mo�e by� powa�ny problem. Poczynaj�c
od wersji j�dra 1.0.0 (oko�o 20 kwietnia 1994) program update
,
kt�ry okresowo zapisuje zawarto�� bufora na dysk, zosta� zmieniony.
Zdob�d� �r�d�a programu "bdflush" (powiniene� je znale�� tam gdzie
j�dro) i skompiluj. Dop�ki nie uruchomisz tego programu radz�
u�ywa� wersji j�dra starszej od 1.0.0 (Czy ta wersja jest jeszcze
do zdobycia !!!?). Instaluje si� samo jako update
, a po
restarcie nowe j�dro nie powinno juz narzeka�.
Naprawd� dziwne. Bardzo du�o ludzi ma ten problem. Pewnie dlatego, �e jest du�o przypadk�w, w kt�rych to si� mo�e dzia�.
Je�li tw�j CD-ROM to jedyne urz�dzenie na konkretnym interfejsie IDE, musi by� skonfigurowany zworkami jako master lub single. To jest najcz�stszy problem.
Creative Labs umieszcza teraz interfejs IDE na swoich kartach d�wi�kowych. To prowadzi do ciekawego problemu, bo niekt�rzy maj� tylko jeden interfejs IDE, wielu ma dwa interfejsy IDE na swoich p�ytach g��wnych (zwykle na IRQ15), wi�c najpopularniejszym rozwi�zaniem jest uczyni� interfejs na karcie d�wi�kowej trzecim (IRQ11, a przynajmniej tak mi m�wili).
To powoduje w Linux-ie problemy, poniewa� wersja 1.2.x nie obs�uguje trzeciego interfejsu IDE (obs�uga jest w kt�rej� z wersji 1.3.x, ale pami�taj - to jest wersja testowa, i nie wykrywa sama tego interfejsu). Aby to obej�� masz trzy mo�liwo�ci:
Je�li masz ju� drugi interfejs, to prze�� CD-ROM na ten drugi interfejs je�li jest wolny. Mo�esz wtedy wy��czy� interfejs z karty d�wi�kowej, co zachowa jedno IRQ.
Je�li nie masz drugiego interfejsu, ustaw interfejs na karcie d�wi�kowej (ale nie ten od d�wi�ku, tylko IDE) na przerwanie IRQ15 za pomoc� zworek. Powinno dzia�a�.
We� now� wersj� programu route
i wszelkie inne programy,
kt�re si� zajmuja rutingiem.
/usr/include/linux/route.h
(kt�ry w�a�ciwie jest plikiem
w /usr/src/linux
) sie zmieni�.
We� wersj� co najmniej 1.2.1.
Nie u�ywaj jako j�dra pliku vmlinux
w katalogu
/usr/src/linux
stworzonego podczas kompilacji. Plik,
kt�ry powiniene� u�y� to:
/usr/src/linux/arch/i386/boot/bzImage
.
Zmie� s�owo dumb
na linux
w pliku /etc/termcap
w sekcji dotycz�cej konsoli. Mozliwe te�, �e b�dziesz musia�
zrobi� terminfo.
�r�d�a j�dra zawieraj� pewn� liczb� plik�w nag��wkowych (te co si�
ko�cz� na .h), do kt�rych odwo�uj� si� standardowe pliki
nag��wkowe w /usr/include
. Przewa�nie wygl�da to tak:
#include <linux/xxyy.h>
Zwykle w katalogu /usr/include
jest symboliczne
do��czenie linux
wskazuj�ce na /usr/src/linux/include/linux
.
Je�li do��czenia tego nie ma, albo wskazuje na z�e miejsce, to
rzeczywi�cie wi�kszo�� program�w si� nie skompiluje. Je�li
zdecydowa�e�, �e �r�d�a zajmuj� za du�o miejsca na dysku i
skasowa�e� je, to to jest w�a�nie tw�j problem. Razem z tymi
�r�d�ami skasowa�e� pliki nag��wkowe. Inny problem to problem z
dost�pem do plik�w: Je�li tw�j root ma umask ustawiony tak, �e
u�ytkownicy nie mog� widzie� plik�w przez niego stworzonych, i
rozpakowa�e� �r�d�a bez opcji p (zachowaj oryginalne flagi
dost�pu), u�ytkownicy nie b�d� mogli u�y� kompilatora. Najpro�ciej
naprawi� to w ten spos�b:
zaloguj si� jako root cd /usr/src/linux/ chmod -R go+r include/
Kilka nast�puj�cych przyk�adowych polece� mo�e pom�c tym, kt�rzy zastanawiaj� si� jak zwi�kszy� pewne programowe ograniczenia wprowadzone przez j�dro:
echo 4096 > /proc/sys/kernel/file-max echo 12288 > /proc/sys/kernel/inode-max echo 300 400 500 > /proc/sys/vm/freepages
Wersje j�dra 2.0.x i 2.2.x wprowadzi�y troch� zmian w instalacji.
Plik Documentation/Changes
zawiera informacje, kt�re
powiniene� pozna�, kiedy uaktualaniasz swoje j�dro do kt�rej� z
tych wersji.
Najprzypuszczalniej b�dziesz musia� odnowi� tak�e niekt�re
kluczowe pakiety, takie jak: gcc, libc i SysVInit, i mo�e
dostosowa� kilka plik�w systemowych. Ale nie panikuj !
�adowalne modu�y j�dra mog� zaoszcz�dzi� troch� pami�ci i u�atwi� konfiguracj�. Obszar dzia�ania modu��w ur�s� ju� do tego, �e zawieraj� one systemy plik�w, sterowniki do kart Ethernet, do ta�m, do drukarek i wiele innych.
Narz�dzia te sa dost�pne stamt�d, sk�d masz �r�d�a j�dra. Nazywaj�
si� modutils-x.y.z.tar.gz
; wybierz najwy�sz� wersj� r�wn�,
albo mniejsz� od wersji twojego j�dra. Rozpakuj poleceniem tar
zxvf modutils-x.y.z
. Wejd� do stworzonego katalogu i poczytaj
plik README. Wype�nij dok�adnie instrukcje na temat instalacji
(jest ona z regu�y bardzo prosta: make install
lub co�
podobnego). Powiniene� mie� teraz programy: insmod, rmmod,
ksyms, lsmod, genksyms, modprobe i depmod
w katalogu /sbin.
Je�li chcesz przetestowa� narz�dzia z przyk�adowym sterownikiem
"hw" w insmod
; przejrzyj plik INSTALL
w tym
katalogu.
insmod
�aduje modu� do uruchomionego j�dra. Modu�y maj� z
regu�y roszerzenie .o; przyk�adowy modu� wspomniany wy�ej nazywa
si� drv_hello.o
, a wi�c aby go za�adowa�, napisz:
insmod drv_hello.o
. Aby zobaczy� jakie modu�y s�
aktualnie u�ywane przez j�dro u�yj lsmod
. Powinien
wy�wietli� co� takiego
blah# lsmod Module: #pages: Usedby: drv_hello 1
drv_hello jest nazw� modu�u, u�ywa jednej strony (4kB) pami�ci i
�adne inne modu�y nie zale�� od niego w tej chwili. Aby usun�� ten
modu� z j�dra u�yj rmmod drv_hello
. Zauwa�, �e
rmmod
chce nazwy modu�u a nie pliku. We� j� z polecenia
lsmod
. Inne narz�dzia modu�owe s� opisane w podr�czniku
man.
Je�li chodzi o wersj� 2.0.30 wi�kszo�� sterownik�w dost�pna jest w
postaci modu��w. Aby ich u�y�, najpierw upewnij si� czy nie
skonfigurowa�e� ich jako sta�e cz�ci j�dra. To znaczy: nie
odpowiadaj "y" na pytania ich dotycz�ce podczas konfiguracji, ale
"m" je�li jest taka mo�liwo��. Po skompilowaniu j�dra napisz
make modules
i make modules_install
. Pierwsze
polecenie skompiluje wszystkie sterowniki wyspecyfikowane jako
modu�y, a drugie zainstaluje je w katalogu /lib/modules/x.y.z
,
gdzie x.y.z jest wersj� j�dra. Po zainstalowaniu tych modu��w
wejd� do katalogu /lib/modules/x.y.z
i napisz modprobe -a
,
je�li masz ten program.
$lsqb;Od t�umacza] Je�li kompilujesz j�dro o wersji takie
samej jak to kt�re u�ywasz obecnie, to na wszleki wypadek przed
poleceniem make modules_install
, zr�b w katalogu
/lib/modules/ kopi� katalogu o nazwie takiej samej jak wersja
obecnego j�dra.
Modu�y s� szczeg�lnie przydatne do system�w plik�w albo sterownik�w
urz�dze�, kt�rych rzadko u�ywasz. Np. je�li chcesz u�y� dyskietki
msdos, to najpierw piszesz insmod /lib/modules/x.y.z/fs/msdos.o
i u�ywasz tej dyskietki. Po sko�czeniu piszesz rmmod msdos
.
Operacja ta zaoszcz�dza jakie� 50 kB RAM-u - niby nic ale jak si�
uzbiera kilka takich sterownik�w to docenisz t� zalet�. Co do
systemu plik�w minix to powinien on by� zawsze
wkompilowany w j�dro na sta�e, w razie u�ycia dyskietki startowej.
Na dyskietkach jest w�a�nie minix.
------------------------------------------------------------------
Od t�umacza:
Znowu facet skomplikowa� spraw�.
Jest narz�dzie, kt�re zajmuje si� za ciebie �adowaniem i usuwaniem
odpowiednich modu��w do i z pami�ci. Nazywa si� kerneld
czyli kernel daemon. Je�li u�yjesz czego� co wymaga sterownika w
module, kerneld za�aduje za ciebie ten modu�, a potem go wyrzuci jak
ju� przestaniesz tego u�ywa�. Aby go u�y� musisz odpowiedzie� na pytanie
konfiguracyjne dotycz�ce kerneld
"Kernel daemon support"
"y". Przedtem jeszcze odpowiedz "y" na pytanie "Modules support"
czy jako� tak, �eby m�c w og�le u�ywa� modu��w. Po kompilacji
j�dra wszystko idzie tak samo jak opisane powy�ej. Jeszcze jedno:
je�li masz dystrybucj� RH to sprawd� czy w pliku
/etc/rc.d/rc.sysinit
jest uruchamiany /sbin/kerneld.
Je�li nie, to sprawd� czy uruchamia si� tam program depmod
.
je�li te� nie to dopisz te linijki:
/sbin/depmod -a if [ -x /sbin/kerneld ]; then /sbin/kerneld fi
za linijk� kt�ra wygl�da mniej wi�cej tak:
mount -n -o remount,rw /
Je�li masz Slackware sprawd� czy w pliku /etc/rc.d/rc.M
jest uruchamiany /sbin/kerneld. Je�li nie, to sprawd� czy uruchamia
si� tam program depmod
. Je�li te� nie, to dopisz te linijki
/sbin/depmod -a if [ -x /sbin/kerneld ]; then /sbin/kerneld fi
za linijk� kt�ra wygl�da mniej wi�cej tak:
mount -n -o remount,rw /
Je�li masz dystrybucj� Debian to:
1) sprawd� czy jest plik /etc/init.d/kerneld
, je�li tak to
2) sprawd� czy w /etc/rcX.d/
jest dowi�zanie do tego pliku
(b�dzie to plik SYYkerneld), je�li jest, to wszystko jest w
porz�dku. X - numer runlevel-u kt�ry standardowo uruchamiasz.
(sprawd� w pliku /etc/inittab
linijk� initdefault)
Je�li kt�ry� z tych warunk�w jest niespe�niony to:
ad 1) za�� plik /etc/init.d/kerneld
o tre�ci:
#!/bin/bash # source function library . /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting kerneld " if [ -f "/sbin/kerneld" ]; then /sbin/kerneld /sbin/depmod -a fi touch /var/lock/subsys/kerneld ;; stop) echo -n "Shutting down kerneld: " killproc kerneld rm -f /var/lock/subsys/kernled echo ;; *) echo "Usage: kerneld {start|stop}" exit 1 esac exit 0
ad 2) napisz
cd /etc/rcX.d/ ln -s /etc/init.d/kerneld SYYkerneld
YY musi by� numerem przed �adowaniem modu��w; najlpiej jak najwcze�niej. ------------------------------------------------------------------
Je�li chcia�by� mie� zapisane w pliku to co dzia�o si� podczas
wykonywania polece� make i patch
, mo�esz przekierowa�
wyj�cie tych komend do pliku. Najpierw dowiedz si� w jakiej
pow�oce pracujesz:
echo $shell
Je�li jest to /bin/sh albo /bin/bash, wtedy przekierowywanie wyj�cia wygl�da tak:
polecenie 2>&1 | tee nazwa_pliku_do_zapisania
Je�li jest to /bin/csh albo /bin/tcsh, to wygl�da to tak
polecenie |& tee nazwa_pliku_do_zapisania
Je�li u�ywasz rc (a raczej nie u�ywasz), wtedy wygl�da to tak:
polecenie >[2=1] | tee nazwa_pliku_do_zapisania
S� jeszcze inne metody testowania nowego j�dra bez ruszania starego, opr�cz tych z dyskietkami. LILO ma mo�liwo�� �adowania j�dra z jakiegokolwiek miejsca na dysku (je�li tw�j dysk ma wi�cej ni� 1023 cylindry [512 MB lub wi�cej], przeczytaj dokumentacj� LILO, �eby dowiedzie� si� jakie s� z tym zwi�zane problemy). Tak wi�c je�li dodasz takie linie:
image = (tu wstaw katalog, w kt�rym znajduje si� nowe j�dro) label = new_kernel
na ko�cu pliku konfiguracyjnego LILO, mo�esz wybra� jakie j�dro
chcesz �adowa�, bez ruszania starego j�dra (po wykonaniu lilo
oczywi�cie). Najprostszym sposobem poinformowania LILO, kt�re
j�dro chcemy za�adowa� jest wci�ni�cie klawisz SHIFT podczas
startu (w momencie kiedy na ekranie pojawi si� "LILO"). Wtedy
pojawi si� znak zach�ty. Wpisuj�c tu new_kernel
, lub
nazw�, kt�r� nada�e� w pliku konfiguracyjnym LILO nowemu j�dru,
poinformujesz LILO, �eby za�adowa�o nowe j�dro.
Je�li chcesz trzyma� kilka r�nych �r�de� j�dra na dysku (to
zabiera DU�O miejsca - ostro�nie) najprostszym sposobem
jest nazywanie ich linux-wersja_j�dra. Musisz wtedy zrobi�
symboliczne do��czenie ln -s linux-wersja linux
�eby
u�ywa� wybranej wersji. Przed zrobieniem takiego do��czenie
upewnij si�, �e ostatni parametr do "ln" nie jest katalogiem, bo
wtedy nie b�dzie to to, czego si� spodziewa�e�.
Russel Nelson (
nelson@crynwr.com ) umieszcza zmiany jakie
zasz�y w bie��cej wersji j�dra. S� one kr�tkie i mo�esz zajrze�
tam zanim postanowisz odnowi� j�dro. S� one dost�pne poprzez
anonimowe ftp z ftp.emlist.com
w katalogu pub/kchanges
lub poprzez WWW -
http://www.crynwr.com/kchanges.
Spis zmian mo�esz znale�� tak�e w
ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/kernel/changes
.
Autorem i cz�owiekim opiekuj�cym si� tym dokumentem jest Brian Ward bri@cs.uchicago.edu Prosz� przysy�a� mi wszelkie komentarze, dodatki, poprawki (te s� najwa�niejsze).
Jak chcesz mo�esz zajrze� na moj� stron� WWW:
<htmlurl url="http://www.math.psu.edu/bri/" name="www.math.psu.edu/bri/">
Pomimo, i� staram si� odpowiada� na poczt� kiedy tylko mog�, to musisz pami�ta�, �e dostaje du�o list�w codziennie. Wi�c odpowiedzenie na tw�j list mo�e zaj�� troch� czasu. Szczeg�lnie je�li wys�a�e� mi jakie� pytanie, spr�buj by� jak najbardziej dok�adny. Je�li piszesz o niedzia�aj�cym sprz�cie (czy co� podobnego) musz� wiedzie� jaka jest konfiguracja tego sprz�tu. Je�li piszesz o b��dzie, to nie pisz, �e "pr�bowa�em, ale nie dzia�a..." Musz� zna� chocia� b��d jaki si� pojawi�. Chcia�bym tak�e wiedzie� jaka by�a wersja j�dra, gcc i libc. Je�li powiesz mi, �e u�ywasz tej-i-tej dystrybucji to mi wiele nie powie. Nie obchodzi mnie to, �e zadajesz proste pytania. Kto pyta, nie b��dzi! Chcia�bym podzi�kowa� wszystkim, kt�rzy wspierali mnie podzas pisania tego dokumentu.
Je�li twoje pytanie nie by�o zwi�zane z j�drem albo jest w jakim� j�zyku, kt�rego nie znam, to mog� nie odpowiedzie�.
Je�li wys�a�e� do mnie list i nie otrzyma�e� odpowiedzi w jakim� sensownym czasie (3+ tygodni). To ca�kiem mo�liwe, �e przypadkowo skasowa�em tw�j list (przepraszam). Napisz jeszcze raz.
Dostaj� du�o poczty z pytaniami, kt�re s� w�a�ciwie problemami sprz�towymi. W porz�dku, ale pami�taj, �e przecie� nie znam wszystkich urz�dze� na �wiecie i nie wiem na ile mog� by� pomocny. Osobi�cie u�ywam maszyn z procesorem AMD, kontrolery SCSI Adaptec i Sybios oraz dyski SCSI IBM.
Wersja -0.1 zosta�a napisana 3 pa�dziernika 1994. Dokument ten jest dost�pny w formatach: SGML, PostScript, TeX, roff i jako czysty tekst.
Sekcja na temat sztuczek i wskaz�wek jest jeszcze troch� ma�a. Mam nadziej�, �e si� rozro�nie wraz z przybywaniem sugestii. To samo odnosi si� do sekcji pakiety dodatkowe. Potrzeba mi wi�cej informacji na temat �ledzenia (debugging) i odzyskiwania po padach systemu.
Do��czona jest ma�a cz�� README Linusa na temat opcji rozgryzania j�dra.(kernel hacking) (Dzi�ki Ci Linus!)
uc@brian.lunetix.de (Ulrich Callmeier): polecenia patch -s, xargs.
quinlan@yggdrasil.com (Daniel Quinlan): poprawki i dodatki do wielu sekcji.
nat@nataa.fr.eu.org (Nat Makarevitch): mrproper, tar -p i wiele innych
boldt@math.ucsb.edu (Axel Boldt): uzbierany spis opcji konfiguracyjnych j�dra dotycz�cych sieci. Przes�ane mi.
lembark@wrkhors.psyber.com (Steve Lembark): sugestie odno�nie wyboru j�dra przy starcie.
kbriggs@earwax.pd.uwa.edu.au (Keith Briggs): kilka sugestii i poprawek.
rmcguire@freenet.columbus.oh.us (Ryan McGuire): dodatki na temat "make"
dumas@excalibur.ibp.fr (Eric Dumas): t�umaczenie francuskie
simazaki@ab11.yamanashi.ac.jp (Yasutada Shimazaki): t�umaczenie japo�skie
jjamor@lml.ls.fi.upm.es (Juan Jose Amor Iglesias): t�umaczenie hiszpa�skie
mva@sbbs.se (Martin Wahlen): t�umaczenie szwedzkie
jzp1218@stud.u-szeged.hu (Zoltan Vamosi): t�umaczenie w�gierskie
B.Maruszewski@jtz.org.pl (Bartosz Maruszewski): t�umaczenie polskie
donahue@tiber.nist.gov (Michael J Donahue): korekta liter�wek, wygra� konkurs o kromk� chleba
rms@gnu.ai.mit.edu (Richard Stallman): pomys� na bezp�atn� dokumentacj� i dystrybucj�
dak@Pool.Informatik.RWTH-Aachen.DE (David Kastrup): NFS
esr@snark.thyrsus.com (Eric Raymond): r�no�ci.
Ci, kt�rzy przysy�ali mi pytania z problemami tak�e byli pomocni.
Dokument chroniony prawami autorskimi © Briana Warda, 1994-1999. Mo�na rozprowadza� kopie tego dokumentu o ile na wszystkich b�dzie zachowana uwaga o prawach autorskich i to pozwolenie.
Mo�na kopiowa� i dystrybuwa� ten dokument w wersji modyfikowanej pod warunkiem dos�ownego kopiowania zak�adaj�c, �e praca pochodna jest dystrybuowana z takimi samymi prawami jak ten dokument. T�umaczenia zaliczaj� si� tak�e do wersji modyfikowanych.
Gwarancja: �adna.
Zalecenia: Dystrybucja komercyjna jest dozwolona. Jednak zaleca si� najpierw kontakt z autorem, aby mie� naj�wie�sze dane (mo�esz mi wys�a� kopi� tego co chcesz dystrybuowa�). T�umacze s� tak�e zobowi�zani najpierw si� skontaktowa� ze mn�. Wersja wydrukowana wygl�da o wiele �adniej.
T�umaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.
Je�li znalaz�e� jakie� ra��ce b��dy ortograficzne, gramatyczne, sk�adniowe, techniczne to pisz do mnie:
Oficjaln� stron� t�umacze� HOWTO jest http://www.jtz.org.pl/
Aktualne wersje przet�umaczonych dokument�w znajduj� si� na
tej�e stronie. Dost�pne s� tak�e poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /pub/Linux/JTZ/
.
Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej stronie WWW. S� tam te� odwo�ania do Polskiej Strony T�umaczeniowej.
Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list�
dyskusyjn� jtz@ippt.gov.pl. Je�li chcesz sie na ni� zapisa�, to
wy�lij list o tre�ci subscribe jtz Imi� Nazwisko
na adres
majordomo@ippt.gov.pl
Zmiany w tym dokumencie wprowadzone przez t�umacza to:
#
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:23