|
A few people have asked me questions about the Linux kernel sources, and the difference between kernel RPMs, SRPMs, and LSP. The problem is that the MontaVista distribution includes the kernel sources in several forms, and it is not always clear what should be installed and where it will end up. LSPs are pre-configured kernels. They are specific for a particular board, and the LSP source can be built by simply typing make dep; make. It is important to remember that SRPMs contain the `archives' necessary to build the package, exactly as downloaded from the Internet. Typically this will be a single tar archive, and various patches which need to be applied, together with a .spec file, which describes how the package should be built. All processing of RPMs is performed using the rpm command. Its normal operation is to install RPMs and SPRMs, but it is also a minature build system, building SRPMs from the component files, and then launching the build process, and packaging the resuts into RPM files. Normally building an SRPM has two stages (it actually has several, but we'll ignore that for the moment):
The result of this build is then packaged up into an RPM which contains the binaries. However, because may people will want the source code for the kernel, it is normal for Linux distributions to supply an RPM (not an SRPM note) which contains the kernel source code. MontaVista do this by breaking the kernel build into two steps:
Thus the LSP and the kernel RPMs are almost identical, except that the LSP will have already been patched for any board specific modifications which are required, and pre-configured for the appropriate board. Note that the SRPM for the LSP only contains the kernel configuration file, any board specific patches, the README file and the .spec file. It does not contain the kernel source code, and relies on the kernel sources having already been installed (from the kernel RPM). Summary of RPMs:
Another area which has caused some confusion is kernel and LSP version numbers. These have an additional version number compared to normal RPMs. For example hhl-kernel-2.4.0-test9-st0.1-4.src.rpm Here there are several version numbers, taking them in order:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||