Jump to content

Nitro Kernel [solved]


Recommended Posts

This Nitro patch looks interesting.... I've been thinking lately about compiling my own kernel but I haven't had time.

Is it possible to patch the MDK kernel source with the nitro patch ? I mean, I want to have the same kernel features that the MDK kernel provided till now + the nitro ones.

Edited by a13x
Link to comment
Share on other sites

you can sure try...but you might have rejected hunks and errors which might be difficult to resolve unless you're good with kernel hacking.

 

i mean, what does the mandrake kernel have that vanilla kernels dont? supermount? nitro has that too. so I recommend vanilla+nitro, not mandrake+nitro. There are enough goodies in the nitro patch. :)

Link to comment
Share on other sites

nitro kernels are clean man, no bad hunks or errors if you patch a vanilla kernel. Latest nitro doesnt have supermount and that's a GOOD thing. Supermount is a terrible, buggy hack and you're much better off using somethign in userspace such as dbus, hal and gnome-volume-manager.

 

Patching the kernel is really quite simple.

 

Download your standard kernel source:

http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2

 

And your patch:

http://www.sepi.be/nitro/2.6.9-nitro4/patch-2.6.9-nitro4.bz2

 

Move both to /usr/src, then

extract kernel source,

tar -jxvf linux-2.6.9.tar.bz2

extract patch,

bunzip2 patch-2.6.9-nitro4.bz2

change into kernel source tree

cd linux-2.6.9

then patch your kernel

patch -p1 < ../patch-2.6.9-nitro4

 

Once you've done that, configure and make your kernel as you would normally.

make menuconfig

then configure it, if you really aren't sure and the help option doesnt suggest anything, put it as a module. compile ide and filesystem stuff into your kernel to save a step later.

then run:

make

then install the kernel with

make modules_install

and

cp arch/i386/boot/bzImage /boot/bzImage-Mine

Add it to lilo and you're done!

 

As for nitro, i reccomend it, it's awesomely fast, I've seen a huge improvement, although i do have some sound glitching problems in cedega occassionaly - thats been my only problem.

 

have fun

iphitus

Link to comment
Share on other sites

In Linux there are many ways of doing the samething so I'm just going to pass this on if you want to type less :P

 

cd linux-2.6.9

bunzip2 -dc /path/to/nitro_patch | patch -p1

 

Don't forget if you don't really know what should go in your kernel, cp an old config laying around. Probably one in /boot

 

cp /boot/kernel.config /path/to/linux-2.6.9/.config

make oldconfig

 

Answer Y/N/M to the questions (new stuff)

 

make menuconfig (if you want to peak around)

 

 

make rpm (if your on a rpm distro to build the rpm)

rpm -ivh your.new.kernel.rpm

 

or

 

make ; make modules_install ; make install

 

ls -ltr /boot (you will see new stuff at bottom to verify it installed)

check grub/lilo configs to see if they were added, if not, correct your self and reboot.

 

:beer:

Link to comment
Share on other sites

btw, i have used a "fedora kernel patchset" with nitro and it worked. Wasn't pretty (easy) & would probably confuse you more than help you so I wont explain :)

 

I had to do that "for the most part" because I run SELinux and need some of the patches that re in the Fedora kernel. Anyway, have fun with your new kernel.

 

Don't forget to try/give some kernel love to:

 

ck = http://members.optusnet.com.au/ckolivas/kernel/

cko = http://kem.p.lodz.pl/~peter/cko/

 

If you like playing with kernels, those are also fun to play with :)

 

While your at it, you can test Alan Cox's kernels too:

 

http://www.kernel.org/pub/linux/kernel/peo...inux-2.6/2.6.9/

 

Has rpms/srpms too, keep in mind he is a RedHat hacker but I wouldn't see why the rpms wouldn't work on mdk, although you might as well grab a vanilla and his patchset.

Link to comment
Share on other sites

Hmm something seems wrong .....

 

[root@Alex linux]# make menuconfig
 HOSTCC  scripts/basic/fixdep
 HOSTCC  scripts/basic/split-include
 HOSTCC  scripts/basic/docproc
 SHIPPED scripts/kconfig/zconf.tab.h
 HOSTCC  scripts/kconfig/conf.o
 HOSTCC  scripts/kconfig/mconf.o
 SHIPPED scripts/kconfig/zconf.tab.c
 SHIPPED scripts/kconfig/lex.zconf.c
 HOSTCC  -fPIC scripts/kconfig/zconf.tab.o
 HOSTLLD -shared scripts/kconfig/libkconfig.so
 HOSTLD  scripts/kconfig/mconf
 HOSTCC  scripts/lxdialog/checklist.o
 HOSTCC  scripts/lxdialog/inputbox.o
 HOSTCC  scripts/lxdialog/lxdialog.o
 HOSTCC  scripts/lxdialog/menubox.o
 HOSTCC  scripts/lxdialog/msgbox.o
 HOSTCC  scripts/lxdialog/textbox.o
 HOSTCC  scripts/lxdialog/util.o
 HOSTCC  scripts/lxdialog/yesno.o
 HOSTLD  scripts/lxdialog/lxdialog
scripts/kconfig/mconf arch/i386/Kconfig
#
# using defaults found in /boot/config-2.6.8.1-20mdk
#
/boot/config-2.6.8.1-20mdk:120: trying to assign nonexistent symbol BADRAM
/boot/config-2.6.8.1-20mdk:159: trying to assign nonexistent symbol ACPI_TC1100
/boot/config-2.6.8.1-20mdk:206: trying to assign nonexistent symbol X86_CPUFREQ_NFORCE2
/boot/config-2.6.8.1-20mdk:262: trying to assign nonexistent symbol RSBAC
/boot/config-2.6.8.1-20mdk:457: trying to assign nonexistent symbol BLK_DEV_GZLOOP
/boot/config-2.6.8.1-20mdk:506: trying to assign nonexistent symbol BLK_DEV_ADMA/boot/config-2.6.8.1-20mdk:522: trying to assign nonexistent symbol BLK_DEV_IT8212
/boot/config-2.6.8.1-20mdk:598: trying to assign nonexistent symbol SCSI_MEGARAID
/boot/config-2.6.8.1-20mdk:633: trying to assign nonexistent symbol PPSCSI
/boot/config-2.6.8.1-20mdk:718: trying to assign nonexistent symbol FUSION_ISENSE
/boot/config-2.6.8.1-20mdk:774: trying to assign nonexistent symbol IPMI_SOCKET
/boot/config-2.6.8.1-20mdk:781: trying to assign nonexistent symbol IP_ROUTE_NAT/boot/config-2.6.8.1-20mdk:783: trying to assign nonexistent symbol IP_ROUTE_TOS/boot/config-2.6.8.1-20mdk:878: trying to assign nonexistent symbol IP_NF_TARGET_TARPIT
/boot/config-2.6.8.1-20mdk:903: trying to assign nonexistent symbol IP_NF_CONNTRACK_MARK
/boot/config-2.6.8.1-20mdk:904: trying to assign nonexistent symbol IP_NF_TARGET_CONNMARK
/boot/config-2.6.8.1-20mdk:905: trying to assign nonexistent symbol IP_NF_MATCH_CONNMARK
/boot/config-2.6.8.1-20mdk:906: trying to assign nonexistent symbol IP_NF_TARGET_IPMARK
/boot/config-2.6.8.1-20mdk:907: trying to assign nonexistent symbol IP_NF_MATCH_CONDITION
/boot/config-2.6.8.1-20mdk:908: trying to assign nonexistent symbol IP_NF_MATCH_CONNLIMIT
/boot/config-2.6.8.1-20mdk:909: trying to assign nonexistent symbol IP_NF_MATCH_DSTLIMIT
/boot/config-2.6.8.1-20mdk:910: trying to assign nonexistent symbol IP_NF_NAT_H323
/boot/config-2.6.8.1-20mdk:911: trying to assign nonexistent symbol IP_NF_H323
/boot/config-2.6.8.1-20mdk:912: trying to assign nonexistent symbol IP_NF_MATCH_MPORT
/boot/config-2.6.8.1-20mdk:913: trying to assign nonexistent symbol IP_NF_MATCH_NTH
/boot/config-2.6.8.1-20mdk:914: trying to assign nonexistent symbol IP_NF_MATCH_OSF
/boot/config-2.6.8.1-20mdk:915: trying to assign nonexistent symbol IP_NF_CT_PROTO_GRE
/boot/config-2.6.8.1-20mdk:916: trying to assign nonexistent symbol IP_NF_PPTP
/boot/config-2.6.8.1-20mdk:917: trying to assign nonexistent symbol IP_NF_MATCH_QUOTA
/boot/config-2.6.8.1-20mdk:918: trying to assign nonexistent symbol IP_NF_MATCH_RANDOM
/boot/config-2.6.8.1-20mdk:919: trying to assign nonexistent symbol IP_NF_MATCH_TIME
................................................................................
....................................................


