Linux kompilacja jadra


Spowoduje to umieszczenie ogromnej ilości plików w katalogu /usr/src/linux. To są nasze
Jądro i jego kompilacja
zródełka, na których będziemy działać.
Co to jest jądro systemu? Jądro systemu (po angielsku: kernel) jest odpowiedzialne za
przełączanie procesora pomiędzy poszczególne procesy, komunikacje z wszelkiego rodzaju
Przed kompilacją
urządzeniami wchodzącymi w skład komputera oraz zarządzanie pamięcią i partycją wymiany.
Musisz być pewny, \e masz zainstalowane pakiety: make, bin86, egcs i glibc-devel. Są one
Pierwsze jądro Linux`a napisał oczywiście sam Linus Torvalds, który do teraz zajmuje się jego
konieczne do kompilacji jądra systemu.
rozwojem. Zostało ono stworzone prawie w całości przu u\yciu języka programistycznego C.
Masz do wyboru trzy sposoby ustawienia opcji konfiguracyjnych:
Jądro Linuxa ma modularną budowę, ale o tym poni\ej.
1. Program konfiguracyjny uruchamiany poleceniem make config. Wybór opcji
kompilacyjnych polega na \mudnym odpowiadaniu na zadawane przez komputer pytania.
Moduły
Niezbyt wygodny w u\yciu, nie polecam.
Moduły wynalezione zostały po to, aby odcią\yć jądro Linuxa i nie ładować niepotrzebnych
sterowników urządzeń do pamięci. Nie chodzi tutaj o niepotrzebne sterowniki np. streamera,
2. Program konfiguracyjny uruchamiany poleceniem make menuconfig. Dostajemy narzędzie
którego nie mamy, ale o takie, które nie są konieczne w danej chwili i mogą zostać
a`la mc :-). Cały proces przygotowania pliku konfiguracyjnego opiera się na u\ywaniu dwóch
załadowane, kiedy będziemy chcieli skorzystać z urządzenia. Bo np. ile razy uruchamiamy
klawiszy: entera i spacji. Bardzo prosty w obsłudze, za pomocą znaku "?" dostajemy dość
komputer i nie u\ywamy np. drukarki? Jeśli sterownik drukarki byłby wkompilowany w jądro
obszerną pomoc dla ka\dego z komponentów.
na stałe, wtedy zajmował by pamięć nawet wtedy, gdy nie mielibyśmy wcale zamiaru
drukować :-) Moduły mają tę zaletę, \e mo\emy je dodawać do jądra bez przerywania pracy
2. Program konfiguracyjny uruchamiany poleceniem make xconfig. Jak nazwa wskazuje
systemu. Mo\emy tak\e dodać obsługę nowego sprzętu (który kupiliśmy, bądz dołączyliśmy)
odpalamy go w środowisku XWindow, ma przyjemny interfejs, bardzo łatwo i fajnie się go
bez rekompilacji całego jądra. Modułami mo\emy swobodnie operować za pomocą lini komend
obsługuje. Wszelkie wybory dokonujemy za pomocą myszki.
linuxowej konsoli.
insmod - polecenie to pozwala na załadowanie modułu do pamięci,
Sterowniki mogą być jak ju\ napisałem powy\ej wkompilowane w jądro, mogą być
rmmod - usuwa moduł,
skompilowane jako moduł lub nie kompilowane wcale. My u\yjemy do konfiguracji jądra
lsmod - wyświetla listę załadowanych modułów,
programu menuconfig. Sterowniki kompilowane na stałe w jądro oznaczone będą *, jako
depmod - tworzy bazę danycch z informacjami o dostępnych w systemie modułach, które
moduł M, lub nie kompilowane wcale - okienko puste. Wybór poszczegółnych rodzajów odbywa
mogą zostać umieszczone w jądrze.
się poprzez wielokrotne naciśnięcie spacji.
Wersje jądra Linuxa
Konfiguracja jądraPrzechodzimy do katalogu /usr/src/linux i wydajemy polecenie:
Istnieją dwa rodzaje dostępnych wersji jądra - stabilna (stable) i rozwojowa (development).
make menuconfig
Stabilna jest przeznaczona dla ludzi ceniących sprawdzone, nie zawierający większych błędów
Po chwili ujrzymy menu główne programu. Jest ono podzielone na tematyczne sekcje: moduły,
szkielet systemu. Wersje te zalecane są tak\e dla początkujących u\ytkowników gdy\ nie
sieć, dzwięc itd. Do podmenu przechodzimy naciskając ENTER, wychodzimy przesuwając
powinny sprawiać większych problemów i są bardzo dobrze udokumentowane. Wersje
podświetlenie na opcje EXIT i ENTER.
developerskie przeznaczone są dla ludzi zajmujących się rozwojem kernela, zawierają często
wiele nowych sterowników dla najnowszych urządzeń oraz pomysłów. Czesto zdaraz się
A oto i poszczególne opcje (jądro 2.2.13) wraz z opisem.
jednak, \e u\ytkownicy wybierają niestabilne jądro i na nim pracując, wykorzystują je lepiej
Code maturity level options
ni\ stabilne :-)
[ ] Prompt for development and/or incomplete code/driver
Ze względu na podział na wersje, tak\e ró\na jest ich numeracja. Wersje stabilne mają
Mo\liwe jest tylko wkompilowanie tej opcji w jądro na stałe. Pozwala korzystać z nowych,
środkową liczbę parzystą np. 2.2.14, a developerskie nieparzystą np. 2.3.40. Wersją testowym
rozwijających się dopiero sterowników. Nie zaleca się jej włączenia.
przybywa numerków często, natomiast stabilnym co miesiąc-dwa-trzy.
Procesor type and features
(PPro/6x86MX) Procesor family
yródła
wybieramy rodzaj zainstalowanego u nas procesora,
Aby móc skompilować jądro Linux`a musimy mieć jego pliki zródłowe. Powinniśmy wybrać
(1Gb) Maximum Physical Memory
najnowszą stabilną wersję, najlepiej w postaci spakowanej *.tar.gz. Mo\emy te\ wziąść zródła
określamy maksymalą wielkość pamięci
z naszej dystrybucji zawarte w pakietach *.rpm, ale na 90% będą one ju\ przestarzałe! Pliki te
[ ] Math emulation
będą nosiły nazwy kernel-headers-numer.wersji.rpm i kernel-source-numer.wersji. My jednak
opcja emulująca koprocesor, przydatna tylko wtedy gdy go nie mamy
zaopatrzymy się w najnowsze zródełka, mogą być z internetu, jeśli ktoś posiada łącze
[*] MTRR (Memory Type Range Register) support
pozwalające na w miare szybkie przepuszczenie kilkudziesięciu megabajtów, bądz z płytki
kontroluje dostęp do pamięci, nale\y ją włączyć przy procesorach: Pentium Pro, Pentium II i
dołączonej do czasopism -> najlepszym rozwiązaniem jest chyba pismo Linux Plus, potem
wy\szych,
mo\e być np. Chip, który te\ czasami umieszcza zródełka kernela Linuxa :-)
[ ] Symmetric multi-processing support
No więc mamy ju\ plik kernel-numer.wersji.tar.gz. Na początek wywalmy zródła zainstalowane
włącz gdy posiadasz więcej ni\ jeden procesor, w pozostałych przypadkach powinna być
z *.rpm`a. Potem przenieśmy ten plik do katalogu /usr/src i wydajmy polecenie
wyłączona
rozpakowania zródeł nowego jajka:
Loadable module support
[*] Enable loadable module support
Dzięki temu nasze jądro będzie zmodularyzowane -> będzie mogło korzystać z modułów.
tar -zxvf kernel-numer.wersji.tar.gz
[*] Set version information on all symbols for modules
- 1 -
Opcja pozwoli na korzystanie z modułów wcześniej skompilowanych nawet po kompilacji Normal PC floppy disk support
nowego jądra. Konieczne do u\ywania stacji dyskietek. Zalecana kompilacja jako moduł.
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
[*] Kernel module loader Sterowniki obsługujące urządzenia IDE/MFM/RLL takie jak dyski twarde, cdrom, streamer`y.
Pozwala na ładowanie modułów podczas pracy kernela. Bardzo przydatna opcja. [] Use old disk-only driver on primary interface
General setup Sterowniki dla starych dysków MFM,RLL,IDE pracujących jako pierwsze.
[*] Network support <*> Include IDE/ATA-2 DISK support
Obsługa sieci, jeśli masz komputer podłączony do sieci powinnieneś wybrać tę opcję, jeśli nie <*> Include IDE/ATA-2 CDROM support
te\ :-) gdy\ niektóre programy korzystaja z portów sieciowych itp. <> Include IDE/ATA-2 TAPE support
[*] PCI support <> Include IDE/ATA-2 FLOPPY support
Konieczne gdy masz urządzenia na PCI, Włącza wydatniejszą obsługę dysków, cdrom`ów, dyskietek IDE/ATA-2.
(Any) PCI access mode <> SCSI emulation support
Mo\na ustawić czy system odczyta konfiguracje PCI z biosu czy określić ją samodzielnie. Any Włącza emulacje dyskuów IDE jako SCSI
próbuje określić konfiguracje, jeśli się nie uda, czyta ją z biosu. [*] CMD640 chipset bugfix/support
[*] PCI quirks --> [] CMD640 enhanced support
Pozwala na ustawienie szyny PCI jeśli BIOS komputera jest błędny, Jeśli jesteś pewnie, \e Poprawa błędu i rozszerzony support dla chipsetu CMD640, występującego w większości płyt
mam dobry BIOS mo\esz wyłączyć, jeśli nie jesteś pewnien, włącz. dla procesorów 486 i Pentium.
[*] Backward-compatible /proc/pci [*] RZ1000 chipset bugfix/support
dla zgodności /proc/pci ze starszymi wersjami kernela, nie rozumiem tego do końca więc, Poprawa błędu i rozszerzony support dla chipsetu RZ1000, występującego w większości płyt
przeczytaj help`a -? :-) dla procesorów 486 i Pentium.
[] MCA support [*] Generic PCI IDE chipset support
MicroChannel Architecture - szyna systemowa podobna do PCI i ISA, stosowana w niektórych Jeśli masz PCI system z obsługą dysków IDE, nie potrzebna, gdy korzystasz z urządzeń SCSI,
maszynach IBM PS/2 maszynach i laptopach. Zajrzyj do dokumentacji jądra. [*] Generic PCI bus-master DMA support
[] SGI Visual Workstation support Jeśli Twój dysk obsługuje DMA zaznacz tę opcję.
tutaj te\ mógłbym mi ktoś pomóc :-) [] Boot off-board chipset first support
[*] System V IPC Gdy chcesz pozmieniać numery kontrolerów
Komunikacja między procesami za pomocą System`u V, wykorzystywanego w unixach. [*] Use DMA by default when available
Zalecane zaznaczenie tej opcji. Warto włączyć gdy masz urządzenia DMA
[] BSD Process Accounting [] Other IDE chipset support
nie wiem do czego to jest, nie jest konieczne włączenie :-) Włącz jeśli masz jakieś niestandardowe urządzenia IDE
[*] Sysctl support ---- Additional Block Devices
Pozwala na dynamiczne zmienianie parametrów jądra. <> Loopback device support
Kernel support for a.out binaries Network block device support
<*> Kernel support for ELF binaries [] Multiple devices driver support
Kernel support for MISC binaries Pozwala na łączenie dysków w jeden system plików - tworzenie macierzy dyskowych
Opcje te pozwalają na wykonywanie kodu binarnego programów skompilowanych w ró\nych <> RAM disk dupport
formatach. Opcje kompilacji warto zaznaczyć tak jak powy\ej. Mo\esz u\ywać części pamięci RAM jako system plików.
<*> Paraller port support <> XT hard disk support
Musimy zaznaczyć gdy korzystamy z urządzeń podłączonych do portu rownoległego np. Jeśli masz bardzo stary kontroler dysku u\ywany w IBM XT
drukarka. Mo\emy wybrać kompilacje jako moduł, jednak u mnie drukarka zadziałała dopiero <> Mylex DAC960/DAC1100 PCI RAID Controller support
pod wkompilowaniu tego sterownika w jądro :-( Support dla tych kontrolerów
--> <*> PC-style hardware <> Parallel prot IDE device support
Zaznacz jeśli masz port rownóległy PC-style. Taki port mają komputery kompatybilne z IBM PC Jeśli masz podłączony CDROM lub jakieś dyski do portu równoległego
i Alpha. <> Compaq SMART2 support
--> [] Support foreign hardware Wsparcie dla kontrolera Compaq Smart Array
Jeśli chcesz mieć obsługę niestandardowych portów równoległych. Większość jednak nie Networking options
potrzebuje tej opcji. Packet socket
[] Advanced Power Management BIOS support Protokół u\ywany przez aplikacje do kominikacji z urządzeniami sieciowymi
Zaawansowane oszczędzanie energi oparte na BIOSie komputera. Potrzebne w laptopach gdzie [*] Kernel/User netlink socket
musimy oszczędzać akumulatory [*] Network firewalls
Plug and Play support Jeśli chcemy u\yć firewalla do ochrony naszej sieci.
[*] Plug and Play support
Automatyczne konfigurowanie urządzeń plug and play. [] Socket Filtering
<*> Auto-probe for parallel device <*> Unix domain socket
automatyczne rozpoznawanie urządzeń podłączonych do portu równoległego Dostęp do unixowego mechanizmu nawiązywania i kontorli dostępu do sieci. Wykorzystywane
Block devices np. przez XWindow
- 2 -
[] FDDI driver support
[*] TCP/IP Networking Jeśli masz kartę FDDI (szybka sieć lokalna)
Obsługa protokołu TCP/IP wykorzystywanego w Internecie i sieciach lokalnych PLIP (paraller port) support
Jeśli chcemy połączyć dwa komputerki za pomocą portu równoległego,
[*] Network firewalls PPP (point-to-point) support
Jeśli chcemy u\yć firewalla do ochrony naszej sieci. Gdy korzystamy z Internetu poprzez linię telefoniczną, np. dostęp przez TPSA
--CCP compresors for PPP are only built as modules <> SLIP (serial line) support
[] IP: multicasting starszy brat PPP wykorzystywany (coraz rzadziej) do łączenia się z Internetem, poprzez linię
[] IP: advanced router telefoniczną lub do połączeń z innymi komputerami za pomocą kabla nullmodem
[] IP: kernel level autoconfiguration <> CSLIP compressed headers
[] IP: firewalling to samo co SLIP, tylko, \e kompresowane są nagłówki TCP/IP
[] IP: optimize as router not host [] Keepalive and linefill
<> IP: tunneling dodatkowe mo\liwości dla SLIP przy łaczach słabej jakości
<> IP: GRE tunnels over IP [] Six bit SLIP encapsulation
[] IP: aliasing support [] Wireless LAN (non-hamradui)
Przypisywanie ró\nych adresów sieciowych jednemu interfejsowi Sieci związane z radiem, ale nie z tzw. radiem amatorskim (amateur radio)
Token ring device -->
[] IP: TCP syncoolie support (not enabled per default) IBM`owski sposób komunikacji w sieci Ethernet, wymaga specjalnej karty Token ring
[] IP: Reverse ARP [] Fibre Channel driver support
[] IP: Allow large windows (not recomended if < 16Mb of Memory) WAN interfaces -->
<> The IPX protocol Obsługa sieci WAN (Wide Area Network),
Obsługa Novellowego protokołu siciowegi IPX [] SBNI12-xx support
<> Appletalk DDP Driver dla powy\szej karty
Słu\y do konwersacji z komputerami Apple Amateur Radio support
SCSI support [] Amateur Radio support
<> SCSI support Połączenie z internetem za pomocą "radia amatorskiego". Więcej informacji w HOWTO`s - HAM
Obsługa urządzeń SCSI i AX25
<> SCSI disk support IrDA subsystem support
<> SCSI tape support <> IrDA subsystem support
<> SCSI CD-ROM support Obsługa urządzeń na podczerwień, a tak\e wykorzystywanych w notebook`ach i palmptopach
<> SCSI generic support ISDN subsystem
Wsparcie dla poszczególnych urządzeń SCSI - dysków, napędów taśmowych, CD-ROMu i <> ISDN subsystem
innych urządzeń np. skanera Obsługa urządzeń ISDN oraz ich konfiguracja. ISDN umozliwia prowadzenie wideokonferencji
[] Probe all LUNs on each SCSI device oraz zapewnia lepszą jakość przesyłu danych w Internecie.
Wsparcie dla urządzeń, które mają więcej ni\ jeden Logical Unit Number (cokolwiek to znaczy Old CD-ROM drivers (not SCSI, not IDE)
:-)), np. CD jukebox Sterowniki dla CDROMów starszych typów, jeśli masz takowy powinieneś wybrać tutaj swój
[] Verbose SCSI error reporting (kernel size +=12K) model
Błędy urządzeń SCSI będą ławiejsze do zrozumienia Character devices
[] SCSI logging facility [*] Virtual terminal
SCSI low-level drivers --> Mo\liwe jest uruchomienie kilku terminali, przełączanych za pomocą klawiszy ALT+Fx.
Tutaj wybieramy typ naszego kontrolera SCSI Powinnieneś koniecznie zaznaczyć tę opcję
Network device support [*] Support for console on virtual terminal
[*] Network device support Dzięki tej opcji będziesz mógł ustawić wirtualny terminal na konsoli - urządzeniu na które
Musisz zaznaczyć tę opcję, jeśli chcesz wykorzystywać sieć - internet lub intranet wysyłane są komunikaty i ostrze\enia jądra systemu oraz pozwala na zalogowanie się w trybie
-- ARCnet support single-user
Jeśli masz karty sieciowe oparte na chipsecie ARCnet Standard/generic (dumb) serial support
Dummy net driver support Za pomocą tej opcji będziemy mogli włączyć obsługę urzadzeń działających na porcie
Zaznacz, jeśli u\ywasz sieci na protokołach SLIP lub PPP szeregowym np. myszka, modem
<> EQL (serial line load balancing) support [] Support for console on serial port
Jeśli chcesz u\ywać jednocześnie dwóch połączeń do tego samego komputera (wymaga 2 Będziemy mogli ustawić konsolę na porcie szeregowym, czyli komunikaty od jądra będą
modemów i 2 lini telefonicznych) wysyłane na ten port, u\yteczne w przypadku podłączania terminali lub profesjonalnych
<> General Instruments Surfboard 1000 drukarek
Sterownik dla powy\szego urządzenia [] Extended dumb serial driver options
Ethernet (10 or 100Mbit) Opcja wymagana jeśli chcemy u\ywać HUB6 bądz więcej ni\ 4 porty szeregowe oraz dzielić
Musisz zaznaczyć jeśli chcesz utworzyć lokalna sieć na bazie kart sieciowych i wybrać linię szeregową
odpowiedni jej model [] Non-standard serial port support
- 3 -
Pozwala na ustawienie niestandardowych portów, wykorzystywana w systemach gdzie korzystanie z jego partycji
konieczna jest praca wielu portów np. serwer z podłączonymi terminalami -- <> MSDOS fs support
[*] Unix98 PTY support Dostęp do partycji MSDOS
Pseudo-Terminal urządzenie programowe pozwalające na prace takich programów jak np. <> VFAT (Windows-95) fs support
telnet, xterm Dostęp do partycji FAT z długimi nazwami plików
(256) Maximum number of Unix98 PTY in use (0-2048) <*> ISO 9660 CDROM filesystem support
Maksymalna liczba pseudo-terminali mogących pracować jednocześnie, dla komputerów ISO 9960 jest standardem jeśli chodzi o zapis na płytach kompaktowych, więc opcja ta
desktop 256 jest liczbą w zupełności wystarczającą, jednak dla serwerów udostępniających powinna być zaznaczona, jeśli chcemy korzystać z CDROMu
usługi telnet/ssh/rlogin itp konieczne mo\e się okazać zwiększenie tej liczby [] Microsoft Joliet CDROM extisions
<*> Parallel printer support Joliet jest Microsoftowym rozszerzeniem dla ISO 9660, który pozwala na długie nazwy plików w
Zaznacz jeśli Twoja drukarka jest podłączona do portu równoległego. Zazwyczaj wystarczy formacie unicode
ustawienie tego jako moduł, ale u mnie pomogło dopiero wkompilowanie w jądro na stałe <> Minix fs support
[] Support IEEE1284 status readback Dostęp do partycji systemu Minix
Jeśli Twoja drukarka dostosowywuje się do IEEE1284 (FireWire?), pozwala dostarczać znaki <> NTFS filesystem support (read-only)
statusu np. cat /dev/lp1 System plików Windows NT. Mo\liwe jest tylko czytanie z tego rodzaju partycji
[*] Unix98 PTY support <> OS/2 HPFS filesystem support (read-only)
Pseudo-Terminal urządzenie programowe pozwalające na prace takich programów jak np. HPFS to system plików systemu OS/2 IBM`a
telnet, xterm [*] /proc filesystem support
[*] Mouse Support (not serial mice) Mice --> Wirtualny system plików tworzony w katalogu /proc do którego jądro zapisuje pliki z
Obsługa myszki podłączonej do portu PS/2. Zaznaczenie tej opcji wymagane jest tylko i informacjami o działalności systemu np. przerwania itp.
wyłącznie przy myszkach PS/2, myszki szeregowe nie potrzebują jej wcale! W sekcji Mice [] /dev/pts filesystem for UNIX98 PTYs
mo\emy wybrać rodzaj naszej myszki Zaznacz tę opcję jeśli zaznaczyłeś UNIX98 PTY support, jest to wirtualny filesystem dla PTY
<> QIC-02 type support <> ROM filesystem support
Jeśli masz takie urządzenie taśmowe (nie SCSI) System plików tylko do odczytu wykorzystywany w inicjującym system disk-ram -ie
[] Watchdog Timer Support <*> Second extended fs support
Opcja u\yteczna w przypadku serwerów, które muszą być przywrócone do pracy po reboot`ie Standardowy system plików wykorzystywany w Linuxie: ext-2. Koniecznie wkompiluj to w
tak szybko jak to mo\liwe jądro.
<> /dev/nvram support <> System V and Coherent filesystem support
[*] Enhanced Real Time Clock Support Jeśli chcesz korzystać z partycji systemów unixowych - SCO, Xenix i Coherent
Dostęp do zegara czasu rzeczywistego <> UFS filesystem support
Video For Linux --> System plików wykorzystywany m.in. przez SunOS, FreeBSD, NetBSD, OpenBED i NeXTstep
<> Video For Linux Network File System -->
Konieczne jest zaznaczenie tej opcji jeśli chcemy oglądać telewizję bądz słuchać radia. Support dla sieciowych systemów plikowych, np. takich jak NFS, SMB
Powinniśmy tak\e wybrać odpowiedni rodzaj naszej karty Partition Types -->
Joystick support --> Native Language Support -->
<> Joystick support Console drivers
Jeśli mamy podłączony do komutera joystick i chcemy go wykorzystywać w grach. Tak\e i [*] VGA text console
tutaj powinniśmy określić model naszego sprzętu Bez tej opcji niemo\liwe będzie korzystanie z Linuxa w trybie tekstowym, a praca z takim
<> Double Talk PC internal speech card support systemem będzie raczej ucią\liwa. Koniecznie zaznacz.
Sterownik dla DoubleTalkPC - syntezatora mowy [] Video mode selection support
Ftape, the floppy tape device driver --> Gdy masz kartę, która pozwala na ustawianie niestandardowych rozdzielczości ekranu
Jeśli masz napęd taśmowy Sound
Filesystem Sound card support
[*] Quota support Jeśli masz kartę dzwiękową w swoim komputerze. Polecam wybranie tej opcji jako moduł, u
Jeśli odpowiesz tak, będziesz mógł ustawiać limity dyskowe u\ytkownikom. Zobacz artykuł o mnie po wkomilowaniu na stałe w jądro wogóle nie mogłem uruchomić karty
Quocie. Musisz tak\e wybrać rodzaj swojej karty. Dla SoundBlaster 16 jest to:
<> Kernel automonter support OSS sound modules
Pozwala na montowanie odległego systemu plikowego na \ądanie 100% Sound Blaster compatibiles (SB16/32/64, ESS, Jazz16) support
<> Amiga FFS filesystem support FM synthesizer (YM3812/OPL-3) support
FFS (Fast File System) jest u\ywany przez Amigi. Jeśli masz taki dysk i chcesz z niego czytać, Dla SoundBlaster Live! nale\y wybrać tylko i wyłącznie:
bądz pisać na nim zaznacz tę opcję OSS sound modules
<> Apple Macintosh filesystem support (experimental) Additional low level sound drivers -->
Pozwala na korzystanie z dyskietek i dysków twardych sformatowanych w systemie plikowym Przyjrzyj się temu menu bli\ej jeśli masz karty: miroSOUND PCM12 i PCM20, Sound Blaster
Macintosh`y 32/64 lub Galant Audio Cards (SC-6000 i SC-6600)
<*> DOS FAT fs support Kernel hacking
Gdy masz obok Linux`a zainstalowanego Windows`a zaznaczenie tej opcji pozwala na [] Magic SysRq key
- 4 -
boot=/dev/hda
Będziesz miał większą kontrolę nad systemem, np. podczas debuggowania jądra. Opcja dla
map=/boot/map
ludzi pracujących nad jądrem systemu.
install=/boot/boot.b
Niektóre objaśnienia
prompt
Niestety, ale nie wszystkie opcje z konfiguracji jądra są mi znane, dlatego pojawiły się pola bez
timeout=50
opisu. Jeśli ktoś mógłby mi pomóc w wyjaśnieniu tych ustawień to bardzo proszę o kontakt.
default=linux
Czekam tak\e na uwagi, jeśli któreś z objaśniej rozmija się z prawdą ...
image=/boot/vmlinuz-2.2.12-20
label=linux
Kompilacja jądra
initrd=/boot/initrd-2.2.12-20.img
Wychodzimy z konfiguratora i zapisujemy ustawienia. Teraz przyszła pora, aby skompilować
read-only
nowe jądro. Zrobimy to za pomocą trzech poleceń:
root=/dev/hda5
make dep
other=/dev/hda1
make clean
label=dos
make zImage
make dep zrobi wszystkie powiązania, make clean wyczyści niepotrzebne śmieci ze zródeł, a
# tutaj definicja nowego jądra, to co dopisałem
make zImage skompiluje nam obraz naszego jądra. Operacja kompilacji trwa zale\nie od
szybkości naszego procesora oraz od ilości zainstalowanej pamięci RAM. Dla Pentium Celeron
image=/boot/vmlinuz-2.2.13
300 i 64 Mb RAM jest to kilkanaście minut.
# ście\ka do pliku z jądrem
label=linux-nowy
Jeśli po kompilacji poleceniem zImage otrzymamy komunikat, \e nasze jądro jest za du\e
# to musimy wpisać po prompcie LILO:
wydajmy polecenie:
# jeśli wszystko będzie grać mo\emy zmienić opcję default
make bzImage read-only
root=/dev/hda5
Mamy ju\ skompilowane jądro, które le\y sobie w pliku
/usr/src/linux/arch/i386/boot/zImage lub jeśli u\yliśmy polecenia bzImage w pliku Przeładowanie LILO
/usr/src/linux/arch/i386/boot/bzImage Bardzo wa\ną rzeczą jest ponowne uruchomienie lilo w celu odczytania zawartości pliku
Teraz powinniśmy skompilować moduły. Robimy to poleceniem lilo.conf. Jeśli zmienialiśmy w nim cokolwiek, zmiany z tego pliku zostaną odczytane dopiero w
make modules momencie wydania polecenia:
A następnie zainstalować je do katalogu /lib/modules/numer.wersji: lilo
make modules_install
System.map
UWAGA: Wa\ne, aby przed wydaniem polecenia make modules_install usunąć z katalogu Jeśli instalowaliśmy nową wersję jądra Linux`a zapewne pojawią się komunikaty, \e plik
/lib/modules/numer-wersji poprzednio skompilowane moduły. Czynność tę musimy wykonać System.map ma niewłaściwą wersję kernela.
tylko w wypadku, gdy kompilujemy jądro o numerze wersji takim samym jak skompilowane Aby to usunąć kopiujemy plik System.map z katalogu /usr/src/linux do kartoteki /boot i
wcześniej. Przykładowo jeśli mamy ju\ jądro 2.2.13 i kompilujemy jądro o takiej samej wersji nadajemy mu nazwę System.map-numer.wersji.
usuwamy katalog /lib/modules/2.2.13. Uchroni nas to przed nadpisywaniem modułów oraz Istniejący w katalogu /boot plik System.map jest tylko dowiązaniem symbolicznym do mapy
komunikatem Unresolved symbol ... systemowej poprzedniego jądra. Usuwamy plik System.map poleceniem:
rm /boot/System.map
Instalacja jądra
Jądro w Linuxie powinno zostać umieszczone w katalogu /boot i nie powinniśmy nadpisywać I tworzymy link do pliku System.map-numer.wersji:
starego jądra, gdy\ mo\e się zdarzyć, \e nowe jądro wcale nie będzie chciało z nami ln-s /boot/System.map-numer.wersji /boot/System.map
współpracować i wtedy zostalibyśmy na lodzie. Przekopiujemy plik jądra do katalogu /boot pod
nową nazwą.
Teraz mo\emy zrestartować nasz system i uruchomić nowe jądro poleceniem, które podaliśmy
cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinux-numer.wersji-nowe
w lilo.conf. Obejrzyjmy czy nie wyskakują jakieś błędy, czy wszystkie urządzenia działają etc.
jeśli mamy jadro skompilowane jako zImage
Potem mo\emy to jądro ustawić jako ładowane standardowo podczas startu systemu.
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinux-numer.wersji-nowe
jeśli u\yliśmy polecenia make bzImage
Autor: Artur Pęczak
Aadowanie jądra
Jądro ładowane jest podczas startu systemu, wywołuje je LInux LOader (LILO). Dlatego te\
skonfigurujemy plik /etc/lilo.conf, który będzie odpowiedzialny za ładowanie naszeho
nowego jądro. Dopiszmy parę linijek do orginalnego pliku
- 5 -


Wyszukiwarka

Podobne podstrony:
Opis jadra Linux a, jego instalacji itp Kompilacja jadra
Kompilacja jądra Linuxa
Kompilacja jądra
Kompilacja jądra Linuxa
linux kompilieren
Opis jadra Linux a, jego instalacji itp Jak własciwie skonf
Opis jadra Linux a, jego instalacji itp Latanie jadra (patc
Opis jadra Linux a, jego instalacji itp Niektore pulapki
Opis jadra Linux a, jego instalacji itp Sztuczki i wskazowk
Opis jadra Linux a, jego instalacji itp Sztuczki i wskazowk
Opis jadra Linux a, jego instalacji itp Pakiety dodatkowe
Opis jadra Linux a, jego instalacji itp Moduly
2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]
Linux 2000 DVB T Experiments
linux kobiety
compilar linux
Linux IPCHAINS HOWTO Appendix Differences between ipchains and ipfwadm
systemy operacyjne cw linux apache mysql
Linux materialy

więcej podobnych podstron