anoniem Geplaatst: 21 februari 2003 Delen Geplaatst: 21 februari 2003 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 ...) Quote Link naar reactie
anoniem Geplaatst: 21 februari 2003 Auteur Delen Geplaatst: 21 februari 2003 1) Slackware 8.1. Kernelversie 2.4.19-xfs (zelf gepatched en geïnstalleerd). 2) /usr/src/linux-2.4.19/include/linux/version.h 3) [quote:dcc08faa5d]#define UTS_RELEASE "2.4.19-xfs" #define LINUX_VERSION_CODE 132115 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) [/quote:dcc08faa5d] Quote Link naar reactie
anoniem Geplaatst: 4 maart 2003 Auteur Delen Geplaatst: 4 maart 2003 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 ...) Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen