release-notes/devel/en_US Kernel.xml,1.20,1.21
Paul W. Frields (pfrields)
fedora-docs-commits at redhat.com
Sat Apr 21 22:01:04 UTC 2007
Author: pfrields
Update of /cvs/docs/release-notes/devel/en_US
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2405
Modified Files:
Kernel.xml
Log Message:
Import diffs from wiki for final release
Index: Kernel.xml
===================================================================
RCS file: /cvs/docs/release-notes/devel/en_US/Kernel.xml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- Kernel.xml 4 Apr 2007 11:53:57 -0000 1.20
+++ Kernel.xml 21 Apr 2007 22:01:02 -0000 1.21
@@ -4,14 +4,6 @@
<section id="sn-Kernel">
<title>Linux Kernel</title>
- <note>
- <title>Assumptions Based on 2.6.21</title>
- <para>
- This draft of the release notes assume that the final release of Fedora
- 2.6.21 is based on kernel 2.6.21. This is subject to change.
- </para>
- </note>
-
<para>
This section covers changes and important information regarding the
2.6.21 based kernel in Fedora 7. The 2.6.21 kernel includes:
@@ -24,8 +16,7 @@
<listitem>
<para>
Tickless support for x86 32bit, which greatly improves power
- management. For the final release of Fedora 7, x86_64 should
- also be tickless.
+ management.
</para>
</listitem>
<listitem>
@@ -42,20 +33,12 @@
</note>
</listitem>
<listitem>
- <para>Support for version 2 of the Global File System (GFS2).</para>
+ <para>Support for version 2 of the Global File System (GFS2) has
+ been integrated into the upstream kernel.</para>
</listitem>
<listitem>
<para>Some elements of the realtime kernel project.</para>
</listitem>
- <listitem>
- <para>Many bug fixes and other small improvements.</para>
- </listitem>
- <listitem>
- <para>
- Changelog for 2.6.21rc1 available here:
- <ulink url='http://lwn.net/Articles/223021/'>http://lwn.net/Articles/223021/</ulink>
- </para>
- </listitem>
</itemizedlist>
<section id="sn-Version">
@@ -183,23 +166,6 @@
</para>
</section>
- <section id="sn-Following-Generic-Textbooks">
- <title>Following Generic Textbooks</title>
- <para>
- Many of the tutorials, examples, and textbooks about Linux kernel
- development assume the kernel sources are installed under the
- <filename>/usr/src/linux/</filename> directory. If you make a symbolic
- link, as shown below, you should be able to use those learning
- materials with the Fedora packages. Install the appropriate kernel
- sources, as shown earlier, and then run the following command:
- </para>
-<screen><![CDATA[su -c 'ln -s /usr/src/kernels/<version>.<release>-<arch> /usr/src/linux'
-]]></screen>
- <para>
- Enter the root password when prompted.
- </para>
- </section>
-
<section id="sn-Preparing-for-Kernel-Development">
<title>Preparing for Kernel Development</title>
<para>
@@ -208,174 +174,11 @@
package is required now to build external modules. Configured sources are
available, as described in the kernel flavors section.
</para>
- <note>
- <title>Instructions Refer to Current Kernel</title>
- <para>
- To simplify the following directions, we have assumed that you want to
- configure the kernel sources to match your currently-running kernel. In
- the steps below, the expression <version> refers to the kernel
- version shown by the command: <command>uname -r</command>.
- </para>
- </note>
- <para>
- Users who require access to Fedora original kernel sources can find them
- in the kernel <package>.src.rpm</package> package. To create an exploded
- source tree from this file, perform the following steps:
- </para>
- <note>
- <title>Do Not Build Packages as Super-user (root)</title>
- <para>
- Building packages as the superuser is inherently dangerous and is not
- required, even for the kernel. These instructions allow you to install
- the kernel source as a normal user. Many general information sites refer
- to <filename>/usr/src/linux</filename> in their kernel instructions. If
- you use these instructions, simply substitute
- <filename>~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch></filename>."]]
- </para>
- </note>
- <procedure>
- <step>
- <para>Prepare an RPM package building environment in your home
- directory. Run the following commands:</para>
-<screen><![CDATA[su -c 'yum install rpmdevtools yum-utils'
-rpmdev-setuptree
-]]></screen>
- <para>
- Enter the root password when prompted.
- </para>
- </step>
- <step>
- <para>
- Download the <code>kernel-<version>.src.rpm</code> file.
- Enable any appropriate source repositories, such as Core,
- Updates, or Testing, with the <code>-e</code> switch:
- </para>
-<screen><![CDATA[yumdownloader -e core-source -e updates-source --source kernel-<version>
-]]></screen>
- <para>
- Enter the root password when prompted. If you do not
- specify the version, the latest kernel available in Fedora is
- downloaded.
- </para>
- </step>
- <step>
- <para>
- Install <code>kernel-<version>.src.rpm</code> using the
- command:
- </para>
-<screen><![CDATA[su -c 'rpm -Uvh kernel-<version>.src.rpm'
-]]></screen>
- <para>
- This command writes the RPM contents into
- <code>${HOME}/rpmbuild/SOURCES</code> and
- <code>${HOME}/rpmbuild/SPECS</code>, where
- <code>${HOME}</code> is your home directory.
- </para>
- <note>
- <title>Space Required</title>
- <para>
- The full kernel building process may require several gigabytes of
- extra space on the file system containing your home directory.
- </para>
- </note>
- </step>
- <step>
- <para>Prepare the kernel sources using the commands:</para>
-<screen><![CDATA[cd ~/rpmbuild/SPECS
-rpmbuild -bp --target $(uname -m) kernel-2.6.spec
-]]></screen>
- <para>
- The kernel source tree is located in the
- <code>~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch></code>
- directory.
- </para>
- </step>
- <step>
- <para>
- The configurations for the specific kernels shipped in Fedora
- 7 are in the
- <code>~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch>/configs</code>
- directory. For example, the i686 configuration file is named
- <code>~/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch>/configs/kernel-<version>-i686.config</code>.
- Issue the following command to place the desired configuration
- file in the proper place for building:
- </para>
-<screen><![CDATA[cp configs/<desired-config-file> .config
-]]></screen>
- </step>
- <step>
- <para>
- Every kernel gets a name based on its version number. This is
- the value the <code>uname -r</code> command displays. The
- kernel name is defined by the first four lines of the kernel
- <code>Makefile</code>. The <code>Makefile</code> has been
- changed to generate a kernel with a
- <emphasis>different</emphasis> name from that of the running
- kernel. To be accepted by the running kernel, a module must be
- compiled for a kernel with the correct name. To do this, you
- must edit the kernel <code>Makefile</code>.
- </para>
- <para>
- For example, if the <code>uname -r</code> returns the
- string <code>2.6.17-1.2345_FC6</code>, change the
- <code>EXTRAVERSION</code> definition from this:
- </para>
-<screen><![CDATA[EXTRAVERSION = -prep
-]]></screen>
- <para>to this: </para>
-<screen><![CDATA[EXTRAVERSION = -1.2345_FC6
-]]></screen>
- <para>That is, substitute everything from the final dash onward.</para>
- </step>
- <step>
- <para>Run the following command: </para>
-<screen><![CDATA[make oldconfig
-]]></screen>
- <para>You may then proceed as usual.</para>
- </step>
- </procedure>
- <note>
- <title>Building Kernel Binary RPMs</title>
- <para>
- Normally, kernels for Fedora are built using the
- <command>rpmbuild</command> utility and a specfile. Your results may
- vary if you use the kernel's built-in <command>make rpm</command>
- target.
- </para>
- </note>
- </section>
-
- <section id="sn-Building-Only-Kernel-Modules">
- <title>Building Only Kernel Modules</title>
- <para>
- An exploded source tree is not required to build a kernel module, such as
- your own device driver, against the currently in-use kernel. Only the
- <package>kernel-devel</package> package is required to build external
- modules. If you did not select it during installation, use
- <application>Pirut</application> to install it (via
- <guimenu>Applications</guimenu><guimenuitem>Add/Remove
- Software</guimenuitem>) or use <command>yum</command> to install it. Run
- the following command to install the <package>kernel-devel</package>
- package using <command>yum</command>.
- </para>
-<screen><![CDATA[su -c 'yum install kernel-devel'
-]]></screen>
- <para>
- For example, to build the <filename>foo.ko</filename> module, create the
- following <filename>Makefile</filename> in the directory containing the
- <filename>foo.c</filename> file:
- </para>
-<screen><![CDATA[obj-m := foo.o
-
-KDIR := /lib/modules/$(shell uname -r)/build
-PWD := $(shell pwd)
-
-default:
- $(MAKE) -C $(KDIR) M=$(PWD) modules
-]]></screen>
- <para>
- Issue the <command>make</command> command to build the
- <filename>foo.ko</filename> module.
- </para>
+ <important>
+ <title>Custom Kernel Building</title>
+ <para>For information on kernel development and working with
+ custom kernels, refer to <ulink
+ url="http://fedoraproject.org/wiki/Docs/CustomKernel"/>.</para>
+ </important>
</section>
</section>
More information about the Fedora-docs-commits
mailing list