Hi, Ben Hutchings <b...@decadent.org.uk> wrote: > Package: installation-manual > Severity: important > > There are many things wrong with the current text for "Compiling > a New Kernel". > > - "It is often not necessary since the default kernel shipped with > Debian handles most configurations." This is a great under- > statement: almost all configurations are covered. > > - "Also, Debian often offers several alternative kernels." Actually > there is less and less need for alternative kernels... > > - It recommends using kernel-package, but the upstream "make deb-pkg" > recipe is usually a better choice > > - The linux-source-2.6 metapackage was transitional in wheezy and > _does_not_exist_ in jessie. > > - The list of build-dependencies is missing many packages. > > I propose to remove almost the entire text and refer to the > Debian Kernel Handbook (online and packaged).
I would like to change it this way, if noone objects: diff --git a/en/post-install/kernel-baking.xml b/en/post-install/kernel-baking.xml index 5146cf3c1..9371952ae 100644 --- a/en/post-install/kernel-baking.xml +++ b/en/post-install/kernel-baking.xml @@ -4,170 +4,16 @@ <sect1 arch="linux-any" id="kernel-baking"><title>Compiling a New Kernel</title> <para> -Why would someone want to compile a new kernel? It is often not -necessary since the default kernel shipped with &debian; handles most -configurations. Also, &debian; often offers several alternative kernels. -So you may want to check first if there is an alternative kernel image -package that better corresponds to your hardware. However, it can be -useful to compile a new kernel in order to: - -<itemizedlist> -<listitem><para> - -handle special hardware needs, or hardware conflicts with the -pre-supplied kernels - -</para></listitem> -<listitem><para> - -use options of the kernel which are not supported in the pre-supplied -kernels (such as high memory support) - -</para></listitem> -<listitem><para> - -optimize the kernel by removing useless drivers to speed up boot time - -</para></listitem> -<listitem><para> - -create a monolithic instead of a modularized kernel - -</para></listitem> -<listitem><para> - -run an updated or development kernel - -</para></listitem> -<listitem><para> - -learn more about linux kernels - -</para></listitem> -</itemizedlist> - -</para> - - <sect2><title>Kernel Image Management</title> -<para> - -Don't be afraid to try compiling the kernel. It's fun and profitable. - -</para><para> - -To compile a kernel the &debian; way, you need some packages: -<classname>fakeroot</classname>, <classname>kernel-package</classname>, -<classname>linux-source-2.6</classname> -and a few others which are probably already installed (see -<filename>/usr/share/doc/kernel-package/README.gz</filename> for the -complete list). - -</para><para> - -This method will make a .deb of your kernel source, and, if you have -non-standard modules, make a synchronized dependent .deb of those -too. It's a better way to manage kernel images; -<filename>/boot</filename> will hold the kernel, the System.map, and a -log of the active config file for the build. - -</para><para> - -Note that you don't <emphasis>have</emphasis> to compile your kernel -the <quote>&debian; way</quote>; but we find that using the packaging system -to manage your kernel is actually safer and easier. In fact, you can get -your kernel sources right from Linus instead of -<classname>linux-source-2.6</classname>, -yet still use the <classname>kernel-package</classname> compilation method. - -</para><para> - -Note that you'll find complete documentation on using -<classname>kernel-package</classname> under -<filename>/usr/share/doc/kernel-package</filename>. This section just -contains a brief tutorial. - -</para><para> - -Hereafter, we'll assume you have free rein over your machine and will -extract your kernel source to somewhere in your home directory<footnote> - -<para> - -There are other locations where you can extract kernel sources and build -your custom kernel, but this is easiest as it does not require special -permissions. - -</para> - -</footnote>. We'll also assume that your kernel version is -&kernelversion;. Make sure you are in the directory to where you want to -unpack the kernel sources, extract them using -<userinput>tar xf /usr/src/linux-source-&kernelversion;.tar.xz</userinput> -and change to the directory <filename>linux-source-&kernelversion;</filename> -that will have been created. - -</para><para> - -Now, you can configure your kernel. Run <userinput>make -xconfig</userinput> if X11 is installed, configured and being run; run -<userinput>make menuconfig</userinput> otherwise (you'll need -<classname>libncurses5-dev</classname> installed). Take the time to read -the online help and choose carefully. When in doubt, it is typically -better to include the device driver (the software which manages -hardware peripherals, such as Ethernet cards, SCSI controllers, and so -on) you are unsure about. Be careful: other options, not related to a -specific hardware, should be left at the default value if you do not -understand them. Do not forget to select <quote>Kernel module loader</quote> -in <quote>Loadable module support</quote> (it is not selected by default). -If not included, your &debian; installation will experience problems. - -</para><para> - -Clean the source tree and reset the <classname>kernel-package</classname> -parameters. To do that, do <userinput>make-kpkg clean</userinput>. - -</para><para> - -Now, compile the kernel: -<userinput>fakeroot make-kpkg --initrd --revision=1.0.custom kernel_image</userinput>. -The version number of <quote>1.0</quote> can be changed at will; this is just -a version number that you will use to track your kernel builds. -Likewise, you can put any word you like in place of <quote>custom</quote> -(e.g., a host name). Kernel compilation may take quite a while, depending on -the power of your machine. - -</para><para> - -Once the compilation is complete, you can install your custom kernel -like any package. As root, do -<userinput>dpkg -i -../&kernelpackage;-&kernelversion;-<replaceable>subarchitecture</replaceable>_1.0.custom_&architecture;.deb</userinput>. -The <replaceable>subarchitecture</replaceable> part is an optional -sub-architecture, -<phrase arch="i386"> such as <quote>686</quote>, </phrase> -depending on what kernel options you set. -<userinput>dpkg -i</userinput> will install the -kernel, along with some other nice supporting files. For instance, -the <filename>System.map</filename> will be properly installed -(helpful for debugging kernel problems), and -<filename>/boot/config-&kernelversion;</filename> will be installed, -containing your current configuration set. Your new -kernel package is also clever enough to automatically update your boot -loader to use the new kernel. If you have created a modules package, -you'll need to install that package as well. - -</para><para> - -It is time to reboot the system: read carefully any warning that the -above step may have produced, then <userinput>shutdown -r now</userinput>. +Why would someone want to compile a new kernel? It is most probably not +necessary since the default kernel shipped with &debian; handles almost all +configurations. </para><para> -For more information on &debian; kernels and kernel compilation, see the +If you want to compile your own kernel nevertheless, this is of course +possible and we recommend the use of the <quote>make deb-pkg</quote> target. +For more information read the <ulink url="&url-kernel-handbook;">Debian Linux Kernel Handbook</ulink>. -For more information on <classname>kernel-package</classname>, read -the fine documentation in <filename>/usr/share/doc/kernel-package</filename>. </para> - </sect2> </sect1> -- ============================================================ Created with Sylpheed 3.5.1 under D E B I A N L I N U X 9 " S T R E T C H " . Registered Linux User #311290 - https://linuxcounter.net/ ============================================================