Så här gör jag när jag bygger en ny kärna. OBS! Jag är inte "root".
Ladda ner källkoden
Jag skapa katalogen /home/hakan/kernel och går till www.kernel.org och laddar ner den senaste versionen(2.6.23.1, i nuvarande läge) dit.
flytta dit.. $ cd /home/hakan/kernel Packa upp.. $ tar xvfj linux-2.6.23.1.tar.bz2. Detta ger en katalog "linux-2.6.23.1", flytta dit.. $ cd linux-2.6.23.1.
Kontrollera att du har alla verktyg.
I katalogen linux-2.6.23.1 finns "README", läs den, gå sedan till Documentation/Changes där står hur
du kontrollerar att du har alla verktyg. Reiser, pcmcia, PPP och isdn4k-utils behövs bara om du vill
ha dom funktionerna. Vissa kommandon måste du vara root för att köra.
$ make mrproper
Ser till att koden är i sin ordning. Gör du en "omkompilering" kör $ make clean också, kom ihåg att detta tar bort ev. .config-fil du har.
$ make xconfig
Detta är det "grafiska" sättet, vilket jag tycker är enklast.
Jag började med att "Load", d.v.s. ta en gammal .config-fil som jag vet fungerar. Ex.v.kan du använda den som du har i din /boot-katalog.Kom ihåg att kopiera och döpa om den till .config innan.
Jag måste hålla ordning på dom olika kärnorna. Om jag gör en ny kompilering av en kärna med samma nummer, öppnar jag "Makefile"(i katalogen linux-2.6.23.1) innan jag kör "xconfig" och lägger till något under "EXTRAVERSION". När du sedan kör make modules_install så skapar det en ny /lib/modules/2.6.23.1-2, sedan "döper" du kärnan,.config och System.map på samma sätt.
VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 23 EXTRAVERSION = .1-2
Till sist "Save and Exit"
Då kör vi.. $ make ..nu byggs kärnan och modulerna.. Sedan mäåste du bli "root".. $ su password # make modules_install
Detta skapar en katalog /lib/modules/2.6.23.1
Nu lägger vi allt i /boot
# cp .config /boot/config-2.6.23.1 # cp System.map /boot/System.map-2.6.23.1 Flytta till "kärnan".. # cd arch/i386/boot/ # cp bzImage /boot/vmlinuz-2.6.23.1
Grub
Jag använder Grub, fördelen är bl.a. att jag inte behöver skriva till MBR. När Grub startar, tryck e så kan du sedan ändra till den kärna du vill starta med, fungerar det så ändra/lägg till i "menu.lst". Nedan ett exempel med 2 kärnor för samma dist.
title Slackware 12.0 root (hd0,6) kernel /boot/vmlinuz-2.6.23.1 root=/dev/sda7 ro vga=771 savedefault boot title Slackware TEST root (hd0,6) kernel /boot/vmlinuz root=/dev/sda7 ro vga=771 initrd /boot/initrd.gz savedefault boot
Lilo
Ändra i /etc/lilo.conf
# Linux bootable partition config begins # Detta är Slackware-distributionen installerad med "/"(rootkatalogen) på sda7. image = /boot/vmlinuz-2.6.23.1 root = /dev/sda7 label = Slack12 read-only #Detta är Slackware-distributionen med en annan kärna image = /vmlinuz # Sökvägen till din kärna. initrd = /boot/initrd.gz # sökväg till din "initrd.gz" root = /dev/sda7 # "/"(root-katalogen). label = SlackTEST # Välj ett namn. read-only # Ska alltid monteras read-only först för att testas. # Linux bootable partition config ends
Sedan måste du köra #/sbin/lilo