Bug 135269
Summary: | FC3 Release notes do not reflect the kernel source rpm is no longer avalible. | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | John Mizell <john.mizell> |
Component: | fedora-release | Assignee: | Ed Bailey <ed> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Brian Brock <bbrock> |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 3 | CC: | barryn, ed, moneta.mace, notting, stephan-menzel, wtogami |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-10-19 16:54:34 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 114398, 130887 |
Description
John Mizell
2004-10-11 15:22:04 UTC
OK, here we go. -- cut here -- In <RELEASE NAME HERE> the kernel-source package is no longer shipped. If users would like to have an exploded source tree, follow the following steps: - Install kernel-<your-version-here>.src.rpm from (the SRPMS dir on the CD | the FTP site where you got the kernel | running up2date --get-source kernel) - Run 'rpmbuild -bp kernel.spec' - In the tree, the configurations for the specific kernels shipped in <RELEASE HERE> are in the configs/ directory. To build the i686 SMP kernel, for example, do: - cp configs/kernel-<version>-i686-smp.config ./.config - make oldconfig - proceed as normal Note that an exploded source tree is *NOT* required to build kernel modules against the currently-in-use kernel. To make a foo.ko module, do: Create the Makefile in your directory with the foo.c file: obj-m := foo.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules Now do a make ... and the foo.ko is built. -- cut here --- The 2.6 module example is shamelessly stolen from: http://www.captain.at/programming/kernel-2.6/ OK, you need to add "--target <arch>" on x86. For a i586 kernel, do --target i586. For a i686 kernel, do --target i686. On non-x86 arches (including x86_64), it should Just Work. Bill -- how's this look: In order to eliminate the redundancy inherent in providing a separate package for the kernel source code when that source code already exists in the kernel's .src.rpm file, Fedora Core 2.92 Test 3 no longer includes the kernel-source package. Users that require access to the kernel sources can find them in the kernel .src.rpm file. To create an exploded source tree from this file, perform the following steps (note that <version> refers to the version specification for your currently-running kernel): 1. Obtain the kernel-<version>.src.rpm file from one of the following sources: o The SRPMS directory on the appropriate "SRPMS" CD iso image o The FTP site where you got the kernel package o By running the following command: up2date --get-source kernel 2. Install kernel-<version>.src.rpm (given the default RPM configuration, the files this package contains will be written to /usr/src/redhat/) 3. Change directory to /usr/src/redhat/SPECS/, and issue the following command: rpmbuild -bp --target=i586 kernel.spec On a default RPM configuration, the kernel tree will be located in /usr/src/redhat/BUILD/. 4. In resulting tree, the configurations for the specific kernels shipped in Fedora Core 2.92 Test 3 are in the /configs/ directory. For example, the i686 SMP configuration file is named /configs/kernel-<version>-i686-smp.config. Issue the following command to place the desired configuration file in the proper place for building: cp <desired-file> ./.config 5. Issue the following command: make oldconfig You can then proceed as usual. Note: An exploded source tree is not required to build kernel modules against the currently in-use kernel. For example, to build the foo.ko module, create the following file (named Makefile) in the directory containing the foo.c file: obj-m := foo.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules Issue the make command to build the foo.ko module. a) the makefile snippet should go through whatever docbook magic is needed to make it look like program code :0 b) the --target=i586 should probably include a note about 'replace with your arch here'. Looks great. Bill -- thanks for the feedback... a) Done already -- you just can't see it from the cut'n'paste :-) b) Good point -- fixed. *** Bug 138810 has been marked as a duplicate of this bug. *** |