# [OPGELOST] Kernel compileren klaar in 5 min?

## possstema

Hallo, ik ben gentoo 2005.0 aan het installeren. Toen ik het make && make modules ( oid ) commando heb gegeven om de kernel te compileren, was ie na 5 a 10 minuten al klaar, dat leek mij wat raar. Ook eindigde het met een half afgebroken if the statement. Kan iemand mij zeggen of dat klopt, of misschien hoelang het compileren van een kernel gemiddeld duurt ( of ik het dus overnieuw moet doen  :Smile:  ).

Mvg,

JorritLast edited by possstema on Mon Apr 18, 2005 1:46 pm; edited 2 times in total

----------

## Vulpes_Vulpes

Dat hangt natuurlijk helemaal van de snelheid en de hoeveelheid geheugen van je systeem af. Maar op een vrij nieuw systeem (2 GHz met 512 MB) kan je kernel best in 10 min klaar zijn hoor!  :Smile: 

Een half afgebroken if statement lijkt mij niet goed!  :Sad:  Probeer het anders nog een keer en kijk of hij op hetzelfde punt stopt...

----------

## possstema

 *Vulpes_Vulpes wrote:*   

> Dat hangt natuurlijk helemaal van de snelheid en de hoeveelheid geheugen van je systeem af. Maar op een vrij nieuw systeem (2 GHz met 512 MB) kan je kernel best in 10 min klaar zijn hoor! 
> 
> Een half afgebroken if statement lijkt mij niet goed!  Probeer het anders nog een keer en kijk of hij op hetzelfde punt stopt...

 Nou het staat op een 1.2 p3 met 256 ram pc. Ik installeer heel gentoo wel opnieuw, maar jammergenoeg duurt stage 1 en 2 zo lang  :Smile: .

----------

## garo

Je moet niet heel de installation guide van gentoo terug aflopen, gewoon de kernel hercompileren (je weet wel: vanaf "make menuconfig") is genoeg.

----------

## nielchiano

als je die kernel aan het HERcompileren bent, kan dat na 1 minuut al gedaan zijn: make is slim genoeg om te zien dat bijna alles van de vorige keer nog kan gerecycleerd worden en compileert enkel de nieuwe dingen.

Tenzij je een make clean of make mrproper ertussen zet, dan is alles weg en begin je met een schone lei

----------

## possstema

nou, het probleem blijf, het eindigd elke keer met:

```
if [ -r System.map ]; then /sbin.depmod -ae -F System.map 2.6.11-gentoo-r5; fi
```

----------

## Htbaa

Ik zelf gebruik altijd 

```
genkernel --menuconfig all
```

 en sla vervolgens de config file op voor als backup. Genkernel gaat altijd goed bij mij en vind het zelf een stuk fijner. Maar goed, ik ben ook maar een beginnende Linux gebruiker  :Smile: .

----------

## nielchiano

dat lijkt mij een correct einde...

----------

## garo

 *possstema wrote:*   

> nou, het probleem blijf, het eindigd elke keer met:
> 
> ```
> if [ -r System.map ]; then /sbin.depmod -ae -F System.map 2.6.11-gentoo-r5; fi
> ```
> ...

 

Dit is een correct commando, om precies te zijn een correct bashcommando.

Bash is niet alleen een shell, het is een ook een beperkte scripting taal, het if statement in bash wordt afgesloten door fi.

"if [ -r System.map ]; then /sbin.depmod -ae -F System.map 2.6.11-gentoo-r5; fi" betekent eigenlijk:

Voer het het commando "/sbin.depmod -ae -F System.map 2.6.11-gentoo-r5" uit indien het bestand "System.map" bestaat en de huidige user het kan lezen.

Kan het zijn dat er tussen sbin en depmod een "/" in plaats van een "." staat. Een "." lijkt me niet correct...

----------

## racoontje

 *garo wrote:*   

