-   Slackware (
-   -   Latest slackware64-current xorg and kernel update woes (

veeall 07-17-2009 10:42 PM

[SOLVED] Latest slackware64-current xorg and kernel update woes

I understand that slackware-current is a testing branch, so there's no complaining in my post just an info. ;)
I did 'slackpkg upgrade-all' to install latest updates for 64bit slack.
After update/reboot/and reinstall of nvidia drivers i found there's something fishy in kde4. At first login each keyboard key press generated 2 or 3 letters - 2 upon press and 1 upon release - i fixed it by removing 'Option "AllowEmptyInput" "off"' from my xorg.conf.

Then i noticed some of my multimedia keys weren't working and some launched an action that was previously assigned to an another key.

I launched kde4 systemsettings to reassign them but upon opening 'systemsettings/desktop/desktop-effects/all-effects' configuration panel kde4 crashed to login prompt. I created a new user just for troubleshooting and logged in as such but still when clicking on 'All Effects' tab on systemsettings kde4 crashed. Also, i noticed, that X did not crash but only the kde4 session of an user.

While i managed to reconfigure my multimedia keys using xbindkeys utility i quit messing with it at that point.

But now when trying to install Virtualbox it gave me this error:

Failed to build the vboxdrv kernel module.
Please check the log file /var/log/vbox-install.log for more information.

Output from the module build process (the Linux kernel build system) follows:

make KBUILD_VERBOSE=1 -C /lib/modules/ SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
Makefile:529: /usr/src/linux- No such file or directory
make[1]: *** No rule to make target `/usr/src/linux-'.  Stop.
make: *** [vboxdrv] Error 2

Any clue?

Bruce Hill 07-17-2009 10:49 PM

For the KDE crash, there are many similar reports on the boards.
I'm running three boxen with -current and Nvidia cards and the
proprietary Nvidia drivers and no such problems on any of them.

The VirtualBox ... sounds like something wrong with virtualbox.
Which Linux kernel has the path /usr/src/linux-2.6.x.x/arch/amd64/ ?

veeall 07-17-2009 11:15 PM

In /usr/src/linux- there's no such directory as amd64. Should i maybe reinstall kernel-source package? I was trying to actually just reinstall virtualbox 2.1.4 which worked fine before update, but obviously needed to rebuild kernel module because of an update.

My xorg.conf:

Section "ServerFlags"
    DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)

Section "ServerLayout"
    Identifier    "Simple Layout"
    Screen        "Screen 1" 0 0
    Option        "AIGLX" "false"

Section "Module"
    Load          "record" #x11vnc

Section "Monitor"
    Identifier    "My Monitor"
    Option        "DPMS"

Section "Device"
    Identifier    "VESA Framebuffer"
    Driver        "nvidia"
    Option "OnDemandVBlankInterrupts" "True" #yielding less CPU usage and better performance

Section "Screen"
    Identifier    "Screen 1"
    Device        "VESA Framebuffer"
    Monitor        "My Monitor"
    Option        "metamodes" "1600x1200_60 +0+0; 1400x1050 +0+0; 1280x1024 +0+0; 1280x960 +0+0; 1152x864 +0+0; 1024x768 +0+0; 832x624 +0+0; 800x600 +0+0; 640x480 +0+0; 320x240 +0+0"
    Option        "NoLogo" "True"
    Option        "Coolbits" "1"
    Option        "NvAGP" "0"
#    Option        "DamageEvents" "True"
#    Option        "UseEvents" "True"
    Option        "TripleBuffer" "True"
    DefaultDepth    24
    SubSection    "Display"
        Depth      24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"

Section "Extensions"
#    Option        "DAMAGE" "Enable"
    Option        "Composite" "Enable"
#    Option        "RENDER" "Enable"

Also, Opera qt4 version crashes kde4 too upon launch, when there were two ore more tabs left open on last quit. It worked fine before update.

Xorg.0.log only gives (EE) about:

(EE) Failed to load module "record" (module does not exist, 0)
It complained about 'type1' and 'freetype' modules not found aswell, but i removed them from xorg.conf since then. Haven't checked Xorg.0.log before update for presence of these errors.

edit: Downgrading pixman to pre update version as suggested on another LQ thread fixed crashes with kde systemsettings and opera.

Bruce Hill 07-18-2009 05:12 AM

This box had Slackware64 -current installed before was added.
I did not upgradepkg my kernel, I installed alongside

mingdao@jeremiah:~/build/virtualbox$ ls -l /var/log/packages/kernel-*-*
-rw-r--r-- 1 root root    3364 2009-07-14 00:18 /var/log/packages/kernel-firmware-
-rw-r--r-- 1 root root    1000 2009-07-14 00:18 /var/log/packages/kernel-generic-
-rw-r--r-- 1 root root  21109 2009-07-14 00:20 /var/log/packages/kernel-headers-
-rw-r--r-- 1 root root    997 2009-07-14 00:18 /var/log/packages/kernel-huge-
-rw-r--r-- 1 root root  138928 2009-07-14 00:19 /var/log/packages/kernel-modules-
-rw-r--r-- 1 root root 1719897 2009-07-14 00:21 /var/log/packages/kernel-source-
mingdao@jeremiah:~/build/virtualbox$ ls -l /var/log/packages/kernel-*-*
-rw-r--r-- 1 root root    3347 2009-07-16 21:28 /var/log/packages/kernel-firmware-
-rw-r--r-- 1 root root    983 2009-07-16 21:28 /var/log/packages/kernel-generic-
-rw-r--r-- 1 root root  138911 2009-07-16 21:28 /var/log/packages/kernel-modules-
-rw-r--r-- 1 root root 1719933 2009-07-16 21:29 /var/log/packages/kernel-source-
mingdao@jeremiah:~/build/virtualbox$ ls -l /boot/
total 15980
lrwxrwxrwx  1 root root      37 2009-07-16 20:45 README.initrd -> /usr/doc/mkinitrd-1.3.4/README.initrd
lrwxrwxrwx  1 root root      27 2009-07-17 08:48 ->
-rw-r--r--  1 root root 1291369 2009-06-19 01:58
-rw-r--r--  1 root root 1292554 2009-07-14 09:39
-rw-r--r--  1 root root 1877041 2009-06-19 02:15
-rw-r--r--  1 root root    512 2009-07-14 00:33 boot.0800
-rw-r--r--  1 root root    137 2009-07-14 00:30 boot_message.txt
lrwxrwxrwx  1 root root      23 2009-07-17 08:48 config -> config-generic-
-rw-r--r--  1 root root  90664 2009-06-19 01:58 config-generic-
-rw-r--r--  1 root root  90654 2009-07-14 09:39 config-generic-
-rw-r--r--  1 root root  90692 2009-06-19 02:15 config-huge-
-rw-r--r--  1 root root    5040 2009-02-27 19:49 diag1.img
-rw-r--r--  1 root root  17932 2009-02-27 19:49 diag2.img
drwxr-xr-x 11 root root    4096 2009-07-17 08:49 initrd-tree
-rw-r--r--  1 root root 1215213 2009-07-17 08:49 initrd.gz
-rw-------  1 root root  73728 2009-07-17 18:45 map
-rw-r--r--  1 root root  17318 2008-12-09 08:56 slack.bmp
lrwxrwxrwx  1 root root      24 2009-07-17 08:48 vmlinuz -> vmlinuz-generic-
-rw-r--r--  1 root root 2623936 2009-06-19 01:58 vmlinuz-generic-
-rw-r--r--  1 root root 2629280 2009-07-14 09:39 vmlinuz-generic-
-rw-r--r--  1 root root 5000192 2009-06-19 02:15 vmlinuz-huge-

So you can see I only installed kernel-firmware, generic, modules, and source
for the new kernel in -current. That is probably where you went wrong. If you
ran "slackpkg upgrade-all" and the kernel packages were listed, and you let it
upgrade them, then you've changed the kernel headers and source that came with
your system. If so, and you're not sure, I can tell you what to do to get that
corrected; then you should be able to build VirtualBox. If you want to upgrade
VirtualBox, there are explicit instructions in it's UserManual.pdf.

Though not too familiar with VirtualBox, this is what I've done:

mingdao@jeremiah:~/build/virtualbox$ ls -l
total 88632
-rw-r--r-- 1 mingdao users  4133703 2009-06-06 16:28 UserManual.pdf
-rw-r--r-- 1 mingdao users 41050695 2008-12-17 19:11
-rw-r--r-- 1 mingdao users 45464152 2009-06-06 16:28
-rw-r--r-- 1 mingdao users      33 2009-06-06 16:26

And here is my /var/log/vbox-install.log:

mingdao@jeremiah:~/build/virtualbox$ cat /var/log/vbox-install.log
mingdao@jeremiah:~/build/virtualbox$ cat /var/log/vbox-install.log                                                                                                     

VirtualBox 2.2.4 installer, built 2009-05-29T17:14:48Z.

Testing system setup...
System setup appears correct.

Installing VirtualBox to /opt/VirtualBox

Output from the module build process (the Linux kernel build system) follows:

make KBUILD_VERBOSE=1 -C /lib/modules/ SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \                 
        echo;                                                          \                         
        echo "  ERROR: Kernel configuration is invalid.";              \                         
        echo "        include/linux/autoconf.h or include/config/auto.conf are missing.";      \ 
        echo "        Run 'make oldconfig && make prepare' on kernel src to fix it.";  \         
        echo;                                                          \                         
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*                             
make -f scripts/ obj=/tmp/vbox.0
  ld -r -m elf_x86_64  --build-id -o /tmp/vbox.0/vboxdrv.ko /tmp/vbox.0/vboxdrv.o /tmp/vbox.0/vboxdrv.mod.o                                                                                       
Output from the module build process (the Linux kernel build system) follows:                                                                                                                     
make KBUILD_VERBOSE=1 -C /lib/modules/ SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules                                                                                             
test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \                                                                                                                 
        echo;                                                          \                                                                                                                         
        echo "  ERROR: Kernel configuration is invalid.";              \                                                                                                                         
        echo "        include/linux/autoconf.h or include/config/auto.conf are missing.";      \                                                                                                 
        echo "        Run 'make oldconfig && make prepare' on kernel src to fix it.";  \                                                                                                         
        echo;                                                          \                                                                                                                         
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*                                                                                                                           
make -f scripts/ obj=/tmp/vbox.0                                                                                                                                                   
  gcc -Wp,-MD,/tmp/vbox.0/linux/.VBoxNetFlt-linux.o.d  -nostdinc -isystem /usr/lib64/gcc/x86_64-slackware-linux/4.3.3/include -Iinclude  -I/usr/src/linux-
(cat /dev/null;  echo kernel//tmp/vbox.0/vboxnetflt.ko;) > /tmp/vbox.0/modules.order
make -f /usr/src/linux-
  scripts/mod/modpost  -i /usr/src/linux- -I /tmp/vbox.0/Module.symvers  -o /tmp/vbox.0/Module.symvers -S -K /usr/src/linux- -M /tmp/vbox.0/Module.markers -w  -s
  gcc -Wp,-MD,/tmp/vbox.0/.vboxnetflt.mod.o.d  -nostdinc -isystem /usr/lib64/gcc/x86_64-slackware-linux/4.3.3/include -Iinclude  -I/usr/src/linux- -include include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iarch/x86/include/asm/mach-default -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fwrapv -I/lib/modules/ -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(vboxnetflt.mod)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxnetflt)"  -DMODULE -c -o /tmp/vbox.0/vboxnetflt.mod.o /tmp/vbox.0/vboxnetflt.mod.c
  ld -r -m elf_x86_64  --build-id -o /tmp/vbox.0/vboxnetflt.ko /tmp/vbox.0/vboxnetflt.o /tmp/vbox.0/vboxnetflt.mod.o
Starting VirtualBox kernel module ...done.

End of the output from the Linux kernel build system.
Installation successful

Then I added my user(s) to the group it created:

And then ran it:

mingdao@jeremiah:~$ VirtualBox

It started up, I agreed to the License Agreement, then it presented
another screen to register or some such. I'm not ready to run it, so
I quit. With nothing else in the terminal.


veeall 07-18-2009 06:36 PM


m@masin:~$ ls -l /var/log/packages/kernel*
-rw-r--r-- 1 root root    3349 2009-07-17 11:53 /var/log/packages/kernel-firmware-
-rw-r--r-- 1 root root    983 2009-07-18 01:24 /var/log/packages/kernel-generic-
-rw-r--r-- 1 root root  21094 2009-07-17 11:54 /var/log/packages/kernel-headers-
-rw-r--r-- 1 root root    982 2009-07-17 11:54 /var/log/packages/kernel-huge-
-rw-r--r-- 1 root root  138913 2009-07-17 11:54 /var/log/packages/kernel-modules-
-rw-r--r-- 1 root root 1719933 2009-07-18 08:41 /var/log/packages/kernel-source-

I updated with 'slackpkg upgrade-all' as always, is there are rule never to upgrade kernel-headers along with the new kernel? I remember having it done before with no problems.

I'm interested in solution if it is not too complicated. I have still my slackware 12.1 installation intact, it also has Virtualbox 2.1.4 installed, so i should be pretty much on a safe side with this.

SOLVED: kernel module compiled fine by doing '/etc/rc.d/rc.vboxdrv setup', i've been a bit ignorant about that.

Thanks for quick replys, Bruce Hill!

Bruce Hill 07-18-2009 08:34 PM

you still need to fix your kernel
You should have the kernel headers that match the original library files of the initially installed system. You should also have the kernel source for your working kernel, so that you can compile modules with it.

For now get the original kernel packages:

mingdao@jeremiah:/var/log/packages$ ls -1 kernel**

and issue "installpkg <packagename>" replacing <packagename> with each one of those package names.

Then remove the headers and huge files for by issuing "removepkg kernel-huge-" and "removepkg kernel-headers-".

Then fix your /boot entries like this:

root@jeremiah:/boot# rm config vmlinuz
root@jeremiah:/boot# ln -s ; ln -s config-generic- config ; ln -s vmlinuz-generic- vmlinuz

Then make a new initrd.gz to boot your kernel like this:

root@jeremiah:/boot# sh /usr/share/mkinitrd/ -i
The "i" option is important because it makes the script run interactive. What you need to do is at the second screen where it says CHOOSE KERNEL VERSION, make sure and select You should be able to choose the default for all the other options. After you finish running the script, it will output something like:

# revision 1.40
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k -f jfs -r /dev/sda7 -m usbhid:ehci-hcd:uhci-hcd:jfs -o /boot/initrd.gz

You should copy and paste that last line which starts with 'mkinitrd' into your terminal after the prompt, making sure you get every bit of it, then press Enter. That will make your new initrd image. When you see the output on the screen, if you think something is wrong, post back.

Now check your /etc/lilo.conf file and be sure you have this section:

# Linux bootable partition config begins
image = /boot/vmlinuz
  initrd = /boot/initrd.gz
  root = /dev/sda7
  label = Slack-x86_64
  read-only  # Partitions should be mounted read-only for checking
# Linux bootable partition config ends

NB: Your root partition and label may be different than mine.

If so, issue "lilo" to write the changes to your boot loader. If you think what is output on the screen is okay, reboot the computer. If you think the output has some error we should see, post back and DO NOT reboot the computer.

If you don't do this now, and keep building software, you will get bitten again sooner or later.

veeall 07-18-2009 09:52 PM

Thanks for how-to but i finally solved it by issuing '/etc/rc.d/rc.vboxdrv setup' in terminal as root. I suppose installer was searching for 'vboxdrv' in /etc/init.d and failed. This extra step was not required before.

Do i still may run into problems with compiling software later on?
Should i still downgrade kernel packages to one's originally included in slackware64-current RC1 iso?

Bruce Hill 07-18-2009 10:02 PM


Originally Posted by veeall (Post 3612319)
Do i still may run into problems with compiling software later on?
Should i still downgrade kernel packages to one's originally included in slackware64-current RC1 iso?

Yes, that is exactly what I mean. Maybe another piece of software
that you want to build does not have that option. Anyway, it's a PC.

Glad you got it fixed. Please go to post #1 and mark the thread [SOLVED].

veeall 07-18-2009 10:08 PM

Ok, i have now all these installed:



'/usr/src/linux' symlink points to linux- which is the running kernel.
initrd.gz is updated already earlier for - i guess it doesn't have to be rebuilt(?).

Bruce Hill 07-18-2009 10:20 PM

Wrong headers:

Should have the headers for, or whatever kernel
your glibc was built on. Issue "/lib/" in a terminal
and it will tell you which kernel version. That's the one that
your kernel-headers pkg should match.

To see which kernel is running (and other goodness), issue "uname -a".

veeall 07-19-2009 12:31 AM


root@masin:/home/m# /lib64/
GNU C Library stable release version 2.9, by Roland McGrath et al.
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
Compiled by GNU CC version 4.3.3.
Compiled on a Linux >><< system on 2009-04-05.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
For bug reporting instructions, please see:


m@masin:~$ uname -a
Linux masin #1 SMP Mon Jul 13 20:38:23 CDT 2009 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ AuthenticAMD GNU/Linux

Oh! Anyway i installed too now. I have an silent urge on back of my mind not to care about headers any more as long as everything is working OK. :) Thanks for your time, Bruce!

All times are GMT -5. The time now is 07:20 PM.