<sect1 id="ch06-kernel">
<!--
<title>Installing Linux-&kernel-version; headers</title>
-->
<title>Linux-&kernel-version; のインストール</title>
<?dbhtml filename="kernel.html" dir="chapter06"?>

<!--
<screen>Estimated build time:           &kernel-time-headers;
Estimated required disk space:  &kernel-compsize-headers;</screen>
-->
<screen>推定構築時間:           &kernel-time-headers;
推定必要ディスクスペース  &kernel-compsize-headers;</screen>

&aa-kernel-shortdesc;
&aa-kernel-dep;

<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2>
<!--
<title>Installation of the kernel headers</title>
-->
<title>カーネルヘッダのインストール</title>

<!--
<para>We won't be compiling a new kernel yet &#045;&#045; we'll do that when we have
finished the installation of all the packages. But as some packages need the
kernel header files, we're going to unpack the kernel archive now, set it up
and copy the header files so they can be found by these packages.</para>
-->
<para>まだ新しいカーネルをコンパイルしません ー これは全てのパッケージのインストールが終ったあとにします。
しかしカーネルヘッダを必要とするパッケージもあるので、今カーネルアーカイブを解凍し、設定をして、それらのパッケージによって見つけられるようにヘッダファイルをコピーします。</para>

<!--
<para>It is important to note that the files in the kernel source directory
are not owned by <emphasis>root</emphasis>. Whenever you unpack a package as
user <emphasis>root</emphasis> (like we do here inside chroot), the files end
up having the user and group IDs of whatever they were on the packager's
computer. This is usually not a
problem for any other package you install because you remove the source
tree after the installation. But the Linux kernel source tree is often kept
around for a long time, so there's a chance that whatever user ID the packager
used will be assigned to somebody on your machine and then that person would
have write access to the kernel source.</para>
-->
<para>カーネルソースディレクトリの中にあるファイルが <emphasis>root</emphasis> によって所有されていないことに注意するのは重要です。
<emphasis>root</emphasis> ユーザとしてパッケージを解凍するとき（ここ chroot 環境の中でするように）にはいつでも、パッケージャのコンピュータ上にあったときのユーザーとグループ ID が何であれ、ファイルはその ID を持つことになります。
これは、インストールのあとでソースツリーを削除するので、通常インストールする他のパッケージの問題とはなりません。
しかし Linux カーネルソースツリーはたびたびかなり長い間残しておかれるので、パッケージャが使っていたユーザ ID が何であれお使いのマシンの誰かに割り当てられる可能性があり、その人がカーネルソースへ書き込みをするかもしれません。</para>

<!--
<para>In light of this, you might want to run <userinput>chown -R 0:0</userinput>
on the <filename>linux-&kernel-version;</filename> directory
to ensure all files are owned by user <emphasis>root</emphasis>.</para>
-->
<para>この事を考慮して、すべてのファイルが <emphasis>root</emphasis> ユーザーによって所有されるように <userinput>chown -R 0:0</userinput> を <filename>linux-&kernel-version;</filename> ディレクトリに対して実行するといいかもしれません。</para>

<!--
<para>Prepare for header installation:</para>
-->
<para>ヘッダをインストールする準備をします。</para>

<screen><userinput>make mrproper</userinput></screen>

<!--
<para>This ensures that the kernel tree is absolutely clean. The kernel team
recommends that this command be issued prior to <emphasis>each</emphasis> kernel
compilation. You shouldn't rely on the source tree being clean after
untarring.</para>
-->
<para>これはカーネルツリーが完全にクリーンにします。
カーネルチームはこのコマンドが<emphasis>それぞれの</emphasis>カーネルのコンパイルに先立ち実行されるよう勧めています。
解凍したあとのソースツリーがクリーンであると当てにしてはいけません。</para>

<!--
<para>Create the <filename>include/linux/version.h</filename> file:</para>
-->
<para><filename>include/linux/version.h</filename> を作ります。</para>

<screen><userinput>make include/linux/version.h</userinput></screen>

<!--
<para>Create the platform-specific <filename>include/asm</filename>
symlink:</para>
-->
<para>プラットフォーム固有の <filename>include/asm</filename> シンボリックリンクを作成します。</para>

<screen><userinput>make symlinks</userinput></screen>

<!--
<para>Install the platform specific-header files:</para>
-->
<para>プラットフォーム固有のヘッダーファイルをインストールします。</para>

<screen><userinput>cp -HR include/asm /usr/include
cp -R include/asm-generic /usr/include</userinput></screen>

<!--
<para>Install the cross-platform kernel header files:</para>
-->
<para>クロスプラットフォームカーネルヘッダをインストールします。</para>

<screen><userinput>cp -R include/linux /usr/include</userinput></screen>

<!--
<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 the
kernel, we need to create this file ourselves in order to avoid compilation
failures. Create an empty <filename>autoconf.h</filename> file:</para>
-->
<para><filename>autoconf.h</filename> ヘッダファイルを使ういくつかのカーネルヘッダファイルがあります。
まだカーネルを最適化していないので、コンパイルが失敗することを避けるためにこのファイルを自分で作る必要があります。
空の <filename>autoconf.h</filename> ファイルを作ります。</para>

<screen><userinput>touch /usr/include/linux/autoconf.h</userinput></screen>

</sect2>
&c6-kernel-exp-headers;
</sect1>

