/usr/share/doc/debian-kernel-handbook-ja/kernel-handbook.ja.html/ch-initramfs.html is in debian-kernel-handbook-ja 1.0.18.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>第7章 起動用RAMイメージ (initramfs) アーカイブの管理</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="index.html" title="Debian Linux カーネルハンドブック"><link rel="up" href="index.html" title="Debian Linux カーネルハンドブック"><link rel="prev" href="ch-modules.html" title="第6章 カーネルモジュールの管理"><link rel="next" href="ch-update-hooks.html" title="第8章 メンテナスクリプトとフック"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">第7章 起動用RAMイメージ (initramfs) アーカイブの管理</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch-modules.html">戻る</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch-update-hooks.html">次へ</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="ch-initramfs"></a>第7章 起動用RAMイメージ (initramfs) アーカイブの管理</h1></div></div></div><div class="toc"><p><b>目次</b></p><dl class="toc"><dt><span class="section"><a href="ch-initramfs.html#s-initramfs-gen-tools">7.1. initramfs 生成ツール</a></span></dt><dt><span class="section"><a href="ch-initramfs.html#s-initramfs-regen">7.2. initramfs の再生成</a></span></dt><dt><span class="section"><a href="ch-initramfs.html#s-initramfs-exam">7.3. Initramfs の中身を検査する</a></span></dt></dl></div><p>
Debian の起動は、初期 RAM ファイルシステム (initramfs または 初期 RAM ディスク の意で、initrd
と呼ばれることもあります。)を含めて 2 段階のプロセスを踏みます。まず、ブートローダがカーネルと initramfs
をメモリに読み込み、実行制御をカーネルに渡します。基本的な初期化が終了すると、カーネルが initramfs
アーカイブを展開し、一時的なルートファイルシステムとしてマウントします。initramfs
にはカーネルモジュールと、物理デバイスまたは論理デバイスの初期化を必要とするユーザ空間プログラムが含まれています。本物のルートファイルシステムもここに含まれます。initramfs
の <span class="command"><strong>init</strong></span>
スクリプトがモジュールをロードし、その他の初期化処理を行います。このステージの最後に、<span class="command"><strong>run-init</strong></span> が
initramfs
をメモリから消去し、本物のルートファイルシステムをロードします。そして本物のルートファイルシステム上の<span class="command"><strong>/sbin/init</strong></span>
プログラムに制御を渡します。
</p><p>
この仕組みを採用することによって、 2
つの大きな目的を達成しています。まず、ドライバをモジュールとしてコンパイルすることでカーネルのサイズを抑えること。 (initramfs
がない場合、ルートデバイスを起動し初期化するために必要なドライバは、 あらかじめカーネルに組込まれていなければなりません。)
そして、カーネルで行うことができないユーザ空間のユーティリティで実行される初期化が必要な設定の実行を可能にすることです。
</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="s-initramfs-gen-tools"></a>7.1. initramfs 生成ツール</h2></div></div></div><p>
通常、initramfs
は特定のハードウェア/デバイス構成とカーネルのバージョン毎にカスタマイズする必要があるので、パッケージの一部としては提供されず、カーネルのインストール時にその場で生成されます。今のところ、
Debian で initramfs を生成できるツールは 2 つあります。<span class="package">initramfs-tools</span>
によって提供される <span class="command"><strong>update-initramfs</strong></span> (デフォルト) と
<span class="package">dracut</span> パッケージによって提供される
<span class="package">dracut-update-initramfs</span> (実験的) です。
</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="s-initramfs-regen"></a>7.2. initramfs の再生成</h2></div></div></div><p>
適切な <span class="package">linux-image</span> をインストールした後に、その変更をしたい場合は initramfs
を再生成しなければなりません。これは次のコマンドにより実現可能です:
</p><pre class="screen">
<code class="prompt">#</code> <strong class="userinput"><code>dpkg-reconfigure linux-image-3.2.0-2-686-pae</code></strong>
</pre><p>
<span class="package">linux-image-3.2.0-2-686-pae</span> は initramfs
の生成を必要としているカーネルパッケージの名前です。
</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="s-initramfs-exam"></a>7.3. Initramfs の中身を検査する</h2></div></div></div><p>
学習のためや、問題を分析するために initramfs の中身を調べることが時として訳に立ちます。initramfs は
<code class="literal">cpio</code> アーカイブとして圧縮されており、展開には
</p><pre class="screen">
<code class="prompt">$</code> <strong class="userinput"><code>zcat /boot/initrd.img-3.2.0-2-686-pae | cpio -i</code></strong>
</pre><p>
コマンドを使用します。このコマンドでカレントディレクトリに initramfs の中身が展開されます。
</p><p>
initramfs の中身の一覧を取得するために、<span class="command"><strong>cpio</strong></span> <code class="option">-t</code>オプションか、
</p><pre class="screen">
<code class="prompt">$</code> <strong class="userinput"><code>lsinitramfs /boot/initrd.img-3.2.0-2-686-pae</code></strong>
</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch-modules.html">戻る</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch-update-hooks.html">次へ</a></td></tr><tr><td width="40%" align="left" valign="top">第6章 カーネルモジュールの管理 </td><td width="20%" align="center"><a accesskey="h" href="index.html">ホーム</a></td><td width="40%" align="right" valign="top"> 第8章 メンテナスクリプトとフック</td></tr></table></div></body></html>
|