最終更新:2015-10-26 (月) 16:49:35 (1422d)  

initramfs はてなブックマークを見る
Top / initramfs

a new model for initial RAM disks

概要

initramfs内でやること

  • ブートパラメータの解釈
  • ハードウェア認識
  • カーネルモジュールのロード
  • デバイスノードの作成
  • ネットワークの起動
  • HDDのマウント
  • tmpfsのマウントと引き継ぎファイルの避難
  • switch_rootなどなど

Debian

  • Debian の起動は、初期 RAM ファイルシステム (initramfs または 初期 RAM ディスク の意で、initrd と呼ばれることもあります。)を含めて 2 段階のプロセスを踏みます。
    • まず、ブートローダがカーネルと initramfs をメモリに読み込み、実行制御をカーネルに渡します。
    • 基本的な初期化が終了すると、カーネルが initramfs アーカイブを展開し、一時的なルートファイルシステムとしてマウントします。initramfs にはカーネルモジュールと、物理デバイス、または論理デバイスの初期化を必要とするユーザ空間プログラムが含まれています。本物のルートファイルシステムもここに含まれます。
    • initramfsinitスクリプトがモジュールをロードし、その他の初期化処理を行います。
    • このステージの最後に、run-initinitramfsをメモリから消去し、本物のルートファイルシステムをロードします。
    • そして本物のルートファイルシステム上のLinux/sbin/initプログラムに制御を渡します。

展開

gunzip -c /boot/initrd.img-`uname -r` | cpio -ivd

コマンド

.config

  • CONFIG_INITRAMFS_SOURCE?
  • CONFIG_INITRAMFS_COMPRESSION_GZIP?

中身

スライド

initramfsについて from Kazuhiro Nishiyama

関連

参考