« PS3でLinux! | メイン | initramfsの使い方? »

initramfsの使い方?

組み込み向けにinitrdを使いたかったのだが、どうもinitramfsに移行しているみたいで、試行錯誤中!(initramfsを使ってのinitrd?)

とりあえず、Debianのx86用initramfsファイルを確認。

確認方法
① "/boot"からinitrdファイルを作業ディレクトリにコピー
  cd ~/work/
  cp /boot/initrd.img-2.6.18-3-686 ./
② 名前を修正(gzipが認識しないため)
  mv initrd.img-2.6.18-3-686 initrd.img-2.6.18-3-686.gz
③ ファイルの解凍
  gzip -d initrd.img-2.6.18-3-686.gz
④ cpioでファイルを展開
  cat initrd.img-2.6.18-3-686 | cpio -id

で、中身を見ると、どうやら"init"が肝みたいですね~ファイル内容はスクリプトで、内部でrootファイルを変更しています。ちなみに、本ファイルでDebianが使用しているシェルはBusyboxのashのようです。あと、CentOS(RedHat ELもどき)はnashというものを使用しているみたいです。

内容的には

① initrd内のinitスクリプトが実行される。
② 各種起動に必要なドライバがロードされる。
③ ルートパーティションがマウントされ、ルートが変更される(ついでにinitも再実行される)。

今日の解析はここまで!(^^ゞ

トラックバック

このエントリーのトラックバックURL:
http://www.youchikurin.com/mt/mt-tb.cgi/59

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年01月04日 20:36に投稿されたエントリーのページです。

ひとつ前の投稿は「PS3でLinux!」です。

次の投稿は「initramfsの使い方?」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35