Ga naar inhoud

[kernel source headers] Voorbeelden gevraagd


anoniem

Aanbevolen berichten

Ik ben bezig (met het bewerken van) een configuratie-script van een kernel module waarin (onder veel meer) de kernelversie vergeleken wordt met de versie van de kernel source op een systeem. (Dat is kennelijk nodig om te zorgen dat uiteindelijk een "compatible" kernelmodule wordt gecompileerd.) Enfin, ik weet eigenlijk alleen hoe mijn systeem [Red Hat Linux 8.0] in elkaar steekt: 1) "uname -r" levert op "2.4.18-24.8.0" 2) de kernel(source) headers zijn te vinden in: "/usr/src/linux-2.4.18-24.8.0/include/linux/version.h" 3) dat bestand luidt (geheel): "#include <linux/rhconfig.h> #if defined(__module__smp) #define UTS_RELEASE "2.4.18-24.8.0smp" #elif defined(__module__BOOT) #define UTS_RELEASE "2.4.18-24.8.0BOOT" #elif defined(__module__bigmem) #define UTS_RELEASE "2.4.18-24.8.0bigmem" #elif defined(__module__debug) #define UTS_RELEASE "2.4.18-24.8.0debug" #else #define UTS_RELEASE "2.4.18-24.8.0" #endif #define LINUX_VERSION_CODE 132114 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" Maar aan een (bewerking van een) script dat alleen op mijn systeem werkt heeft het desbetreffende project niet zoveel. Vraagje dus: Zouden een paar gebruikers van enkele gangbare distributies - als zij tenminste de kernel source hebben geïnstalleerd - de volgende gegevens kunnen posten (of desnoods aan mij zenden als persoonlijk bericht): 1) hun distributie (naam en versie) en hun kernelversie; 2) de plek waar de version.h die hoort bij die kernel source op hun systeem te vinden is; 3) de [u:8b41efc5b5]gehele[/u:8b41efc5b5] inhoud van die version.h. Bij voorbaat dank! (Oh ja, als "tegenprestatie" hoop ik t.z.t. mijn script te posten - kunnen jullie gelijk zien of ik sommige dingen wellicht niet zo handig heb gedaan ...)
Link naar reactie
  • 2 weken later...
1) Supersnail bedankt! 2) Belofte maakt schuld:[code:1:817b3cf3c8]#!/bin/sh ### declare kernel and kernel sourcedir KERNELNAME=`uname -r` KERNELDIR="/lib/modules/$KERNELNAME/build" ### kernel source test if [ ! -x $KERNELDIR/include ]; then echo "ERROR: no kernel sources were found for kernel $KERNELNAME" echo "execution of `basename $0` aborted ..." exit 1 fi ### version.h test if [ -e $KERNELDIR/include/linux/version.h ]; then HEADER_FILE=$KERNELDIR/include/linux/version.h else echo "ERROR: $KERNELDIR/include/linux/version.h was not found" echo "execution of `basename $0` aborted ..." exit 1 fi ### kernelheaders test FULLVERSION=`cat $HEADER_FILE | sed -ne "s/.*$KERNELNAME/$KERNELNAME/" -ne "s/$KERNELNAME.*/$KERNELNAME/p" | uniq` if [ -z "$FULLVERSION" ] || [ "$FULLVERSION" != "$KERNELNAME" ] ; then echo "ERROR: no matching kernelheaders were found in $HEADERFILE" echo "execution of `basename $0` aborted ..." exit 1 fi ### Exit verbose echo "`basename $0` finished: now exiting ..." exit 0[/code:1:817b3cf3c8]Dit is het (min of meer) relevante deel van het (de?) shell-script waar ik mee bezig was. (Zo is het script tamelijk onzinnig, maar voor het echte script zijn deze tests toch wel nuttig, hoop ik ...) Alles GPL, trouwens ... kritische opmerkingen welkom (zolang ze niet gaan over het gehanteerde Linux-steenkolen-engels ...)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...