*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.

[root@Alex linux]#

 

Although I have the right kernel source:

 

[root@Alex src]# ls
linux@  linux-2.6.8.1-20mdk/  linux-2.6.9/
[root@Alex src]# ll linux
lrwxrwxrwx  1 root root 20 Dec 23 11:11 linux -> /usr/src/linux-2.6.9/
[root@Alex src]# cd linux
[root@Alex linux]# ls
arch/           include/     Makefile.orig                      REPORTING-BUGS
COPYING         init/        Makefile.rej                       scripts/
CREDITS         ipc/         mm/                                security/
crypto/         kernel/      net/                               sound/
Documentation/  lib/         nitro-sources-2.6.9_rc4-r1.ebuild  usr/
drivers/        MAINTAINERS  patch-2.6.9-rc4-nitro1.bz2
fs/             Makefile     README
[root@Alex linux]#

Link to comment
Share on other sites

OK now I'm in trouble.

 

I finally managed to compile the kernel but it sucks. I didn't notice any performance increase. It wasn't able to use the nvidia driver nor the NIC. So I decided to go back to the old mdk kernel but now I can't build the nvidia driver because I get this error:

 

Using: nvidia-installer ncurses user interface
-> License accepted.
-> There appears to already be a driver installed on your system (version: 1.0-
  6629).  As part of installing this driver (version: 1.0-6629), the existing 
  driver will be uninstalled.  Are you sure you want to continue? ('no' will a
  bort installation) (Answer: Yes)
-> No precompiled kernel interface was found to match your kernel; would you li
  ke the installer to attempt to download a kernel interface for your kernel f
  rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: No)
-> No precompiled kernel interface was found to match your kernel; this means
  that the installer will need to compile a new kernel interface.
-> Kernel source path: '/lib/modules/2.6.8.1-20mdk/build'
-> Performing CC test with CC="cc".
ERROR: If you are using a Linux 2.4 kernel, please make sure
      you either have configured kernel sources matching your
      kernel or the correct set of kernel headers installed
      on your system.
      
      If you are using a Linux 2.6 kernel, please make sure
      you have configured kernel sources matching your kernel
      installed on your system. If you specified a separate
      output directory using either the "KBUILD_OUTPUT" or
      the "O" KBUILD parameter, make sure to specify this
      directory with the SYSOUT environment variable or with
      the appropriate nvidia-installer command line option.
ERROR: Installation has failed.  Please see the file
      '/var/log/nvidia-installer.log' for details.  You may find suggestions
      on fixing installation problems in the README available on the Linux
      driver download page at www.nvidia.com.

Link to comment
Share on other sites

[root@Alex root]# ls -la /usr/src/
total 46348
drwxr-xr-x   4 root root     4096 Dec 24 18:59 ./
drwxr-xr-x  15 root root     4096 Dec 21 20:13 ../
drwxr-xr-x   2 root root     4096 Dec 24 14:25 archs/
-rw-r--r--   1 root root 47389753 Dec 24 15:05 kernel-2.6.9nitro42.6.9nitro.tar.gz
drwxr-xr-x  21 root root     4096 Dec 22 00:32 linux-2.6.8.1-20mdk/
[root@Alex root]#

 

I deleted the 2.6.9 sources.

Link to comment
Share on other sites

We are getting closer. I removed all the nitro stuff from /boot all it's modules, etc but I kept the nitro patch and 2.6.9 source for later use :P . I reinstalled the 2.6.8.1-20 sources and managed to build the NVIDIA kernel. Even so I have no hw acceleration. I don't know why.

 

Look at the logs:

 

NVIDIA log:

 

Using: nvidia-installer ncurses user interface
-> License accepted.
-> There appears to already be a driver installed on your system (version: 1.0-
  6629).  As part of installing this driver (version: 1.0-6629), the existing 
  driver will be uninstalled.  Are you sure you want to continue? ('no' will a
  bort installation) (Answer: Yes)
