« VPN対応ブロードバンドルータ | メイン | マカフィーの検疫付き総合セキュリティソリューション »

initramfsの使い方?

ようやく使用方法が、分かったので記述しておく。
(そのうちwikiにまとめページを作るつもりです)

ROOTFSがinitramfsのルートディレクトリで、このROOTFSをCONFIG_INITRAMFS_SOURCEに指定しておく。

ROOTFSの内容は、下記の通り。

.:
total 88
drwxr-xr-x 2 root root 4096 Jan 15 13:33 bin
drwxr-xr-x 2 root root 4096 Jan 12 15:44 dev
drwxr-xr-x 2 root root 4096 Jan 15 11:39 etc
-rwxr-xr-x 1 root root 1155 Jan 15 13:34 init
drwxr-xr-x 3 root root 4096 Jan 11 17:57 lib
drwxr-xr-x 2 root root 4096 Jan 10 16:48 proc
drwxr-xr-x 2 root root 4096 Jan 12 10:33 root
drwxr-xr-x 2 root root 4096 Jan 15 13:33 sbin
drwxr-xr-x 2 root root 4096 Jan 10 16:48 sys
drwxr-xr-x 3 root root 4096 Jan 11 14:34 usr
drwxr-xr-x 3 root root 4096 Jan 10 16:48 var

./bin:
total 336
lrwxrwxrwx 1 root root 7 Jan 15 13:33 ash -> busybox
-rwxr-xr-x 1 root root 279964 Jan 15 13:33 busybox
lrwxrwxrwx 1 root root 7 Jan 15 13:33 dd -> busybox
lrwxrwxrwx 1 root root 7 Jan 15 13:33 echo -> busybox
lrwxrwxrwx 1 root root 7 Jan 15 13:33 mkdir -> busybox
lrwxrwxrwx 1 root root 7 Jan 15 13:33 mknod -> busybox
lrwxrwxrwx 1 root root 7 Jan 15 13:33 mount -> busybox
-rwxr-xr-x 1 root root 15006 Jan 12 14:14 run-init
lrwxrwxrwx 1 root root 7 Jan 15 13:33 sh -> busybox
lrwxrwxrwx 1 root root 7 Jan 15 13:33 tar -> busybox

./dev:
total 24
crw-r--r-- 1 root root 5, 1 Jan 10 16:48 console
brw-r--r-- 1 root root 31, 0 Jan 10 17:58 mtdblock0
crw-r--r-- 1 root root 1, 3 Jan 10 16:49 null
brw-rw---- 1 root root 1, 0 Jan 12 15:43 ram0
brw-rw---- 1 root root 1, 1 Jan 12 15:43 ram1
crw-rw-rw- 1 root root 1, 5 Jan 12 15:44 zero

./etc:
total 4
-rw-r--r-- 1 root root 0 Jan 12 16:46 mtab

./lib:
total 1564
-rwxr-xr-x 1 root root 102136 Nov 5 13:51 ld-2.3.6.so
lrwxrwxrwx 1 root root 11 Jan 11 12:51 ld.so.1 -> ld-2.3.6.so
-rwxr-xr-x 1 root root 1462840 Nov 5 13:51 libc-2.3.6.so
lrwxrwxrwx 1 root root 13 Jan 11 12:49 libc.so.6 -> libc-2.3.6.so
drwxr-xr-x 2 root root 4096 Jan 11 11:55 modules

./lib/modules:
total 0

./proc:
total 0

./root:
total 0

./sbin:
total 12
lrwxrwxrwx 1 root root 14 Jan 15 13:33 mke2fs -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Jan 15 13:33 mkfs.ext2 -> ../bin/busybox
lrwxrwxrwx 1 root root 14 Jan 15 13:33 mkfs.ext3 -> ../bin/busybox

./sys:
total 0

./usr:
total 8
drwxr-xr-x 2 root root 4096 Jan 15 13:33 bin

./usr/bin:
total 16
lrwxrwxrwx 1 root root 17 Jan 15 13:33 [ -> ../../bin/busybox
lrwxrwxrwx 1 root root 17 Jan 15 13:33 [[ -> ../../bin/busybox
lrwxrwxrwx 1 root root 17 Jan 12 10:18 mesg -> ../../bin/busybox
lrwxrwxrwx 1 root root 17 Jan 15 13:33 test -> ../../bin/busybox

./var:
total 8
drwxr-xr-x 2 root root 4096 Jan 10 16:48 lock

./var/lock:
total 0


で、肝としては、busyboxのshとmount関連を使うことと、klibcのrun-initを使用することかな~

/dev/ram1とかがあるのは、/etcをramdiskで使用するためで(組み込み屋さんなので、起動時にetcの内容を設定に応じて変える事があるため、MTD(Flash)ではブ~だから)、initrd起動中にramdiskを作ってそこにetc,var,tmpなどを作成しています。

現状の問題点は、2.4系の時に比べてinitrdのサイズがでかい事かな~だって、2.4系の場合は、initrdを開放しなければ簡単にetcのramdisk環境が作れたのに、2.6系はshellが必要なのでライブラリを入れる必要があり、サイズが肥大化する……uClibcを使用すれば小さくなるのかね~(現在はglibcを使用しているから)

klibc
ftp://ftp.kernel.org/pub/linux/libs/klibc/

busybox
http://www.busybox.net/

トラックバック

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

コメントを投稿

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

About

2007年01月18日 10:17に投稿されたエントリーのページです。

ひとつ前の投稿は「VPN対応ブロードバンドルータ」です。

次の投稿は「マカフィーの検疫付き総合セキュリティソリューション」です。

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

Powered by
Movable Type 3.35