[PlanetCCRMA] Re: Preemptible kernel patch

Patricio de la Cuadra pdelac@ccrma.Stanford.EDU
Sat Nov 16 06:11:02 2002

Hi Fernando,
Thank you very much for the information, it worked perfect!. I was also able
to customize other kernel features to my needs (ntfs, pentium4 etc). The only
little problem is that now I don't have sound ;-). Do I have to do a similar
procedure to compile the alsa drivers for my "customized" kernel?

> > The preemptible patch included in the ccrma kernel conflicts with my modem 
> > driver (hsflinmodem). Is there any way to disable it? ...maybe using the 
> > source rpms??... or maybe it's time to learn how to compile my own 
> > kernel... :-(
> The only way is to recompile the kernel without that option turned 
> on. It is not something you can disable at runtime. I should 
> probably expand on the "rebuild your kernel" section of the planet 
> pages. 
> I'm working on a new kernel. So far 2.4.20-rc1 is not working rigth. 
> I'm currently looking at the Jussi Lako's patches, they seem to 
> produce a very low latency kernel, maybe not up to the latest (seems 
> to derive from 
> 2.4.20-pre4) but well, if it has low latency... it includes a new 
> scheduler but I think it does not include the preemptible kernel 
> patch. 
> Let's see, this is what you would need to do (this is from memory, 
> it may be that some paths or names are slightly off):
> - rpm -Uvh the kernel source rpm (not the binary rpm that has the 
> kernel   sources). This will unpack all kernel sources and put the 
> spec file in   the proper place. See the appendix on rebuilding the 
> kernel for a url to   the source rpm. - cd /usr/src/redhat/SPECS - 
> rpm -bp kernel-2.4.19-1.ll.spec 
>   (this untars and patches the kernel, does not built it yet) - cd 
> /usr/src/redhat/BUILD/kernel-2.4.19-1.ll/linux-2.4.19/ - copy the 
> i686 configuration file you want to change:  cp configs/kernel-
> 2.4.19-i686.config .config - do a "make xconfig", unselect the 
> "preemptible kernel" option, I think   it is in the processor 
> section. - save the configuration and quite the configurator - copy 
> back the configuration file to the sources directory:  cp .config 
> /usr/src/redhat/SOURCES/kernel-2.4.19-i686.config - do the same for 
> the i386 config file (why? you will need to generate   both the i386 
> kernel and the i686, you need the i386 so that you will   get the 
> source package you will latter need to compile the modem driver. - 
> you don't need to create the smp kernels, you can edit the spec file 
> and   turn off the build_smp variable. You could also bump the 
> version or   change the postfix so that you do not have the same 
> version as the   planet kernel. - build the kernels:  rpm -ba kernel-
> 2.4.19-1.ll.spec  rpm -ba --target i686 kernel-2.4.19-1.ll.spec -
>  install the resulting rpms.....
> Of course this is more complicated than just building and installing 
> the raw kernel. The process is more involved because you are 
> updating the rpms. 
> -- Fernando
> > Thanks,
> > Pato.
> > ==========
> > make[1]: Entering directory `/home/pdelac/Download/SOURCES/hsflinmodem-
> > 5.03.03.L3mbsibeta02101001/modules'
> > * Compiling mod_osspec.c
> > In file included from mod_osspec.c:51:
> > ../modules/osspec/include/oscompat.h:121:2: #error Preemptible kernel option 
> > (CONFIG_PREEMPT) not yet supported. Reconfigure your kernel without it.
> > make[1]: *** [mod_osspec.o] Error 1
> > make[1]: Leaving directory `/home/pdelac/Download/SOURCES/hsflinmodem-
> > 5.03.03.L3mbsibeta02101001/modules'make: *** [modules] Error 2

Patricio de la Cuadra
Center for Computer Research
in Music and Acoustics CCRMA