Kompilera 2.2-kärna
Konfigurering
Det första som ska göras är att konfigurera kärnan och tala om vad som ska finnas med i kärnan. Starta konfigureringen medmake menuconfigeller om du kör i fönstermiljö (X-window System) och vill köra konfigurationen i ett separat fönster
make xconfigUtseendet på xconfig visas nedan.
Nedan visas menuconfig men xconfig fungerar snarlikt.
make menuconfig startar ett menybaserat konfigurationsgränssnitt. Nedan visas exempel på hur det kan se ut. Klicka på bilderna för att få en större bild.
Programmet är menybaserat. Stega runt med piltangenterna, gå ner i undermenyer genom att välja select och gå ur en undermeny genom att välja exit. Menyprogrammet avslutas även det med exit. Är du osäker om någonting välj help och läs texten. I de flesta av hjälptexterna föreslår de vad du ska göra om du är osäker. I menyn innebär [ ] att valet är bortvalt, [*] att det är valt och kommer att läggas in i kärnan, <M> att det kommer att kompileras som en modul.
1) Gå uppifrån och ned i huvudmenyn och gå in på alla undermenyer. |
2) Välj bort Code maturity level options. |
||||
3) Välj att kompilera kärnan för 586 (Pentium) eller bättre beroende på vad du har för processor. Välj bort "Math emulation" såvida inte du har en gammal processor som saknar matteprocessor (vissa modeller av 386 och 486). Symetric multiprocessorstöd är till för de datorer som har fler än en processor. |
4) Slå på "Enable loadable module support" om du använder moduler. |
||||
5) Under "General Setup" görs inställningar av om datorn ska ha nätverksstöd, PCI-stöd (de flesta PC-datorer har PCI-buss), support för olika typer av programformat (det gamla a.out och det nuvarande ELF). Se till att ELF är valt annars kommer inga Linuxprogram att fungera. Parallellportstöd kan vara bra att ha om parallellporten ska kunna användas. Advanced Power Management BIOS support är stöd för att spara ström i till exempel bärbara datorer. |
6) "Plug and Play support" gör att kärnan kan konfigurera vissa kort. |
||||
7) Under "Block devices" bör du välja floppystöd och ATAPI CD-rom (såvida inte du saknar diskettstation och eller ATAPI-CD). SCSI-CD väljs under "SCSI-support" |
8) "Network options" är den del där du väljer
att ha stöd för TCP/IP (TCP/IP networking),
firewalling (brandväggsstöd), masquerading
(hör till brandväggsstödet). Slå på TCP/IP networking,
slå på alla som har med firewalling att göra. Ska
datorn agera brandvägg med flera nätverkskort måste
Advanced router slås på och det är lämpligt att slå
på optimize as router not host. I filen
/etc/sysconfig/network ska FORWARD_IPV4 sättas till
true om datorn ska kunna agera router (FORWARD_IPV4=true).
Alternativt gör du |
||||
9) Slå på Telephony support om du har ett telefonkort. |
10) Gå in på SCSI-support och välj SCSI-support om du har några SCSI-kort i din dator. Är du osäker sitter det antagligen inte några SCSI-kort i datorn. Om det sitter ett eller flera SCSI-kort i datorn välj de typer av enheter som är anslutna till korten, diskar, band, diskettenheter etc. Välj bort "Probe all LUNs on each SCSI device" så att det inte tar en evighet att boota datorn. Under "SCSI low-level drivers" väljer du vad det är för typ av SCSI-kort (SCSI-hårdvara) som sitter i maskinen. |
||||
11) Bilden ovan visar exempel på hur valet av SCSI-hårdara kan se ut. |
12) Om det sitter I20 i datorn välj det. |
||||
13) Gå in på "Network device support" och gå ner i menyn för den typ av nätverkskort du har (antagligen 10 eller 100 Mbit/s ethernet). |
14) Välj det nätverkskort du har. |
||||
15) Välj "Amateur Radio support" om du nu mot förmodan har det. |
16) Om datorn har en infraröd länk välj IrDA-stöd. |
||||
17) Om det finns en ISDN-anslutning till datorn välj ISDN. |
18) Sitter det någon lite äldre CD-spelare i datorn gå in på "Old CD-ROM drivers" där hittar du CD-spelare som till exempel Sony CDU31A/CDU33A, Sony CDU535, Matsushita/Panasonic/Creative, Mitsumi. |
||||
19) Gå in på "Character devices" och slå på "Virtual terminal" (utan den är maskinen inte så användbar). Välj vidare typ av mus, joystick etc. |
20) Stöd för olika typer av filsystem görs under "Filesystems". Se till att åtminstone "Second extended fs support" är valt (Linuxfilsystem) och att den är vald att läggas in i kärnan. För att kunna läsa CD-skivor behövs stöd för ISO-9660 och i en del fall även Joliet (Joliet är en utökning ovanpå ISO9660 som bland annat Windows använder). DOS FAT fs support ger möjlighet att läsa DOS-filsystem. VFAT (Windows-95) fs support ger möjliget att läsa lokala Windows-95-diskar. Om NFS ska användas måste den aktiveras under "Network File Systems". Välj även typ av teckenkodning som ska kunna användas till filnamn under "Native Language Support". Se till att åtminstone NLS ISO-8859-1 och eventuellt NLS ISO-8859-15 är valda. Observera att denna endast gäller tecken i filnamn inte innehåll i filer. |
||||
21) Se till så att "VGA text console" är vald under "Console drivers". |
22) Gå in på "Sound" och välj det ljudkort som sitter i datorn eller välj bort ljudstöd om inget ljudkort finns. |
||||
23) Gå in på "Kernel hacking" och slå av Magic SysRq key. |
24) I huvudmeny välj Exit och när exit frågar om inställningarna ska sparas svara ja, "Yes". |
||||
Saving your kernel configuration... *** End of Linux kernel configuration. *** Check the top-level Makefile for additional configuration. *** Next, you must run 'make dep'.
Beroenden
Nästa steg är att göra som menyprogrammet föreslogmake dep
Kompilering av kärnan
Nästa steg är att kompilera kärnan. Det görs medmake bzImageNu kan du gå och ta en fika.
Installera kärnan
Kopiera filen /usr/src/linux/arch/i386/boot/bzImage till katalogen /boot och passa på och ge den ett nytt namn. Exempel:cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.19-minom det är en 2.2.19-kärna.
Kopiera därefter filen /usr/src/linux/System.map till /boot/System.map-2.2.19 .
cp /usr/src/linux/System.map /boot/System.map-2.2.19Radera /boot/System.map och sätt upp en länk /boot/System.map som pekar på /boot/System.map-2.2.19 .
rm /boot/System.map ln -s /boot/System.map-2.2.19 /boot/System.map
Öppna filen /etc/lilo.conf i en editor. Från början kanske den innehöll följande:
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 default=linux image=/boot/vmlinuz-2.2.12-20 label=linux initrd=/boot/initrd-2.2.12-20.img read-only root=/dev/hda1Skapa en ny post för den nya kärnan utan att ta bort posten för den gamla kärnan. Den gamla kärnan kan behövas om det blev någonting fel med den nya kärnan. Det är lätt att råka välja någonting fel och då är det bra att fortfarande kunna boota den gamla kärnan. Ge den nya kärnan en bra etikett (label). /etc/lilo.conf ser efter ändring ut så här:
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 default=linux # Nya kärnan image=/boot/vmlinuz-2.2.19-min label=linux read-only root=/dev/hda1 # Gamla kärnan image=/boot/vmlinuz-2.2.12-20 label=linux-old initrd=/boot/initrd-2.2.12-20.img read-only root=/dev/hda1Spara filen och kör därefter programmet lilo.
liloNär lilo körs talar om vad den har skriver, där stjärnan visar att linux är defaultboot
Added linux * Added linux-oldNu är det bara att boota om för att ta den nya kärnan i drift. Om moduler används kan det dock vara bra att kompilera och installera dessa också först (se nedan).
Kompilera moduler
Modulerna kompileras medmake modules
Installation av moduler
Modulerna installeras medmake modules_install
In- och urladdning av moduler
När kärnan är installerad och modulerna kompilerade och installerade och datorn ombootad med den nya kärnan är det dags att börja använda modulerna. Innan modulerna kan användas bör man göradepmod -a
För att kunna använda en modul, tex opl3sa2, måste den laddas in vilket görs med
modprobe opl3sa2För att lista laddade moduler skriv
/sbin/lsmodNär en modul inte längre används kan den laddas ur vilket görs med
modprobe -r opl3sa2För att tala om vilken modul som ska användas som drivrutin för viss hårdvara kan inställningar behöva göras i /etc/conf.modules. Till nyare kärnor används istället filen /etc/modules.conf.
Om första nätverkskortet är av typen eepro100 och modulen eepro100 är den som ska användas kan man skriva in följande i /etc/conf.modules för att kärnan ska hitta rätt modul.
alias eth0 eepro100Nu går det att använda eth0 istället för eepro100 så till modprobe går det att skriva
modprobe eth0Om kärnan är inställd på att automatiskt ladda moduler den behöver kan den hitta rätt modul tack vare inställningarna i /etc/conf.modules.
Copyright © 2010-2024
Kjell Enblom.
This document is covered by the GNU Free Documentation License, Version 1.3
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".