the nvidia vendor video driver. I suspect that there may be a common factor causing these problems.
First the backround:
I am not new to building kernels since I've done it successfully many times between 1996 and 2010.
I am running the 64 bit version 3.12.25-desktop-3.mga4 kernel. I've configured Mageia to
boot to run level 3 rather than deal with the X problems at boot. After loggin in I execute "startx"
to start X for easier use.
The hardware is a ASUS P5B motherboard with 6GB of RAM, a Intel(R) Core(TM)2 Quad CPU Q8200
@ 2.33GHz, 320GB SATA drive, and ASUS GeForce GT 630. All disk partitions were formatted by the
Mageia installer to make it a clean base to test.
I installed the kernel.org tarball for linux-3.16.2.
I used the Mageia control center software management tool to add and install kernel-3.12.25-3.mga4,
nvidia-current-331.79-1.mga4.nonfree, and kernel-3.12.25-desktop-3.mga4.
==============================
First problem:
Installing Mageia 4.1 from the DVD it only starts X if the nonfree nvidia driver is installed.
If I install Mageia without enabling the nonfree driver it fails to boot because X can not start.
Also the final configuration of the video system in the installation process generates errors when I
try to use the Xorg driver and refuses to change from the nonfree Nvidia driver even if it wasn't installed.
I suspect that the mageia nvidia driver installation is flawed and is causing a lot of these problems.
==============================
Second problem:
I attempted to build a kernel identical to the running one supplied by Mageia 4.1 but with a custom
"local version" (_SHP_) string but it failed to build. Something seems to be broken in the Mageia
kernel source package kernel-3.12.25-3.mga4.
First I created a directory to build the kernel at /usr/src/Build/kernel_3.12.25 .
Then as the regular user:
- cd /usr/src/kernel-3.12.25-3.mga4/
make O=/usr/src/Build/kernel_3.12.25/ oldconfig
make O=/usr/src/Build/kernel_3.12.25/ menuconfig
make -j8 O=/usr/src/Build/kernel_3.12.25
Makefile:130: recipe for target 'sub-make' failed
==============================
Third problem:
I built a kernel using the stable tarball linux-3.16.2.tar.xz but it only runs X with the nouveau driver.
First I created a directory to build the kernel at /usr/src/Build/kernel_3.16.2 .
Then as the regular user:
- cd /usr/src/linux-3.16.2
make O=/usr/src/Build/kernel_3.16.2 oldconfig
make O=/usr/src/Build/kernel_3.16.2 menuconfig
make -j8 O=/usr/src/Build/kernel_3.16.2
make -j8 O=/usr/src/Build/kernel_3.16.2 modules
- make -j8 O=/usr/src/Build/kernel_3.16.2 modules_install install
eliminate the "quiet" option so that I could monitor the startup process.
While the reboot process brought up the new 3.16 kernel it attempted to build and install the
nvidia-current-331.79 driver. This build failed and installation was skipped. After logging in
and running "startx" the X windows system started successfully. On checking the Xorg.0.log
I found that it was using the NOUVEAU driver.
Rebooting to the original Mageia 4 kernel hangs at the message: "switching to nouveaufb from simple"
This can be repaired by booting to the safe mode and running XFdrake to reinstall the "nvidia" 331.79 driver.
As root the command "dkms status" returns
nvidia-current, 331.79-1.mga4.nonfree: added
nvidia-current, 331.79-1.mga4.nonfree, 3.12.25-desktop-3.mga4, x86_64: installed-binary from 3.12.25-desktop-3.mga4
xtables-addons, 2.3-3.mga4, 3.12.25-desktop-3.mga4, x86_64: installed-binary from 3.12.25-desktop-3.mga4
After booting the new 3.16 kernel I attempted to use dkms to build & install the nvidia driver with the following command:
dkms build -m nvidia-current -v 331.79-1.mga4.nonfree -k 3.16.2_SHP_
This failed with the following message.
Error! Bad return status for module build on kernel: 3.16.2_SHP_ (x86_64)
The dkms build log had several errors and the following seem to be the most important pointers:
nvidia_uvm_linux.h:153:2
nvidia_uvm_linux.h:165:27: fatal error: asm/semaphore.h: No such file or directory
At this point neither the old or new kernels would reboot. Only repeating the safe mode XFdrake fix would
repair the system to boot the old kernel and start X.
==============================
Fourth problem:
I dowloaded "NVIDIA-Linux-x86_64-340.32.run" from the Nvidia web site.
I booted the new 3.16 kernel and ran the nvidia installer which aborted because of incompatability with the nouveau driver. I allowed it to add the /etc/modprobe.d/nvidia-installer-disable-nouveau.conf file and rebooted the new kernel.
Rerunning the installer failed again but this time with several
errors andconftest failed!
/usr/src/linux-3.16.2/include/linux/cputime.h:4:25: fatal error: asm/cputime.h: No such file or directory
Again at this point, neither the old 3.12 or new 3.16 kernels would reboot. Only repeating the safe mode XFdrake fix would repair the system to boot the old kernel and start X.
After restarting the old kernel I again ran the nvidia installer which seemed to complete successfully.
However rebooting the old kernel fell back to the nouveau driver and hung as before.
The safe mode XFdrake reported that the nvidia driver had not been installed properly. Running "nvidia-uninstall" before rerunning XFdrake made it possible to boot the old kernel and run X with the old nvidia 331.79 driver.
Again, this looks like the mageia nvidia driver installation is flawed and is causing a lot of these problems.