>  *possstema wrote:*   nou, het probleem blijf, het eindigd elke keer met:
> 
> ```
> if [ -r System.map ]; then /sbin.depmod -ae -F System.map 2.6.11-gentoo-r5; fi
> ```
> ...

 

Garo heeft hier (overal) groot gelijk  :Wink: 

Trouwens, 10 minuten voor een kernel kan best, zeker als je niet al te veel drivers hebt.

----------

## Rainmaker

klinkt inderdaad alsof je een mooi kerneltje gebakken hebt met niet al teveel onnodige zooi  :Smile: 

10 minuten is best reel, ik heb ooi met het absolute minumum (geen enkele driver die ik niet nodig had om te booten) in 2-3 minuten een kernel gecompileerd. (ik heb wel een iets grotere processor: AMD 2500)

----------

## possstema

jongens, bedankt voor de antwoorden, jullie hadden gelijk, de kernel was prima. Maar toen was ik al weer opnieuw begonne, maar dat maakt niet zoveel uit, er waren toch wat dingen die ik anders wou. Ik heb gentoo nu draaien, maar eerst deed i-net het niet, er was geen driver voor mijn netwerkkaart. Ik wist niet welke ik heb ( ik heb een Hi-Grade Notino 3400 notebook ) dus nu heb ik alle drivers van netwerkkaarten in de kernel gecompileerd en nu doet ie het wel. Maar ik heb een beetje rare tik, ik kan niet tegen overbodige troep op men pc's, is het ook mogelijk om te zien welke driver er nu wordt gebruikt zodat ik alleen die in de kernel hoef te compileren. En hoe verwijder ik een kernel, kan ik gewoon /boot/kernel-2.6.11-gentoo-r5, /boot/System.map-2.6.11-gentoo-r5 en /boot/config-2.6.11-gentoo-r5 verwijderen dmv rm commando? Want nu gooi ik de nieuwe kernel er elke keer over heen en ik heb het idee dat er dan nog troep van de oude kernel overblijft ( zoals modules ed ). Btw, ik heb gister emerge kde gedaan, doet kde het dan meteen of moet ik eerst wat instellen.

----------

## nielchiano

 *possstema wrote:*   

> is het ook mogelijk om te zien welke driver er nu wordt gebruikt zodat ik alleen die in de kernel hoef te compileren.

 

juist na het opstarten eens het commande dmesg ingeven (of beter: dmesg | less) en overlopen; daar zal je zien dat hij drivers laad. Kijk welke hij laad voor eth0 of eth1 of ...

 *Quote:*   

> En hoe verwijder ik een kernel, kan ik gewoon /boot/kernel-2.6.11-gentoo-r5, /boot/System.map-2.6.11-gentoo-r5 en /boot/config-2.6.11-gentoo-r5 verwijderen dmv rm commando? Want nu gooi ik de nieuwe kernel er elke keer over heen en ik heb het idee dat er dan nog troep van de oude kernel overblijft ( zoals modules ed ). Btw, ik heb gister emerge kde gedaan, doet kde het dan meteen of moet ik eerst wat instellen.

 

Jep, rm op de /boot/kernel is voldoende; als je ook je config en/of de System.map hebt gekopieerd, mogen die ook weg.

Het enige dat hij nog achterlaat is in /lib/modules/kernel-naam, als je modules hebt geactiveerd. die volledige directory mag er ook aan.

Eventueel kan je ook de /usr/src/linux-versie wissen van een oude kernel, maar properder is een unmerge te doen van de desbetreffende versie. Let wel op, want het kan zijn dat emerge niet de volledige directory wist omdat er nog wat gecompileerde rommel in staat. Zelf afwerken met een rm-rf is dan nodig

----------

## thomasvk

Oude koeien uit de sloot...  :Smile: 

Als ik mijn kernel compileer op mijn AMD Athlon XP 3000+ met 1GB ram duurt het een paar minuutjes, dus ik denk dat 10 minuten wel reëel is.

