From kwade at redhat.com Thu Jun 4 22:07:16 2015 Content-Type: multipart/mixed; boundary="===============4952598236754914014==" MIME-Version: 1.0 From: Karsten Wade To: docs at lists.fedoraproject.org Subject: Re: release-notes/FC4 kernel.xml,1.3,1.4 Date: Mon, 30 May 2005 21:15:09 -0700 Message-ID: <1117512910.29735.86.camel@erato.phig.org> In-Reply-To: 200505302327.j4UNRl1H001237@cvs-int.fedora.redhat.com --===============4952598236754914014== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I suppose since these are commented out they don't affect anything except ... well, I can't figure what. I'm soooo curious, how do they make editing easier? Is it to keep track of the entities used? BTW, I think your style is off from the style guidelines ... http://fedora.redhat.com/participate/documentation-guide/s1-xml-tags-screen= .html Some of your check-ins have funky indenting ... the content is two characters from the left. We all seem to have subtle differences. Not sure how to resolve that. When I get a chance, I'm going to first reformat kernel.xml, then commit, then edit the content, all to make for a saner, happier diff. This worked great, btw. Everyone formed like Voltron, really brought a lot of good content and shine to the relnotes. - Karsten On Mon, 2005-05-30 at 19:27 -0400, Tommy Reynolds wrote: > + > + > +
> + > + Linux Kernel > + > +
> + Version > + > + The &DISTRO; is based on a 2.6.11 kernel. > + &FC; may include additional patches for improvements, bug fixes, o= r additional features. > + For this reason, the &FC; kernel may not be line-for-line equivale= nt to the so-called vanilla kernel from the kernel.org web site. > + > + > + You may obtain a list of any such patches by using the command on = the &FC; package: > + > + $ rpm -qpl kernel-<version>.src.rpm > +
> +
> + Kernel Flavors > + > + &FC; includes the following kernel builds: > + > + > + > + > + Native kernel, in both uniprocessor and SMP v= arieties. > + > + > + Configured sources are available in the kernel-devel= -<version>.<arch>.rpm package. > + > + > + > + > + Virtual kernel for use with the XEN e= mulator package. > + > + > + Configured sources are available in the kernel-xen0-= devel-<version>.<arch>.rpm pack= age. > + > + > + > + > + Sources for both kernel flavors may be installed at the same time. > + The files will be installed into the /usr/src/kernels/<version>[-xen0]-<arch>= / tree. > + Use the command: > + > + # rpm -Uvh kernel-devel[-xen0]-<version>.<arch>.rpm > + > + as appropriate. > + > + > + Following Generic Textbooks > + > + Many of the tutorials, examples, and textbooks about Linux kerne= l development assume the kernel sources are installed under the /= usr/src/linux directory. > + If you make a symbolic link, as shown below, you should be able = to use those learning materials with the &FC; packages. > + Install the appropriate kernel sources, as shown earlier, and th= en: > + > + # ln -s /usr/src/kernels/kernel-<all-the-rest> /usr/src= /linux > + > +
> + > +
> + > + Preparing for Kernel Development > + > + > + &DISTRO; &DISTROVER; does not include the kernel-source<= /filename> package provided by older versions. > + Instead, configured sources are available as described in . > + Users that require access to &FC; original kernel sources can find= them in the kernel .src.rpm pack= age. > + To create an exploded source tree from this file, perform the foll= owing steps: > > - > - Source not required to build kernel modules > + > + These Instructions Refer The Currently-running Kernel! > + > + To simplify the following directions, we have assumed that you wan= t to configure the kernel sources to match your currently-running kernel. > + In the steps below, you must understand that the phrase <version> refers to the kernel version shown by the: > + > + $ uname -r > + > + command. > + > + > + > + > + > + Obtain the kernel-<version>.src.rpm file from one of the following sources: > + > + > + > + > + The SRPMS directory on the appropri= ate SRPMS CD iso image. > + > + > + > + > + The FTP site where you got the kernel package. > + > + > + > + > + By running the following command: > + > + # up2date --get-source kerne= l > + > + > + > + > + > + Install kernel-<version>.src.rpm using the command: > + > + # rpm <= parameter class=3D"option">-Uvh kernel-<version>.src.rpm > + > + This writes the RPM contents into /= usr/src/redhat/SOURCES and /usr/src/redhat/SPECS. > + > + > + > + > + Prepare the kernel sources using the commands: > + > + # cd /usr/src/redhat/SPECS > +# rpmbuild -bp --target $(arch) kernel.spec > + > + The kernel source tree will be located in the /usr/s= rc/redhat/BUILD/kernel-<version> directory. > + It is common practice to move the resulting linux-<version> directory to the /usr/src tree; while not strictly necessary, we suggest that= you do this to match the generally-available documentation. > + > + # cd /usr/src/redhat/BUILD/kernel-<version>= ; /usr/src/ > +# mv linux-<version> /usr/src/ > +# cd /usr/src > +# ln -s<= /parameter> ./linux-<version> linux > +# cd /usr/src/linux > + > + > + > + The configurations for the specific kernels shipped in &DISTRO= ; &DISTROVER; 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 configs/<desired-config-file> .config > + > + > + > + Issue the following command: > + > + # make oldconfig<= /command> > + > + > + > + You can then proceed as usual. > + > +
> +
> + Building Only Kernel Modules > > - An exploded source tree is not required to > - build kernel modules against the currently in-use kernel. > + An exploded source tree is not required to bu= ild a kernel module, such as your own device driver, 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: > + For example, to build the foo.ko module, crea= te the following Makefile in the directory containing = the foo.c file: > > - > - > -obj-m :=3D foo.o > + > +obj-m :=3D foo.o > = > -KDIR :=3D /lib/modules/$(shell uname -r)/build > -PWD :=3D $(shell pwd) > +KDIR :=3D /lib/modules/$(shell uname -r)/build > +PWD :=3D $(shell pwd) > = > default: > - $(MAKE) -C $(KDIR) SUBDIRS=3D$(PWD) modules > - > - > - > + $(MAKE) -C $(KDIR) M=3D$(PWD) modules > + > + > Issue the make command to build the > foo.ko module. > > - > +
> +
> + Userspace Dependancies on the Kernel > + > + &DISTRO; adds support for clustered systems. > + This requires a special kernel that works in conjunction with some= user-space utilities, such as management daemons. > + Consequently, to remove such a kernel, perhaps after an update, yo= u cannot simply use the rpm -e kernel-<version> command as in earlier distrib= utions because these userspace packages depend on the kernel package. > + You may either list both the kernel package and its userspace depe= ndant packages on the rpm -e command, or you may wish to= use the yum remove kernel-<version><= /replaceable> command instead since yum automatically re= moves dependant packages if necesssary. > + > +
>
>