Kjernekompilering i slackware

Har du noe lurt å dele med oss? NB. Dette er ikke et support forum.

Kjernekompilering i slackware

Innleggav flux » ons 09.02.2005 11:52

En enkel og grei oppskrift på hvordan man skal kompilere kjernen i slackware.
Du trenger ikke x når du skal gjøre dette, så logg deg ut;)

Nå må vi bli root for å få retter privelegier
su og root passord

Så må vi editere /etc/lilo.conf
pico /etc/lilo.conf
Så legger du til:
image = /boot/vmlinuz.old
root = /dev/hda1
label = slack.old
read-only
Husk å sette riktig root partisjon, de fleste opererer med hda1
For den som bruker det:
Du trenger ikke å kjøre /sbin/lilo etter at du har konfigurert lilo.conf

Nå kommer vi til delen som gjør det hele til barnemat:
gå til /usr/src/linux
pico Makefile
søk opp denne linja og fjern (#)
#export INSTALL_PATH=/boot
ctrl-x og enter for å lagre, eller ctrl-o for å lagre uten å lukke.

Nå kan vi begynne med å gå inn i selve konfigurerings-vinduet.
For å gjøre det skriver du:
make menuconfig

Jeg vet det finnes flere alternativer, men jeg liker menuconfig best fordi den er mest oversiktelig. Her trenger du en del opplysninger om hva som befinner seg inni din pc. Les nøye gjennom alle valg og bruk 'help' så ofte som mulig!

Du kan kompilere det meste inni kjernen.
usb, firewire eller andre plugg-elementer og lydkort kan godt kompileres som moduler.

Optimalisering:
Dette er et ganske bredt og individuelt område, men det finnes noen kloke ord som er godt å ha i bakhode. Pass på at du ikke kompilerer så mye som modul, intern hardware trenger ikke være modul.
Framebuffer under oppstart er bare dumt, det gjør maskina treger.
For de som bruker nvidia, pass på å slå av rivafb hvis dere skal bruke nvidia sin driver, de går ikke så bra sammen.

Hvis folk har flere tips ang. optimalisering, send meg en mail så jeg kan legge ved, eller poste det under;)

Når du føler at du er ferdig, kan du lagre til .config
Denne fila kan du også bruke på senere kjerner ved å flytte den til rota /usr/src/linux da beholder du de valgene du har gjort fra før av.

Noter deg at /usr/src/linux er en symbolsk link til /usr/src/linux-2.x.x du kan se på det som en snarvei. Hvis du skal laste ned en ny kjerne så må du fjerne /usr/src/linux rm /usr/src/linux og lage en ny link med
ln -s /usr/src/linux-2.x.x /usr/src/linux

Tilbake til kompileringa, Nå kan du skrive
make dep (setter 'kernel dependencies')
make clean (fjerner overflødige filer)
make bzImage (lager 'kernel image')
make
make install (flytter, skriver og installerer alt som trengs)
make modules (bygger kjerne moduler)
make modules_install (installerer moduler)

Der, nå kan du starte maskina di på nytt og håpe på det beste;)

LYKKE TIL!
Sist endret av flux den ons 09.02.2005 13:03, endret 1 gang
medlem i 229 måneder
 

Innleggav mastrb0y » ons 09.02.2005 12:43

syns du burde ha med noe optimalisering av hardware i make.conf også ettersom jeg holder på med det akkurat nå og trenger litt tips :p
medlem i 231 måneder
 

Innleggav flux » ons 09.02.2005 12:56

Optimalisering er en ganske individuell sak, men jeg kan notere ned noen småting som man bør tenke på ja. :D
medlem i 229 måneder
 

Innleggav minno » ons 09.02.2005 17:41

For aa kompilere en kjerne i 2.6-serien bruker man:
make && make modules_install

Da installerer man moduler ogsaa.

Erfaren
Brukerens avatar
medlem i 235 måneder
 

Innleggav flux » ons 09.02.2005 20:32

Ja, det står i posten min :D
medlem i 229 måneder
 

Innleggav ak » ons 09.02.2005 20:36

Det minno påpeker er at du ikke trenger
make dep (setter 'kernel dependencies')
make clean (fjerner overflødige filer)
make bzImage (lager 'kernel image')
make install (flytter, skriver og installerer alt som trengs)
make modules (bygger kjerne moduler)


dersom du kompilerer 2.6, kun
Kode: Merk alt
make && make modules_install


under de siste 15 versjonene av 2.4 har det holdt å gjøre
Kode: Merk alt
make dep && make bzImage modules module_install


(for andre: && gjør at kommandoen til høyre utføres kun dersom kommandoen til venstre ikke feiler)

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav flux » tor 10.02.2005 10:01