Wat ik steeds doe als ik m'n kernel hercompileer:

```
# cd /usr/src/linux

# make menuconfig

# make && make modules_install

# cp arch/i386/boot/bzImage /boot/kernel-2.6.11-r6

# cp System.map /boot/System.map-2.6.11-r6

# cp .config /boot/config-2.6.11-r6

```

...komt eigenlijk direct uit de installation guide. Ik neem aan dat het cp commando gewoon overschrijft, en dus alle oude troep weggooit.

Misschien helpt voor het vinden van je netwerkkaart het volgende:

```
# lspci | grep -i eth
```

Of anders de | grep -i eth weghalen, en kijken wat het meest op een netwerkkaart lijkt. Als hij zeurt dat 'ie lspci niet kan vinden, moet je even pciutils naar binnen trekken:

```
# emerge -av pciutils
```

Maar nielchiano heeft al de status l33t dus hij zal het vast beter weten.  :Wink: 

 *Htbaa wrote:*   

> Ik zelf gebruik altijd 
> 
> ```
> genkernel --menuconfig all
> ```
> ...

 

Ik dacht in de installation guide gelezen te hebben dat je met genkernel ook --udev oid moest doen, om udev te gebruiken. Weet niet zeker hoor.

Luister niet teveel naar mij.  :Razz:  Doe pas 3 weken Gentoo, maar vind het altijd leuk om mensen te proberen te helpen.  :Smile: 

----------

## nielchiano

 *t0maz wrote:*   

> Oude koeien uit de sloot... 
> 
> Als ik mijn kernel compileer op mijn AMD Athlon XP 3000+ met 1GB ram duurt het een paar minuutjes, dus ik denk dat 10 minuten wel reëel is.
> 
> Wat ik steeds doe als ik m'n kernel hercompileer:
> ...

 

Ja en nee: cp gaat, als de file reeds bestaat, die inderdaad gewoon overschrijven. Als je echter upgrade naar een nieuwe versie van de kernel, zullen alle oude files gewoon blijven staan.

Je kan ook opteren om het versienummer weg te laten; dan is het wel zelf-kuisend.

----------

## thomasvk

 *nielchiano wrote:*   

>  *t0maz wrote:*   ...
> 
>  
> 
> Ja en nee: cp gaat, als de file reeds bestaat, die inderdaad gewoon overschrijven. Als je echter upgrade naar een nieuwe versie van de kernel, zullen alle oude files gewoon blijven staan.
> ...

 

Owja, bij het upgraden naar een nieuwe versie blijven ze wel staan inderdaad. Niet vergeten Grub/Lilo config aan te passen aan de nieuwe kerel.  :Rolling Eyes: 

Handiger is inderdaad om dan het versienummer weg te laten.

----------

## nielchiano

 *t0maz wrote:*   

> Handiger is inderdaad om dan het versienummer weg te laten.

 

Ik ga lastig doen, maar leer misschien uit mijn fouten:

Ik houd altijd minstens 2 kernels in grub. Als ik een nieuwe compileer, houd ik ook mijn huidige kernel in de /boot bij.

Als je zo een geniale stomiteit uithaalt en vergeet bijvoorbeeld de HDD-driver erin te compileren kan je nog steeds een stapje terug zetten.

Je kan uiteraard ook nog via de Gentoo-live-CD rond gaan, maar als je software-RAID-partities hebt met LVM erover is dat een hele hoop werk.

Ik raad dus ten zeerste aan om er WEL een versienummer bij te zetten

ik zet er zelf mijn eigen versienummer achter:

/boot/kernel-2.6.11-gentoo-r5-013 (is mijn huidige kernel).

Als ik iets aanpas, maak ik er kernel-2.6.11-gentoo-r5-014 van

Je moet dan wel manueel af en toe opkuisen (zie boven)

----------

