Building nv modules for diferents kernels
hi everyone. I was bored to install the driver for every kernel so this time I added -K to the binary installer. These are the steps I used:
sgfxi -Ac # To install the driver /usr/src/NVIDIA-Linux-x86-177.80-pkg0.run -s -K -k$(uname -r) After that, I substituted $(uname -r) with the rest of my kernes and now I can boot in all of them with rendering. I propose to add -K in the installer argument :: Code :: --- /usr/local/bin/sgfxi 2008-11-10 00:38:18.000000000 -0500
+++ sgfxi 2008-11-11 13:44:03.000000000 -0500 @@ -2327,7 +2327,7 @@ else installerArgs="-s -N" fi - installerArgs="$installerArgs -k $KERNEL_VERSION" + installerArgs="$installerArgs -k $KERNEL_VERSION -K" ./$installer $installerArgs 1>> $LOG_FILE 2>> $LOG_FILE || installError="$?" # reverting the patched stuff before anything else happens apply_module_patch post @@ -3592,4 +3592,4 @@ x_start_stop_master start -###**EOF**### \ No newline at end of file +###**EOF**### Also, I'd like to have some testers because I don't know if the driver will brake after the usual dist-upgrade, or if it will work as modules like the debian non-free drivers. Back to top |
For the time being, maybe this patch can be added so we can test it
:: Code :: --- /usr/local/bin/sgfxi 2008-11-10 00:38:18.000000000 -0500
+++ sgfxi 2008-11-11 14:02:37.000000000 -0500 @@ -73,6 +73,7 @@ KERNEL_THIRD='' # like: 19, for math use IS_SIDUX_KERNEL='' IS_XEN='' +EXTRA_ARG='' #user argument to be added to the non-free installer (nvidia ftm) # check for 64 bit first if [ -n "$( uname -m | grep -o 'x86_64' )" ] @@ -2327,7 +2328,7 @@ else installerArgs="-s -N" fi - installerArgs="$installerArgs -k $KERNEL_VERSION" + installerArgs="$installerArgs -k $KERNEL_VERSION $EXTRA_ARG" ./$installer $installerArgs 1>> $LOG_FILE 2>> $LOG_FILE || installError="$?" # reverting the patched stuff before anything else happens apply_module_patch post @@ -3330,6 +3331,11 @@ while getopts AbcCdDeEFhj:K:nN:o:pP:QrRsStTUvWXxZ opt do case $opt in + a) EXTRA_ARG="$OPTARG" + # Comment the line above and uncomment the below one to make it easier for us + #EXTRA_ARG="-K" + START_OPTIONS_PRINT=$START_OPTIONS_PRINT" -a - You are adding the following argument to the non-free driver installer: ${C}$EXTRA_ARG${S}\n" + ;; A) AUTORUN='true' START_OPTIONS=$START_OPTIONS'A' START_OPTIONS_PRINT=$START_OPTIONS_PRINT" -A - Autorun is selected\n" @@ -3592,4 +3598,4 @@ x_start_stop_master start -###**EOF**### \ No newline at end of file +###**EOF**### Back to top |
Interesting idea, however, I can propose something cleaner, just using the testing flag to trigger the testing behavior.
So -K makes the driver not need to be reinstalled? That sounds cool. On techpatterns.com/forums/about1133.html inxi script, I just implemented a nice testing trigger that's global, I use -! <optarg> to trigger a variety of testing behaviors. I like this method, and will move sgfxi, svmi, and smxi to using it. By the way, if you haven't yet checked out inxi, do it, it's like infobash on steroids. Features now full line by line display switches, plus the standard -v <number> verbosity switches, and much much more. Back to top |
Last dist-upgrade brought xserver-xorg-core and sadly that killed the show.
The driver module stayed, but not the driver. The binary installer needs to be run again to install the driver. Doing so defeat the propose of my idea and I'm dropping it. I'm back again with the non-free Debian drivers. At least we know how to make the non-free binary to stay in all the kernels in case the non-free Debian get broken Sorry Back to top |
This is simply another datapoint, and confirms my initial suspicion that basically how this will need to work is by setting, in /etc/smxi.conf, which sgfxi already uses to record apt-get/aptitude choice, a data string like this:
module-rebuild=2.6.27@1.4xxxx <ie, kernel main + full xorg version string> Then, when the option is called, it only runs if the stored data type is equal to the newly calculated one. I'm not suggesting this is as a final fix, just as a direction to look in long term. But xorg does update quite a bit. Back to top |
All times are GMT - 8 Hours |