kernel update en externe modules...

Pagina: 1
Acties:

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 17:12

deepbass909

[☼☼] [:::][:::] [☼☼]

Topicstarter
Ik ben nogal vaak mijn kernel opnieuw aan het compileren (ik ben nog steeds m'n linux install op m'n laptop te stroomlijnen). Maar elke keer als ik m'n kernel opnieuw compileer, moet ik alle externe kernel modules (zoals alsa-, wifi- en atidrivers) ook opnieuw installeren.
Ik vroeg me af of er niet een manier is om te zorgen dat wanneer ik een kernel opnieuw compileer, de externe modules ook opnieuw gecompileerd kunnen worden?
Het probleem is namelijk dat ik nu al niet meer weet wat er nou precies opnieuw gecompileerd moet worden... Dat kan nogal nare effecten hebben als je een nieuwe kernel hebt gebakken en je kan ineens niet meer in X komen...

Is het dus mogelijk om dit te automatiseren?

ps, ik draai Gentoo met een 2.6.15-r1 kernel

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


  • halfgaar
  • Registratie: November 2002
  • Laatst online: 02-11-2025
Voor Gentoo heb je daar een tool voor, genaamd module-rebuild. Elke app die modules installeren registreren zichzelf in een DB en dan kan je gewoon module-rebuild aanroepen en klaar.

Ik heb alleen wel vaak dat de geregistreede programma's steeds uit zijn DB verdwijnen. Lirc staat er bijvoorbeeld nu ineens weer niet in, terwijl ik bij de laatste emerge toch de melding kreeg dat hij geregistreerd werd in de module-rebuild DB.

Overigens, als je je kernel alleen hercompileerd, dus zonder upgrade, dan horen de oude externe modules gewoon te blijven staan.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 13:33

Super_ik

haklust!

1 regel van maken en met && aan elkaar hangen?
en dat in een bestand mikken?
en dan dat bestan aanroepen

en volgens mij doet kernel 2.6 al meteen de modules erbij bakken.

code:
1
make clean && make bzImage && make modules && make modules_install

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Super_ik schreef op zondag 19 februari 2006 @ 19:24:
1 regel van maken en met && aan elkaar hangen?
en dat in een bestand mikken?
en dan dat bestan aanroepen

en volgens mij doet kernel 2.6 al meteen de modules erbij bakken.

code:
1
make clean && make bzImage && make modules && make modules_install
"make module_install" pakt bijv "net-wireless/orinoco", "media-video/nvidia-kernel" en "media-sound/alsa-driver" niet, die modules bedoelt de topicstarter geloof ik ;)

Verwijderd

Dat zijn de modules die al bij de kernel zitten. Het gaat TS om zaken die NIET bij de kernel zitten.

Dat is toch met versioning onder controle te krijgen? Dus een module zo bakken dat hij bij meerdere kernels gebruikt mag worden oid?

  • koffiedrinker
  • Registratie: September 2002
  • Laatst online: 05-02 21:05

koffiedrinker

Archlinux werkt dagelijks

Dat blijft bij Gentoo een beetje een probleem. Module-rebuild werkt niet echt goed. Niet alle apps die moeten worden toegevoegd worden en sommige gevallen blijven de oude versie gewoon staan.
Als je maar vaak genoeg je kernel opnieuw compileert dan onthoud je vanzelf welke pakketen je moet re-compilen >:)
Uiteraard kan je ook zelf een script schrijven, die ervoor zorgt dat alle pakketen worden re-compileert, die modules voor de kernel bevatten.

Koffie werkt echt!


  • deepbass909
  • Registratie: April 2001
  • Laatst online: 17:12

deepbass909

[☼☼] [:::][:::] [☼☼]

Topicstarter
halfgaar schreef op zondag 19 februari 2006 @ 19:16:
Voor Gentoo heb je daar een tool voor, genaamd module-rebuild. Elke app die modules installeren registreren zichzelf in een DB en dan kan je gewoon module-rebuild aanroepen en klaar.

Ik heb alleen wel vaak dat de geregistreede programma's steeds uit zijn DB verdwijnen. Lirc staat er bijvoorbeeld nu ineens weer niet in, terwijl ik bij de laatste emerge toch de melding kreeg dat hij geregistreerd werd in de module-rebuild DB.
Ok, daar ga ik eens mee stoeien. Ik weet dat portage erg veel extra tools heeft, die allemaal een beetje verborgen zijn helaas...

[/quote]Overigens, als je je kernel alleen hercompileerd, dus zonder upgrade, dan horen de oude externe modules gewoon te blijven staan.[/quote]
Was dat maar zo. Ik heb met mijn Ati m10 vaak genoeg gehad dat ik bijna de haren uit m'n kop trok omdat hij maar om de Mesa opengl driver bleef staan... Tot ik ati-drivers opnieuw compileerde en het ineens wel werktte. (Dat was bij een rebuild van de kernel). Volgens mij (ik kan het fout hebben) wordt je volledige module directory leeg geknikkerd op het moment dat je make modules_install doet.
Super_ik schreef op zondag 19 februari 2006 @ 19:24:
1 regel van maken en met && aan elkaar hangen?
en dat in een bestand mikken?
en dan dat bestan aanroepen

en volgens mij doet kernel 2.6 al meteen de modules erbij bakken.

code:
1
make clean && make bzImage && make modules && make modules_install
Bij een 2.6 kernel is de regel anders.
code:
1
make clean (optioneel) && make install && make modules_install

Dit maakt gelijk een vmlinuz in je /boot en een simlink. De oude vmlinuz en simlink krijgen de extensie .old. Op die manier hoef je nooit je grub/lilo aan te passen bij een kernel update en is er altijd een backup van je oude kernel voor handen.

@hezik
in princiepe kan je tegenwoordig idd de kernel versioning laten ondersteunen. Maar dat is eigenlijk alleen handig als je pre-compiled modules krijgt van een leverancier, en je ze niet zelf kan compileren.
Het haalt een beetje het doel onderuit van een custom-kernel maken in mijn ogen. Je bent aan de ene kant bezig je kernel zo optimaal mogelijk te maken, maar je modules draaien sub-optimaal omdat ze niet tegen de laatste kernel zijn compileerd...

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


  • halfgaar
  • Registratie: November 2002
  • Laatst online: 02-11-2025
Was dat maar zo. Ik heb met mijn Ati m10 vaak genoeg gehad dat ik bijna de haren uit m'n kop trok omdat hij maar om de Mesa opengl driver bleef staan... Tot ik ati-drivers opnieuw compileerde en het ineens wel werktte. (Dat was bij een rebuild van de kernel). Volgens mij (ik kan het fout hebben) wordt je volledige module directory leeg geknikkerd op het moment dat je make modules_install doet.
Misschien dat alleen bepaalde directories leeggegooid worden. Mijn externe modules zijn lirc, nvidia-kernel en svga-lib. Die staan in ./misc en ./video. Waar zet ATi ze neer? Misschien zet Ati ze namelijk in driver/kernel/bla, die dan misschien wel leegegooid wordt. Als dat zo is, zou ik een bug report sturen. Mijn modules blijven in ieder geval mooi staan altijd.
Bij een 2.6 kernel is de regel anders.
(snip)
"Make" werkt ook nog wel met de huidige kernel. "Make install" doet alleen even make voor je. Doe maar eens "make help".

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 17:12

deepbass909

[☼☼] [:::][:::] [☼☼]

Topicstarter
klopt, maar "make bzImage" en vooral "make modules" is vanaf 2.6 overbodig.

Maar ik ga het eens proberen (ik moet een nieuwe kernelbakken vanwege bootsplash (heb radeonfb nodig))

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier

Pagina: 1