Toon posts:

Kernel Compilen ... voor newbies ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Khoor regelmatig hier dat mensen hun kernel moeten recompileren voor proggies e.d. Laatst downloade ik de laatse Nvidia drivers en daarbij moet je ook je kernel compilen. Kan iemand eens duidelijk en *eenvoudig* uitleggen wat de pc dan doet en eventueel een linkje naar een helder geschreven How-To posten ?

TIA ;)
Taranis

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 20-04 10:57
dit is eerst even een test om te kijken of ik wel kan reageren, want m'n passwd op tweakers werkt niet :(
De uitleg komt meteen erna, wanneer ik wel kan reageren ;)
[edit]
ik kan reageren... dus hier komt de uitleg over kernels...

't makkelijkste is even de volgende stappen te volgen:
code:
1
2
3
4
5
6
7
cd /usr/src/linux
make menuconfig      (hier kun je allerlei dingen instellen/veranderen die je in je kernel wilt hebben of niet)
make dep
make clean
make modules
make modules_install
make bzImage          (denk om de hoofdletter "I")

hierna staat de nieuwe kernel in :
/usr/src/linux/arch/i386/boot/
't is dan de file "bzImage"
't beste kun je die file dan kopieren naar de dir
/boot/
't liefst met een naam die je makkelijk kunt herkennen, zoals "test_kernel"
dus
cp /usr/src/linux/arch/i386/boot/bzImage /boot/test_kernel
will do the trick ;)
daarna moet je aal de boot-loader (lilo dus) kenbaar maken dat je een nieuwe kernel hebt gebakken.
Dat doe je door in de file
/etc/lilo.conf
je nieuwe kernel toe te voegen.
code:
1
2
3
4
default = test
image = /boot/test_kernel
  label = test
  root = /dev/hda1

Het moge duidelijk zijn dat hier /dev/hda1 mijn linux partitie is, die kan bij iedereen anders zijn.
't is mischien ook niet onverstandig om de time-out wat hoger in te stellen, wanneer de nieuwe kernel toch niet helemaal doet wat 'ie moet doen en je dus gauw een andere moet selecteren/kiezen

Na dit alles roep je lilo een keer aan en dan moet je ongeveer 't volgende krijgen:
code:
1
2
3
[root@server /root]# /sbin/lilo
Added linux
Added test *

't sterretje geeft aan wat de default is.

Hou in je achterhoofd dat een kernel compileren een heel zware belasting is voor je systeem en 't heel goed fout kan gaan, wanneer je systeem overgeklokt is.

Wanneer je een dual-systeem hebt kun je, om tijd te besparen, ook de optie -j4 meegeven aan make.
"make dep" wordt dan dus "make -j4 dep"
er worden dan 4 processen tegelijk gestart, waardoor beide CPU's vaker volledig worden belast;) (doe dit alleen als je zeker weet dat 't compileren goed gaat, omdat 't make-proces niet stopt bij een foutmelding, aangezien er 4 tegelijk draaien.
Zet ook je }:O uit tijdens 't compileren. 't kan namelijk vervelende dingen veroorzaken.

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


  • Mior
  • Registratie: Maart 2000
  • Laatst online: 02-05 19:55
makkelijker is gewoon na make menuconfig dit in te typen:

make dep
make clean
make bzImage
make bzlilo
make modules
make modules_install
depmod -a

en rebooten maar..

make bzlilo installeert de nieuwe kernel automatisch in je lilo config.

  • imdos
  • Registratie: Maart 2000
  • Laatst online: 04-05 14:00

imdos

I use FreeNAS and Ubuntu

Nog 1 ding ...

je kan het achter elkaar schrijven

dus=> make dep; make clean; etc

verder opletten dat /usr/src/linux geen sym-link is naar /usr/src/linux-2.2.x want dan wil die meestal (bij mij altijd) geen bzImage maken :(

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 20:39

Valium

- rustig maar -

Op woensdag 03 januari 2001 23:35 schreef imdos het volgende:Nog 1 ding ...
dus=> make dep; make clean; etc
Beter is: make dep && make make clean && etc... Die && zorgt ervoor dat hij alleen doorgaat als er geen fouten optreden.

Verder heb je de volgende pakketten nodig om je kernel te kunnen compileren:
je kernel-source (duh)
bin86 (of iets wat daarop lijkt. Hiermee kun je binaries maken. De kernel heeft het nodig anders loopt het compileren fout helemaal op 't eind.)
ncurses-devel (om het menuutje te maken om alles in te stellen)