Gå til innhold

problemer ved kompilering av ny kjerne (for stor?)


Anbefalte innlegg

Hei.

Jeg prøvde nå å kompilere ny kjerne (2.6.9) til linux (slackware). Jeg fulgte README-fila, og gjorde følgende:

 

Pakka ut den .tar.bz2-fila (linux-2.6.9.tar.bz2) til /root

cd /root/linux-2.6.9

make mrproper

make xconfig (og gjorde konfigurasjonene)

make

 

Da så jeg at den kompilerte kjerna (en fil ved navn vmlinux) dukka opp i /root/linux-2.6.9.

Den kopierte jeg over til /boot, hvor den gamle ligger.

For ordens skyld så renama jeg den gamle kjerna (vmlinuz) til vmlinuz.old.

Så da har jeg 2 kjerner i /boot mappa: vmlinux (som er den nye) og vmlinuz.old (som er den gamle).

Deretter gikk jeg inn i /etc/lilo.conf for å konfigurere bootloaderen.

Jeg redigerte litt der, og den ser nå sånn ut:

 

# Linux bootable partition config begins
image = /boot/vmlinux
root = /dev/hda4
label = Linux.new
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz.old
root = /dev/hda4
label = Linux.old
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
other = /dev/hda1
label = Windows

Jeg renama labelen til linux.new og linux.old for ordens skyld.

Deretter skrev jeg "lilo" i consolen, for å installere bootloaderen. Da fikk jeg en feilmelding:

Fatal: Kernel /boot/vmlinux is too big

 

Den feilmeldinga sier jo klart ifra hva som er feil, men hvordan kan jeg få linuxkjerna mindre? Jeg har kun tatt med det jeg trenger i configen når jeg konfigurerte den.

 

Takker for evt. svar. :)

Lenke til kommentar
Videoannonse
Annonse

make bzImage brukes ikke på 2.6 kerneler.

Du bare skriver make, så bygges bzImage som du finner under path Bøb oppga.

For stor kernel er en typisk nybegynnerfeil, når man bygger kernel første gang, og tar med alt for mye.

Eventuellt kan du prøve grub i stedet for lilo, mulig den er snillere med kernelstørrelser.

For å spare på plassen kan du også bygge ting som moduler, pass bare på at dem blir loadet når dem trengs da.

Selv er min kernel 1.9MB, sikkert mange som har mindre også. Hvor stor er den du laget?

Lenke til kommentar

Eg pleier å ta "make bzImage" fordi eg av ein eller annan grunn likar å legge inn filene i /boot manuelt.

 

Eg bruker:

 

make mrproper

make menuconfig

make

make modules_install

make bzImage

 

Det funker topp.

 

Så kopierar eg /usr/src/linux/System.map og /usr/src/linux/arch/i386/boot/bzImage til /boot med andre namn enn dei kjernene som ligg der, og redigerar /etc/lilo.conf og køyrer /sbin/lilo

 

:cool:

Endret av objorkum
Lenke til kommentar

Det er jo bare tull å dra make bzImage etter make, for da har du jo allerede bygget bzImaget.

Når jeg bygger kernel gjør jeg dette:

make menuconfig
make
make modules_install
cp arch/i386/boot/bzImage /boot/kernel-<version>
cp System.map /boot/System.map-<version>
cp .config /boot/config-<version>

På den måten vet jeg hvilke kerneler jeg har med hvilke navn, og kan gjenskape dem med configen.

Også greit hvis jeg roter med configen i kernel-sourcen, for da har jeg alltid configen til den kjørende kernelen som backup.

Endret av zyp
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...