| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <sect2><title> </title><para> </para></sect2><sect2><title>Installation of the kernel headers</title><para>We won't be compiling a new kernel yet -- we'll do that when we havefinished the installation of all the packages. But as some packages need thekernel header files, we're going to unpack the kernel archive now, set it upand copy the header files so they can be found by these packages.</para><para>It is important to note that the files in the kernel source directoryare not owned by <emphasis>root</emphasis>. Whenever you unpack a package asuser <emphasis>root</emphasis> (like we do here inside chroot), the files endup having the user and group IDs of whatever they were on the packager'scomputer. This is usually not aproblem for any other package you install because you remove the sourcetree after the installation. But the Linux kernel source tree is often keptaround for a long time, so there's a chance that whatever user ID the packagerused will be assigned to somebody on your machine and then that person wouldhave write access to the kernel source.</para><para>In light of this, you might want to run <userinput>chown -R 0:0</userinput>on the <filename>linux-&kernel-version;</filename> directoryto ensure all files are owned by user <emphasis>root</emphasis>.</para><para>Prepare for header installation:</para><para><screen><userinput>make mrproper</userinput></screen></para><para>This ensures that the kernel tree is absolutely clean. The kernel teamrecommends that this command be issued prior to <emphasis>each</emphasis> kernelcompilation. You shouldn't rely on the source tree being clean afteruntarring.</para><para>Create the <filename>include/linux/version.h</filename> file:</para><para><screen><userinput>make include/linux/version.h</userinput></screen></para><para>Create the platform-specific <filename>include/asm</filename>symlink:</para><para><screen><userinput>make symlinks</userinput></screen></para><para>Install the platform specific-header files:</para><para><screen><userinput>cp -HR include/asm /usr/includecp -R include/asm-generic /usr/include</userinput></screen></para><para>Install the cross-platform kernel header files:</para><para><screen><userinput>cp -R include/linux /usr/include</userinput></screen></para><para>There are a few kernel header files which make use of the<filename>autoconf.h</filename> header file. Since we do not yet configure thekernel, we need to create this file ourselves in order to avoid compilationfailures. Create an empty <filename>autoconf.h</filename> file:</para><para><screen><userinput>touch /usr/include/linux/autoconf.h</userinput></screen></para></sect2>
 |