ブートパラメータとして「initrd=」を与えると、 ブートローダがイメージをメモリ上に読み込んでカーネルに渡す。 するとカーネルはそのイメージがファイルシステムなのか、 cpio アーカイブなのか調べる。 もしファイルの magic number が cpio であれば、 ramfs としてマウントする。 そして /init が実行可能ならば、 initramfs として扱い、 /init を起動する。 以上の条件が一つでも成立しない場合、 すなわち cpio アーカイブでない場合や、 /init が実行できない (/init が存在しない) 場合は、 initrd 扱いになるので注意が必要である。 すなわち RAM ディスクとしてマウントしようとするので、 カーネルに RAM ディスクドライバが組み込まれていなかったり、 「root=/dev/ram0」カーネルパラメータを指定していな
ファームウェア(BIOS or UEFI*1)が マザーボードのROMからメモリにロードされて実行開始し、ハードウェアをスキャン(POST - Power-On Self Test というハードウェアの自己診断を)する [BIOSの場合] プライマリHDDのMBR(先頭のセクタ(512バイト))を見る [UEFIの場合] プライマリHDDのGPTヘッダ(LBA1 or 最終セクタ)を見る MBR/GPTにインストールされているブートローダをメモリにロードして制御を移す GPTとMBRはどのように違うのか? - かーねる・う゛いえむにっき BIOS/UEFI/MBR/GPT MBRでは232≒2.2TBまでのディスクしか扱えない GPTでは264≒8.5ZBまでのディスクを扱うことができる BIOSはIntel CPUのリアルモード(16bitモード)でないと起動できないため、1MBまでのメ
Initrdとは、その名が示す通り、イニシャル(一番最初に、つまりブート時に)使われるRAMディスクです。イニシャルという言葉は、「ブート時」ということは表すので、まだわかりやすいのですが、RAMディスクとは一体なんなのでしょうか? RAMディスクとは、RAM(メモリ)上に作成したディスク(二次記憶装置。例えばハードディスクなど)のことなのです。もっと分かりやすく言うと、メモリ上に仮想的に作成したハードディスクのことです。 その仮想的なハードディスクは、ユーザからは本当のハードディスクにしか見えません。RAMディスクを使用すると、ハードディスクがつながっていなくても、ユーザからはハードディスクがあるように見えるのです。
Linux ベースのコンピューターシステムでは、正しくブートするために initramfs が必要になることがあります。このガイドでは initramfs を適切に作成、管理する方法や initramfs のコンセプトを説明します。 initramfs のコンセプト はじめに 一風変わったドライバーや構成を使っている、または暗号化ファイルシステムを使っているシステムでは、Linux カーネルが init バイナリに制御を渡すことができるようにするために、initramfs が必要です。 Linux のブートプロセス Linux カーネルが(ブートローダーによって読み込まれた後に)システムの制御を得ると、自身のメモリー構造とドライバーを準備します。それから、制御をあるアプリケーション(通常は init)に渡します。そのアプリケーションの役割は、さらにシステムの準備をすることと、ブートプロセス
Linux Kernel 2.6 Documentation: /usr/src/linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt filesystems/ramfs-rootfs-initramfs.txt ramfs, rootfs, initramfs の説明 [プレインテキスト版] 原著作者: Rob Landley <rob at landley dot net> 翻訳者: Akira YOSHIYAMA <yosshy at debian dot or dot jp> バージョン: 2.6.18 翻訳日時: 2007/01/28 ramfs, rootfs and initramfs October 17, 2005 2005年10月17日 Rob Landley <rob@landley.net> =====
普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基本的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く