-> No precompiled kernel interface was found to match your kernel; would you li
  ke the installer to attempt to download a kernel interface for your kernel f
  rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: No)
-> No precompiled kernel interface was found to match your kernel; this means
  that the installer will need to compile a new kernel interface.
-> Kernel source path: '/lib/modules/2.6.8.1-20mdk/source'
-> Performing CC test with CC="cc".
-> Performing rivafb check.
-> Performing rivafb module check.
WARNING: Your kernel was configured to include rivafb support as
        a loadable kernel module.
        
        The rivafb driver conflicts with the NVIDIA driver; the
        NVIDIA kernel module will still be built and installed,
        but be aware that the NVIDIA driver will not be able to
        function properly if the rivafb module is loaded!
-> Cleaning kernel module build directory.
  executing: 'cd ./usr/src/nv; make clean'...
  rm -f -f nv.o nv-vm.o os-agp.o os-interface.o os-registry.o nv.o nv-vm.o os-
  agp.o os-interface.o os-registry.o nvidia.mod.o
  rm -f -f build-in.o nv-linux.o *.d .*.{cmd,flags}
  rm -f -f nvidia.{o,ko,mod.{o,c}} nv_compiler.h *~
  rm -f -rf .tmp_versions
-> Building kernel module:

-----LOTS OF CRAP-----

  NVIDIA: left KBUILD.
-> done.
-> Kernel module compilation complete.
-> Installing both new and classic TLS OpenGL libraries.
-> Parsing log file:
-> done.
-> Validating previous installation:
-> Unable to access previously installed file
  '/lib/modules/2.6.9-nitro42.6.9-nitro/kernel/drivers/video/nvidia.ko' (No
  such file or directory).
-> done.
WARNING: Your driver installation has been altered since it was initially
        installed; this may happen, for example, if you have since installed
        the NVIDIA driver through a mechanism other than the nvidia-installer
        (such as rpm or with the NVIDIA tarballs).  The nvidia-installer will
        attempt to uninstall as best it can.  Please see the file
        '/var/log/nvidia-installer.log' for details.
-> Uninstalling NVIDIA Accelerated Graphics Driver for Linux-x86 (1.0-6629):
-> done.
-> Uninstallation of existing driver: NVIDIA Accelerated Graphics Driver for
  Linux-x86 (1.0-6629) is complete.
-> Installing 'NVIDIA Accelerated Graphics Driver for Linux-x86' (1.0-6629):
  executing: './usr/src/nv/makedevices.sh'...
  executing: '/sbin/ldconfig'...
  executing: '/sbin/depmod -aq'...
-> done.
-> Driver file installation is complete.
-> Running post-install sanity check:
-> done.
-> Post-install sanity check passed.
-> Shared memory test passed.
-> Running runtime sanity check:
-> done.
-> Runtime sanity check passed.
-> Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86
  (version: 1.0-6629) is now complete.  Please update your XF86Config or
  xorg.conf file as appropriate; see the file
  /usr/share/doc/NVIDIA_GLX-1.0/README for details.

 

Here are the warnings and errors from xorg.0.log

(WW) Option "XkbOptions" requires an string value
(WW) `fonts.dir' not found (or not valid) in "/usr/local/share/fonts/ttfonts".
Entry deleted from font path.
(Run 'mkfontdir' on "/usr/local/share/fonts/ttfonts").
(WW) Open APM failed (/dev/apm_bios) (No such device)
(WW) LoadModule: given non-canonical module name "/usr/X11R6/lib/modules/extensions/libglx.so"
(WW) NV(0): config file hsync range 30-69kHz not within DDC hsync ranges.
(WW) NV(0): config file vrefresh range 50-130Hz not within DDC vrefresh ranges.
(WW) NV(0): Option "NoLogo" is not used
(WW) NV(0): Option "RenderAccel" is not used
(WW) NV(0): Option "NvAGP" is not used
(WW) NV(0): Option "AllowGLXWithComposite" is not used
(WW) NV(0): Option "IgnoreEDID" is not used
(WW) NV(0): Option "DigitalVibrance" is not used
(EE) Failed to initialize GLX extension (NVIDIA X driver not found)
(WW) Option "XkbOptions" requires an string value

 

What am I doing wrong ?

Edited by a13x
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...