make && make modules_install
??

Ak, hva med make install?
Poenget er at ved å redigere Makefile,
så slipper man å flytte på filer og alt det der.
Vil det fungere slik du viste?
medlem i 229 måneder
 

Innleggav ak » tor 10.02.2005 10:11

Ja og nei,

Med 2.6 er det vel en hel del som blir overflødig, med 2.4 så tror jeg ikke "make install" har noen mening?

Spør like mye for å bli korrigert dersom det er noe jeg har gått glipp av. Det er et flott innlegg som vi setter pris på, ikke misforstå :)

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav flux » tor 10.02.2005 10:18

Hehe, neida. Jeg misforstår ikke, ble bare usikker på om det ville fungere hvis man redigerte #export INSTALL_PATH=/boot :?:
medlem i 229 måneder
 

Innleggav xzibiz » søn 25.06.2006 14:02

prøvde å fylla denne guiden te å kompilera ny kernel.
Men fekk ein del errorar etter eg var ferdig.. ::

Kode: Merk alt
skgepnmi.c: In function `DiagActions':
skgepnmi.c:8003: error: structure has no member named `DiagModeActive'
skgepnmi.c:8003: error: structure has no member named `DiagModeActive'
skgepnmi.c:8034: error: structure has no member named `DiagModeActive'
skgepnmi.c:8036: warning: implicit declaration of function `SkDrvEnterDiagMode'
skgepnmi.c:8046: warning: implicit declaration of function `SkDrvLeaveDiagMode'
make[3]: *** [skgepnmi.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.31/drivers/net/sk98lin'
make[2]: *** [_modsubdir_sk98lin] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.31/drivers/net'
make[1]: *** [_modsubdir_net] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.31/drivers'
make: *** [_mod_drivers] Error 2


Kan eg bare fortsette eller må eg gjer någe for å fiksa dette ??
Den sk98lin vet eg ka er, og det er driver te det eina nettverkskortet, men eller vet eg ikkje ka det e?
medlem i 213 måneder
 

Innleggav olear » søn 25.06.2006 15:26

En annen måte å lage ny kernel i Slackware (2.6):
Kode: Merk alt
#!/bin/sh
cd /usr/src
ALSA=1.0.11
KERNEL=`lynx --source ftp://ftp.slackware.no/linux/slackware/slackware-current/testing/source/ | grep 'linux-' | sed '/linux-/!d;/>/,/</!d;s/<[^*]*>//g;s/>//g;s/linux-//g'`
wget -N ftp://ftp.slackware.no/linux/slackware/slackware-current/testing/source/linux-$KERNEL/linux-$KERNEL.tar.bz2
tar xvjf linux-$KERNEL.tar.bz2
wget -N ftp://ftp.slackware.no/linux/slackware/slackware-current/kernels/test26.s/config
cp config linux-$KERNEL/.config
cd linux-$KERNEL
make oldconfig
make bzImage
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-$KERNEL
cp System.map /boot/System.map-$KERNEL
cp .config /boot/config-$KERNEL
ln -sf /boot/vmlinuz /boot/vmlinuz-$KERNEL
ln -sf /boot/System.map /boot/System.map-$KERNEL
ln -sf /boot/config /boot/config-$KERNEL
lilo
cd ..
wget -N ftp://ftp.alsa-project.org/pub/driver/alsa-driver-$ALSA.tar.bz2
tar xvjf alsa-driver-$ALSA.tar.bz2
cd alsa-driver-$ALSA
./configure --with-isapnp=yes --with-sequencer=yes --with-oss=yes --with-kernel=/usr/src/linux-$KERNEL
make
make install

Erfaren
Brukerens avatar
medlem i 226 måneder
 

Innleggav xzibiz » fre 30.06.2006 17:42

olear:
Prøvde det scriptet der.. men funka ikkje.. har enda 2.4.31 kernel.
Men såg at den tog den siste testing kernel versjonen, og ikkje den siste stabile.. Koffer det ??


Fekk opp dette heilt te slutt.::
Kode: Merk alt
/sbin/depmod -a 2.4.31 -F /lib/modules/2.4.31/build/System.map
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/block/cciss                                                                             .o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/ieee1394/sb                                                                             p2.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/message/fus                                                                             ion/mptscsih.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/message/i2o                                                                             /i2o_scsi.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/net/fc/iph5                                                                             526.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/3w-xxx                                                                             x.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/53c7,8                                                                             xx.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/AM53C9                                                                             74.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/BusLog                                                                             ic.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/NCR53c                                                                             406a.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/a100u2                                                                             w.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aacrai                                                                             d/aacraid.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/advans                                                                             ys.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aha152                                                                             x.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aha154                                                                             2.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aha174                                                                             0.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ahci.o                                                                             .gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aic7xx                                                                             x/aic79xx.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aic7xx                                                                             x/aic7xxx.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/aic7xx                                                                             x_old.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ata_pi                                                                             ix.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/atp870                                                                             u.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/cpqfc.                                                                             o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/dmx319                                                                             1d.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/dpt_i2                                                                             o.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/dtc.o.                                                                             gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/eata.o                                                                             .gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/eata_d                                                                             ma.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/eata_p                                                                             io.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/fdomai                                                                             n.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/g_NCR5                                                                             380.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/gdth.o                                                                             .gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ide-sc                                                                             si.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/imm.o.                                                                             gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/in2000                                                                             .o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/initio                                                                             .o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ips.o.                                                                             gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/libata                                                                             .o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/megara                                                                             id.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/megara                                                                             id2.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ncr53c                                                                             8xx.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/nsp32.                                                                             o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/osst.o                                                                             .gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pas16.                                                                             o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pci200                                                                             0.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pci222                                                                             0i.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pcmcia                                                                             /aha152x_cs.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pcmcia                                                                             /fdomain_cs.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pcmcia                                                                             /nsp_cs.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/pcmcia                                                                             /qlogic_cs.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ppa.o.                                                                             gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/psi240                                                                             i.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/qla128                                                                             0.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/qlogic                                                                             fas.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/qlogic                                                                             fc.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/qlogic                                                                             isp.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_n                                                                             v.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_p                                                                             romise.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_q                                                                             stor.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_s                                                                             il.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_s                                                                             is.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_s                                                                             vw.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_s                                                                             x4.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_u                                                                             li.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_v                                                                             ia.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sata_v                                                                             sc.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/scsi_d                                                                             ebug.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/seagat                                                                             e.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sim710                                                                             .o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/st.o.g                                                                             z
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sym53c                                                                             416.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sym53c                                                                             8xx.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/sym53c                                                                             8xx_2/sym53c8xx_2.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/t128.o                                                                             .gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/tmscsi                                                                             m.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/u14-34                                                                             f.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/ultras                                                                             tor.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/scsi/wd7000                                                                             .o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/usb/hpusbsc                                                                             si.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/usb/microte                                                                             k.o.gz
depmod: *** Unresolved symbols in /lib/modules/2.4.31/kernel/drivers/usb/storage                                                                             /usb-storage.o.gz
if [ -L /usr/include/sound ]; then \
        rm -f /usr/include/sound; \
        ln -sf /usr/alsa-driver-1.0.11/include/sound /usr/include/sound; \
else \
        rm -rf /usr/include/sound; \
        install -d -m 755 -g root -o root /usr/include/sound; \
        for f in include/sound/*.h; do \
                install -m 644 -g root -o root $f /usr/include/sound; \
        done \
fi
cat WARNING

WARNING!!! The mixer channels for the ALSA driver are muted by default!!!
**************************************************************************
You would use some ALSA or OSS mixer to set the appropriate volume.
medlem i 213 måneder
 

Innleggav xzibiz » fre 30.06.2006 20:51

fekk det til etter ei stund..
Måtte velge bort alt lyd driverar, men det gjorde ingen ting siden det er ein server og trenger derfor ingen lyd.
Men når eg var ferdig fekk eg ei linje eg ikkje heilt forstod:
Kode: Merk alt
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map  2.6.17; fi
medlem i 213 måneder
 

Innleggav olear » lør 01.07.2006 17:52

xzibiz skrev:olear:
Prøvde det scriptet der.. men funka ikkje.. har enda 2.4.31 kernel.
Men såg at den tog den siste testing kernel versjonen, og ikkje den siste stabile.. Koffer det ??


Beklager seint svar, scriptet bruker 2.6.16.x da denne er den mest stabile.

Som du sikkert fikk med deg var det ALSA som ikke ville kompilere, dette er som du sa ikke nødvendig.

Anbefaler å holde deg på 2.4 på server enda, iallefall hvis 2.6 er egenkompilert.

Erfaren
Brukerens avatar
medlem i 226 måneder
 

Innleggav xzibiz » lør 01.07.2006 17:59

Fekk fjerna ALSA, og fått kompilert kernelen.
Laga ny linje i lilo.conf filå sånn at eg kan velge å starte med 2.4 eller 2.6 kernel. Men etter å ha lagt 2.6 får eg bare svart skjerm... Er det någe eg mangler inne på gmake menuconfig eller er det någe aent så kan ver gale ?
medlem i 213 måneder
 

Neste

Returner til Tips og triks / Favoritter



Hvem er i Forumene

Registrerte brukere: Google [Bot]



cron