[PlanetCCRMA] Comments and thoughts on building the 1394 drivers via the kernel rpm process

Mark Knecht mknecht@controlnet.com
Tue Jan 7 08:17:01 2003


Fernando,
   Copied and annotated as I go through the process. I've spaced things out
a bit and also put my questions and comments inside some asterisk blocks.

Mark
**********
**********

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 appears to be the page:

http://www-ccrma.stanford.edu/planetccrma/software/recompilekernel.html

The kernel source rpm is in a link at the top of the page. I download that.
It is a 34.4MB download.

Executed:

rpm -Uvh kernel-2.4.19-1.ll.src.rpm
**********


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
**********
OK
**********


- rpm -bp kernel-2.4.19-1.ll.spec (this untars and patches the kernel, does
not built it yet)
**********
The Planet web page says 'rpm -ba'. So from man rpm we are doing the %prep
step only?
**********


- cd /usr/src/redhat/BUILD/kernel-2.4.19-1.ll/linux-2.4.19/
**********
OK

Question - this gets me to the top of the source code tree for the kernel.
The ieee1394 directorto be updated is in this drivers directory, correct?
(I.e. - this is the sort of driver directory I've patched before, or
overwritten with tarballs. This just happens to not be in the real source
code tree since we're building an rpm?)
**********


- copy the i686 configuration file you want to change:
cp configs/kernel-2.4.19-i686.config .config
**********
OK - File size is 35969. Date is Jan. 7, 8:02

Is this the file we would give to the 1394 developers how have an idea about
how to make this easier?
**********


- do a "make xconfig", unselect the "preemptible kernel" option, I think it
is in the processor section. - save the configuration and quite the
configurator
**********
No in my case?
**********


- copy back the configuration file to the sources directory: cp .config
/usr/src/redhat/SOURCES/kernel-2.4.19-i686.config
**********
No change, so nothing to copy back
**********


- 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.
**********
Since no change in kernel parameters, no need to do this step either?
**********


- 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.
**********
OK

Now, at this point I think I would insert the new 1394 code in the ieee1394
driver directory. Comments?
**********


- build the kernels:
rpm -ba kernel-2.4.19-1.ll.spec
rpm -ba --target i686 kernel-2.4.19-1.ll.spec
**********
OK, so if I did this we think I'd get the same kernel as you, but with new
1394 drivers.
**********


- install the resulting rpms.....
**********
And we have to figure out what object files to copy, and where to copy them.
**********