Oct 30, 2002

        onlsbc1: コンパクトフラッシュ上のLinuxシステムの読み出し専用化
          			---  RAMディスク #1
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               (http://www-online.kek.jp/~inoue/para-CAMAC/
                                   Work/SBC-RAM1.html)



                        高エネルギー加速器研究機構
                            素粒子原子核研究所
                         物理、オンライングループ
                                井上 栄二

	目的

            並列CAMACで使用するSBC上のLinuxシステムを、コンパクトフラッシュ上に
          構築した。 コンパクトフラッシュ上に、現在構築してあるLinuxシステムは
            通常のシステムと同じで、システムはコンパクトフラッシュに対して読み
            書きを行っている。 ここで注意すべきことは、コンパクトフラッシュには
            構造上書き込み回数に限界があるという点である。 したがって、コンパク
            トフラッシュ上のシステムは、読み出し専用として構築するのが望ましい。
	    読み出し専用化システムの構築作業をするために、256MBのコンパクトフ
	    ラッシュ上Linuxシステムを構築した。 このコンパクトフラッシュを使っ
	    て読み出し専用化システムを構築する。


	(1). 方針
	(2). /ディレクトリ構成の変更
	(3). initrd の調査
	(4). initrd の変更
	(5). ブートテスト

  --------------------------------------------------------------------


 (1). 方針

	コンパクトフラッシュは書き込み回数に限界があるので読み出し専用として使用
	するのが望ましい。 ここでは、コンパクトフラッシュを読み出し専用化する
	ために、/var、/tmp、/etcなどのRAMディスク化について検討する。 テストでは
	256MBのコンパクトフラッシュを使う。


   (1-1).  コンパクトフラッシュ上のファイル構成

	現在の /ディレクトリ構成は次のとおり。

[root@onlsbc1 boot]# ls -l /
合計 116
drwxr-xr-x    2 root     root         2048 10月 24 22:53 bin
drwxr-xr-x    3 root     root         1024 10月 24 22:56 boot
drwxr-xr-x   18 root     root        82944 10月 24 14:08 dev
drwxr-xr-x   31 root     root         3072 10月 25 08:46 etc
drwxr-xr-x    4 root     root         1024 10月 24 23:02 home
drwxr-xr-x    2 root     root         1024  6月 22  2001 initrd
drwxr-xr-x    6 root     root         3072 10月 24 22:58 lib
drwx------    2 root     root        12288 10月 24 22:28 lost+found
drwxr-xr-x    3 root     root         1024 10月 24 14:07 mnt
drwxr-xr-x    9 root     root         1024 10月 24 22:56 mnt1
drwxr-xr-x    2 root     root         1024 10月 24 16:21 mnt2
drwxr-xr-x    2 root     root         1024  8月 24  1999 opt
dr-xr-xr-x   45 root     root            0 10月 24 23:05 proc
drwxr-x---    2 root     root         1024 10月 24 14:26 root
drwxr-xr-x    2 root     root         3072 10月 24 22:57 sbin
drwxrwxrwt    3 root     root         1024 10月 28 04:02 tmp
drwxr-xr-x   15 root     root         1024 10月 24 22:50 usr
drwxr-xr-x   16 root     root         1024 10月 24 22:58 var
[root@onlsbc1 boot]#

	このディレクトリ構成を、次の方針で変更する。
	  (1).  /ramfsディレクトリを作成する。
	  (2).  RAMディスクにコピーする /var、/tmp、/etc のディレクトリを上記の
		項目(1)で作成した /ramfsディレクトリの下に置いておく。
	  (3).  /mntの下にRAMディレクトリのマウントポイント、ramfsディレクトリ
		を用意する。
	  (6).  /var、/tmp、/etc から、それぞれ /ramfs/var、/ramfs/tmp、/ramfs/
		etc にシンボリック・リンクを張る。

	以上のディレクトリ変更の後、/linuxrcファイルを、次の方針で修正する。
	  (1).  RAMディスクは /mnt/famfsにマウントする。
	  (2).  /mnt/famfs下には、/ramfs/var、/ramfs/tmp、/ramfs/etcディレクトリ
		下のファイルをコピーする。
	その結果、ディレクトリ構成は以下のようになる。
	
	 
 (2). /ディレクトリ構成の変更

	256MBのコンパクトフラッシュ上の /ディレクトリ構成を変更する。

   (2-1).  システムの立ち上げ

	256MBのコンパクトフラッシュをSBCに装着する。 2.5"のIDEハードディスクを
	SBCの接続する。 SBCの電源を入れる。 BIOS のチェックをする。
  		Drive A			1.44M, 3.5in
		First Boot Device	Floppy
		Second Boot Device	HDD-0

[root@onlsbc1 /]# pwd
/
[root@onlsbc1 /]# ls
bin   dev  home    lib         misc  mnt1  mnt3  proc  sbin  usr
boot  etc  initrd  lost+found  mnt   mnt2  opt   root  tmp   var
[root@onlsbc1 /]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2212604   4774276  32% /
/dev/hda5             10475668    158604   9784916   2% /home
none                    152332         0    152332   0% /dev/shm
[root@onlsbc1 /]#

	コンパクトフラッシュのルートファイルシステムを /mnt1 にマウントする。
	
[root@onlsbc1 /]# ls -l /mnt1
合計 0
[root@onlsbc1 /]# mount -t ext3 /dev/hdc1 /mnt1
[root@onlsbc1 /]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2212604   4774276  32% /
/dev/hda5             10475668    158604   9784916   2% /home
none                    152332         0    152332   0% /dev/shm
/dev/hdc1               241949    222486      6971  97% /mnt1
[root@onlsbc1 /]# ls -l /mnt1
合計 117
drwxr-xr-x    2 root     root         2048 10月 24 22:53 bin
drwxr-xr-x    3 root     root         1024 10月 24 22:56 boot
drwxr-xr-x   18 root     root        82944 10月 28 14:40 dev
drwxr-xr-x   31 root     root         3072 10月 28 14:40 etc
drwxr-xr-x    4 root     root         1024 10月 24 23:02 home
drwxr-xr-x    2 root     root         1024  6月 22  2001 initrd
drwxr-xr-x    6 root     root         3072 10月 24 22:58 lib
drwx------    2 root     root        12288 10月 24 22:28 lost+found
drwxr-xr-x    3 root     root         1024 10月 24 14:07 mnt
drwxr-xr-x    2 root     root         1024 10月 24 15:15 mnt1
drwxr-xr-x    2 root     root         1024 10月 24 16:21 mnt2
drwxr-xr-x    2 root     root         1024  8月 24  1999 opt
drwxr-xr-x    2 root     root         1024 10月 24 22:28 proc
drwxr-x---    2 root     root         1024 10月 24 14:26 root
drwxr-xr-x    2 root     root         3072 10月 24 22:57 sbin
drwxrwxrwt    3 root     root         1024 10月 28 04:02 tmp
drwxr-xr-x   15 root     root         1024 10月 24 22:50 usr
drwxr-xr-x   16 root     root         1024 10月 24 22:58 var
[root@onlsbc1 /]#

	これで、256MBのコンパクトフラッシュは /mnt1ディレクトリにマウント
	された。 以降、/mnt1ディレクトリ下のルートファイルシステムを修正する。


   (2-2).  /ramfsディレクトリの作成

[root@onlsbc1 mnt1]# pwd
/mnt1
[root@onlsbc1 mnt1]# ls
bin   dev  home    lib         mnt   mnt2  proc  sbin  usr
boot  etc  initrd  lost+found  mnt1  opt   root  tmp   var
[root@onlsbc1 mnt1]# mkdir ramfs
[root@onlsbc1 mnt1]# mv etc ramfs
[root@onlsbc1 mnt1]# mv tmp ramfs
[root@onlsbc1 mnt1]# mv var ramfs

	/etc、/tmp、/var から ramfs の下にそれぞれシンボリックリンクを張る。

[root@onlsbc1 mnt1]# ln -s ramfs/etc etc
[root@onlsbc1 mnt1]# ln -s ramfs/tmp tmp
[root@onlsbc1 mnt1]# ln -s ramfs/var var
[root@onlsbc1 mnt1]#

[root@onlsbc1 mnt1]# ls -l
合計 113
drwxr-xr-x    2 root     root         2048 10月 24 22:53 bin
drwxr-xr-x    3 root     root         1024 10月 24 22:56 boot
drwxr-xr-x   18 root     root        82944 10月 28 14:40 dev
lrwxrwxrwx    1 root     root            9 10月 28 15:22 etc -> ramfs/etc
drwxr-xr-x    4 root     root         1024 10月 24 23:02 home
drwxr-xr-x    2 root     root         1024  6月 22  2001 initrd
drwxr-xr-x    6 root     root         3072 10月 24 22:58 lib
drwx------    2 root     root        12288 10月 24 22:28 lost+found
drwxr-xr-x    3 root     root         1024 10月 24 14:07 mnt
drwxr-xr-x    2 root     root         1024 10月 24 15:15 mnt1
drwxr-xr-x    2 root     root         1024 10月 24 16:21 mnt2
drwxr-xr-x    2 root     root         1024  8月 24  1999 opt
drwxr-xr-x    2 root     root         1024 10月 24 22:28 proc
drwxr-xr-x    5 root     root         1024 10月 28 15:21 ramfs
drwxr-x---    2 root     root         1024 10月 24 14:26 root
drwxr-xr-x    2 root     root         3072 10月 24 22:57 sbin
lrwxrwxrwx    1 root     root            9 10月 28 15:22 tmp -> ramfs/tmp
drwxr-xr-x   15 root     root         1024 10月 24 22:50 usr
lrwxrwxrwx    1 root     root            9 10月 28 15:22 var -> ramfs/var
[root@onlsbc1 mnt1]# ls -l ramfs
合計 5
drwxr-xr-x   31 root     root         3072 10月 28 14:40 etc
drwxrwxrwt    3 root     root         1024 10月 28 04:02 tmp
drwxr-xr-x   16 root     root         1024 10月 24 22:58 var
[root@onlsbc1 mnt1]#

	/mnt1/ramfs/etc の下のシンボリックリンクのチェック。

[root@onlsbc1 etc]# pwd
/mnt1/etc
[root@onlsbc1 etc]# ls -l grub.conf
lrwxrwxrwx    1 root     root           22 10月 24 23:02 grub.conf -> ../boot/gr
ub/grub.conf
[root@onlsbc1 etc]# ls ..
etc  tmp  var
[root@onlsbc1 etc]#

	/etc/grub.conf のシンボリックリンクが切れてしまった。 下のディレクトリ
	もチェックしたが、シンボリックリンクが切れたのは grub.confだけであった。
	張りなおす。

[root@onlsbc1 etc]# pwd
/mnt1/etc
[root@onlsbc1 etc]# mv grub.conf grub.conf-org
[root@onlsbc1 etc]# ln -s ../../boot/grub/grub.conf grub.conf
[root@onlsbc1 etc]# ls -lL grub.conf
-rw-------    1 root     root          570 10月 24 23:02 grub.conf
[root@onlsbc1 etc]#
	
	/mnt1/ramfs/tmp の下のシンボリックリンクのチェック。

[root@onlsbc1 tmp]# pwd
/mnt1/tmp
[root@onlsbc1 tmp]# ls -l
合計 3013
-rw-r--r--    1 root     root      3072000 10月 24 15:18 initrd.tmp
[root@onlsbc1 tmp]#

	/mnt1/ramfs/var の下のシンボリックリンクのチェック。

[root@onlsbc1 var]# pwd
/mnt1/var
[root@onlsbc1 var]# ls -lR

	シンボリックリンクが切れたものは無かった。


   (2-3).  /mnt/ramfsディレクトリの作成

	RAMディスクのマウント用のディレクトリを作成する。

[root@onlsbc1 mnt1]# pwd
/mnt1
[root@onlsbc1 mnt1]# ls
bin   dev  home    lib         mnt   mnt2  proc   root  tmp  var
boot  etc  initrd  lost+found  mnt1  opt   ramfs  sbin  usr
[root@onlsbc1 mnt1]# ls -l /mnt
合計 4
drwxr-xr-x    2 root     root         4096 10月  4 10:43 floppy
[root@onlsbc1 mnt1]# mkdir /mnt/ramfs
[root@onlsbc1 mnt1]# ls -l /mnt
合計 8
drwxr-xr-x    2 root     root         4096 10月  4 10:43 floppy
drwxr-xr-x    2 root     root         4096 10月 28 15:52 ramfs
[root@onlsbc1 mnt1]#

	コンパクトフラッシュ上のファイル構成の変更は以上で終了。


 (3). initrd の調査

[root@onlsbc1 boot]# pwd
/boot
[root@onlsbc1 boot]# ls -l
合計 4535
lrwxrwxrwx    1 root     root           19 10月 24  2002 System.map -> System.ma
p-2.4.18-3
-rw-r--r--    1 root     root       474261  4月 18  2002 System.map-2.4.18-3
-rw-r--r--    1 root     root         5824  6月 25  2001 boot.b
-rw-r--r--    1 root     root          612  6月 25  2001 chain.b
-rw-r--r--    1 root     root        39999  4月 18  2002 config-2.4.18-3
drwxr-xr-x    2 root     root         1024 10月 24  2002 grub
-rw-r--r--    1 root     root       121784 10月 24  2002 initrd-2.4.18-3.img
-rw-r--r--    1 root     root          473 10月 24 14:07 kernel.h
-rw-r--r--    1 root     root        23108  6月 25  2001 message
-rw-r--r--    1 root     root        21282  6月 25  2001 message.ja
lrwxrwxrwx    1 root     root           20 10月 24  2002 module-info -> module-i
nfo-2.4.18-3
-rw-r--r--    1 root     root        14431  4月 18  2002 module-info-2.4.18-3
-rw-r--r--    1 root     root          640  6月 25  2001 os2_d.b
-rwxr-xr-x    1 root     root      2868043  4月 18  2002 vmlinux-2.4.18-3
lrwxrwxrwx    1 root     root           16 10月 24  2002 vmlinuz -> vmlinuz-2.4.
18-3
-rw-r--r--    1 root     root      1041347  4月 18  2002 vmlinuz-2.4.18-3
[root@onlsbc1 boot]#

	/boot/initrd-2.4.18-3.img をチェックする。

[root@onlsbc1 boot]# zcat /boot/initrd-2.4.18-3.img > /tmp/initrd.tmp
[root@onlsbc1 boot]# /sbin/losetup /dev/loop0 /tmp/initrd.tmp
[root@onlsbc1 boot]# mount /dev/loop0 /mnt1
[root@onlsbc1 boot]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hdc1               241949    222466      6991  97% /
none                    152332         0    152332   0% /dev/shm
/dev/loop0                2948       267      2531  10% /mnt1
[root@onlsbc1 boot]# ls -lR /mnt1
/mnt1:
合計 8
drwxr-xr-x    2 root     root         1024 10月 24  2002 bin
drwxr-xr-x    2 root     root         1024 10月 24  2002 dev
drwxr-xr-x    2 root     root         1024 10月 24  2002 etc
drwxr-xr-x    2 root     root         1024 10月 24  2002 lib
-rwxr-xr-x    1 root     root          370 10月 24  2002 linuxrc
drwxr-xr-x    2 root     root         1024 10月 24  2002 loopfs
drwxr-xr-x    2 root     root         1024 10月 24  2002 proc
lrwxrwxrwx    1 root     root            3 10月 24  2002 sbin -> bin
drwxr-xr-x    2 root     root         1024 10月 24  2002 sysroot

/mnt1/bin:
合計 112
-rwxr-xr-x    1 root     root        89102 10月 24  2002 insmod
lrwxrwxrwx    1 root     root            9 10月 24  2002 modprobe -> /bin/nash
-rwxr-xr-x    1 root     root        22196 10月 24  2002 nash

/mnt1/dev:
合計 0
crw-r--r--    1 root     root       5,   1 10月 24  2002 console
crw-r--r--    1 root     root       1,   3 10月 24  2002 null
brw-r--r--    1 root     root       1,   1 10月 24  2002 ram
crw-r--r--    1 root     root       4,   0 10月 24  2002 systty
crw-r--r--    1 root     root       4,   1 10月 24  2002 tty1
crw-r--r--    1 root     root       4,   2 10月 24  2002 tty2
crw-r--r--    1 root     root       4,   3 10月 24  2002 tty3
crw-r--r--    1 root     root       4,   4 10月 24  2002 tty4

/mnt1/etc:
合計 0

/mnt1/lib:
合計 146
-rw-r--r--    1 root     root        83208  4月 18  2002 ext3.o
-rw-r--r--    1 root     root        63437  4月 18  2002 jbd.o

/mnt1/loopfs:
合計 0

/mnt1/proc:
合計 0

/mnt1/sysroot:
合計 0
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# cat /mnt1/linuxrc
#!/bin/nash

echo "Loading jbd module"
insmod /lib/jbd.o
echo "Loading ext3 module"
insmod /lib/ext3.o
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating root device
mkrootdev /dev/root
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem
mount --ro -t ext3 /dev/root /sysroot
umount /proc
pivot_root /sysroot /sysroot/initrd
[root@onlsbc1 boot]#


 (4). initrd の変更

	/boot/initrd-2.4.18-3.img ファイルを修正して、/var、/tmp、/etc ディレク
	トリをRAMディスク上に構成する。


   (4-1).  linuxrcファイルの修正

	linuxrcファイルの後ろの部分に、RAMディスクを作成する処理を追加する。 

[root@onlsbc1 boot]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2213372   4773508  32% /
/dev/hda5             10475668    158608   9784912   2% /home
none                    152332         0    152332   0% /dev/shm
/dev/hdc1               241949    222487      6970  97% /mnt1
[root@onlsbc1 boot]# pwd
/mnt1/boot
[root@onlsbc1 boot]# ls -l
合計 4535
lrwxrwxrwx    1 root     root           19 10月 24 22:55 System.map -> System.ma
p-2.4.18-3
-rw-r--r--    1 root     root       474261  4月 18  2002 System.map-2.4.18-3
-rw-r--r--    1 root     root         5824  6月 25  2001 boot.b
-rw-r--r--    1 root     root          612  6月 25  2001 chain.b
-rw-r--r--    1 root     root        39999  4月 18  2002 config-2.4.18-3
drwxr-xr-x    2 root     root         1024 10月 24 23:02 grub
-rw-r--r--    1 root     root       121784 10月 24 22:56 initrd-2.4.18-3.img
-rw-r--r--    1 root     root          473 10月 24 14:07 kernel.h
-rw-r--r--    1 root     root        23108  6月 25  2001 message
-rw-r--r--    1 root     root        21282  6月 25  2001 message.ja
lrwxrwxrwx    1 root     root           20 10月 24 22:55 module-info -> module-i
nfo-2.4.18-3
-rw-r--r--    1 root     root        14431  4月 18  2002 module-info-2.4.18-3
-rw-r--r--    1 root     root          640  6月 25  2001 os2_d.b
-rwxr-xr-x    1 root     root      2868043  4月 18  2002 vmlinux-2.4.18-3
lrwxrwxrwx    1 root     root           16 10月 24 22:55 vmlinuz -> vmlinuz-2.4.
18-3
-rw-r--r--    1 root     root      1041347  4月 18  2002 vmlinuz-2.4.18-3
[root@onlsbc1 boot]#

	initrdファイルをマウントする。

[root@onlsbc1 boot]# zcat initrd-2.4.18-3.img > /tmp/initrd.tmp
[root@onlsbc1 boot]# /sbin/losetup /dev/loop0 /tmp/initrd.tmp
[root@onlsbc1 boot]# mount /dev/loop0 /mnt2
[root@onlsbc1 boot]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2216376   4770504  32% /
/dev/hda5             10475668    158732   9784788   2% /home
none                    152332         0    152332   0% /dev/shm
/dev/hdc1               241949    222487      6970  97% /mnt1
/dev/loop0                2948       267      2531  10% /mnt2
[root@onlsbc1 boot]#

	linuxrcファイルを修正する。

[root@onlsbc1 boot]# cd /mnt2
[root@onlsbc1 mnt2]# ls -l
合計 8
drwxr-xr-x    2 root     root         1024 10月 24 22:56 bin
drwxr-xr-x    2 root     root         1024 10月 24 22:56 dev
drwxr-xr-x    2 root     root         1024 10月 24 22:56 etc
drwxr-xr-x    2 root     root         1024 10月 24 22:56 lib
-rwxr-xr-x    1 root     root          370 10月 24 22:56 linuxrc
drwxr-xr-x    2 root     root         1024 10月 24 22:56 loopfs
drwxr-xr-x    2 root     root         1024 10月 24 22:56 proc
lrwxrwxrwx    1 root     root            3 10月 24 22:56 sbin -> bin
drwxr-xr-x    2 root     root         1024 10月 24 22:56 sysroot
[root@onlsbc1 mnt2]# vi linuxrc
#!/bin/nash

echo "Loading jbd module"
insmod /lib/jbd.o
echo "Loading ext3 module"
insmod /lib/ext3.o
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating root device
mkrootdev /dev/root
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem
mount --ro -t ext3 /dev/root /sysroot
umount /proc
pivot_root /sysroot /sysroot/initrd

/bin/mount -n -t ramfs ramfs /mnt/ramfs
/bin/cp -dar /ramfs/* /mnt/ramfs
/bin/depmod -q
~
"linuxrc" 19L, 459C written
[root@onlsbc1 mnt2]#

	initrdファイルをセーブする。

[root@onlsbc1 mnt2]# cd /mnt1/boot
[root@onlsbc1 boot]# umount /mnt2
[root@onlsbc1 boot]# /sbin/losetup /dev/loop0
/dev/loop0: [0302]:211757 (/tmp/initrd.tmp) オフセット 0, no encryption
[root@onlsbc1 boot]# mv initrd-2.4.18-3.img initrd-2.4.18-3.img-org
[root@onlsbc1 boot]# gzip -c /tmp/initrd.tmp > initrd-2.4.18-3.img
[root@onlsbc1 boot]# ls -l
合計 4656
lrwxrwxrwx    1 root     root           19 10月 24 22:55 System.map -> System.ma
p-2.4.18-3
-rw-r--r--    1 root     root       474261  4月 18  2002 System.map-2.4.18-3
-rw-r--r--    1 root     root         5824  6月 25  2001 boot.b
-rw-r--r--    1 root     root          612  6月 25  2001 chain.b
-rw-r--r--    1 root     root        39999  4月 18  2002 config-2.4.18-3
drwxr-xr-x    2 root     root         1024 10月 24 23:02 grub
-rw-r--r--    1 root     root       122557 10月 29 09:50 initrd-2.4.18-3.img
-rw-r--r--    1 root     root       121784 10月 24 22:56 initrd-2.4.18-3.img-org
-rw-r--r--    1 root     root          473 10月 24 14:07 kernel.h
-rw-r--r--    1 root     root        23108  6月 25  2001 message
-rw-r--r--    1 root     root        21282  6月 25  2001 message.ja
lrwxrwxrwx    1 root     root           20 10月 24 22:55 module-info -> module-i
nfo-2.4.18-3
-rw-r--r--    1 root     root        14431  4月 18  2002 module-info-2.4.18-3
-rw-r--r--    1 root     root          640  6月 25  2001 os2_d.b
-rwxr-xr-x    1 root     root      2868043  4月 18  2002 vmlinux-2.4.18-3
lrwxrwxrwx    1 root     root           16 10月 24 22:55 vmlinuz -> vmlinuz-2.4.
18-3
-rw-r--r--    1 root     root      1041347  4月 18  2002 vmlinuz-2.4.18-3
[root@onlsbc1 boot]#


 (5). ブートテスト

	ブート時のGRUBメニューの項目の内、256MBのコンパクトフラッシュの項目を
	選択してシステムを立ち上げてみる。

	コンパクトフラッシュのブートシステムの initrd 展開され、linuxrcが実行
	されるところでエラーが起きている。 "/mnt/ramfs マウントポイントが無い"
	と表示されている。


   (5-1).  ブートテスト#1、linuxrcファイルの修正

	initrdファイルをマウントする。

[root@onlsbc1 boot]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2216112   4770768  32% /
/dev/hda5             10475668    158700   9784820   2% /home
none                    152332         0    152332   0% /dev/shm
/dev/hdc1               241949    222794      6663  98% /mnt1
[root@onlsbc1 boot]# pwd
/mnt1/boot
[root@onlsbc1 boot]# zcat initrd-2.4.18-3.img > /tmp/initrd.tmp
[root@onlsbc1 boot]# /sbin/losetup /dev/loop0 /tmp/initrd.tmp
[root@onlsbc1 boot]# mount /dev/loop0 /mnt2
[root@onlsbc1 boot]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2216112   4770768  32% /
/dev/hda5             10475668    158700   9784820   2% /home
none                    152332         0    152332   0% /dev/shm
/dev/hdc1               241949    222794      6663  98% /mnt1
/dev/loop0                2948       267      2531  10% /mnt2
[root@onlsbc1 boot]#

	linuxrcファイルを修正する。

[root@onlsbc1 boot]# cd /mnt2
[root@onlsbc1 mnt2]# ls -l
合計 8
drwxr-xr-x    2 root     root         1024 10月 24 22:56 bin
drwxr-xr-x    2 root     root         1024 10月 24 22:56 dev
drwxr-xr-x    2 root     root         1024 10月 24 22:56 etc
drwxr-xr-x    2 root     root         1024 10月 24 22:56 lib
-rwxr-xr-x    1 root     root          459 10月 29 09:44 linuxrc
drwxr-xr-x    2 root     root         1024 10月 24 22:56 loopfs
drwxr-xr-x    2 root     root         1024 10月 24 22:56 proc
lrwxrwxrwx    1 root     root            3 10月 24 22:56 sbin -> bin
drwxr-xr-x    2 root     root         1024 10月 24 22:56 sysroot
[root@onlsbc1 mnt2]#
[root@onlsbc1 mnt2]# vi linuxrc
			:
#/bin/mount -n -t ramfs ramfs /mnt/ramfs
mount -t ramfs ramfs /mnt/ramfs
			:
[root@onlsbc1 mnt2]#

	/mnt/ramfsディレクトリを作成する。

[root@onlsbc1 mnt2]# mkdir -p mnt/ramfs
[root@onlsbc1 mnt2]# ls -l
合計 9
drwxr-xr-x    2 root     root         1024 10月 24 22:56 bin
drwxr-xr-x    2 root     root         1024 10月 24 22:56 dev
drwxr-xr-x    2 root     root         1024 10月 24 22:56 etc
drwxr-xr-x    2 root     root         1024 10月 24 22:56 lib
-rwxr-xr-x    1 root     root          492 10月 29 14:47 linuxrc
drwxr-xr-x    2 root     root         1024 10月 24 22:56 loopfs
drwxr-xr-x    3 root     root         1024 10月 29 14:50 mnt
drwxr-xr-x    2 root     root         1024 10月 24 22:56 proc
lrwxrwxrwx    1 root     root            3 10月 24 22:56 sbin -> bin
drwxr-xr-x    2 root     root         1024 10月 24 22:56 sysroot
[root@onlsbc1 mnt2]# ls -lR mnt
mnt:
合計 1
drwxr-xr-x    2 root     root         1024 10月 29 14:50 ramfs

mnt/ramfs:
合計 0
[root@onlsbc1 mnt2]#

	initrdファイルをセーブする。

[root@onlsbc1 mnt2]# cd /mnt1/boot
[root@onlsbc1 boot]# umount /mnt2
[root@onlsbc1 boot]# /sbin/losetup /dev/loop0
/dev/loop0: [0302]:211757 (/tmp/initrd.tmp) オフセット 0, no encryption
[root@onlsbc1 boot]# gzip -c /tmp/initrd.tmp > initrd-2.4.18-3.img
[root@onlsbc1 boot]# ls -l
合計 4657
lrwxrwxrwx    1 root     root           19 10月 24 22:55 System.map -> System.ma
p-2.4.18-3
-rw-r--r--    1 root     root       474261  4月 18  2002 System.map-2.4.18-3
-rw-r--r--    1 root     root         5824  6月 25  2001 boot.b
-rw-r--r--    1 root     root          612  6月 25  2001 chain.b
-rw-r--r--    1 root     root        39999  4月 18  2002 config-2.4.18-3
drwxr-xr-x    2 root     root         1024 10月 24 23:02 grub
-rw-r--r--    1 root     root       123414 10月 29 14:52 initrd-2.4.18-3.img
-rw-r--r--    1 root     root       121784 10月 24 22:56 initrd-2.4.18-3.img-org
-rw-r--r--    1 root     root          473 10月 24 14:07 kernel.h
-rw-r--r--    1 root     root        23108  6月 25  2001 message
-rw-r--r--    1 root     root        21282  6月 25  2001 message.ja
lrwxrwxrwx    1 root     root           20 10月 24 22:55 module-info -> module-i
nfo-2.4.18-3
-rw-r--r--    1 root     root        14431  4月 18  2002 module-info-2.4.18-3
-rw-r--r--    1 root     root          640  6月 25  2001 os2_d.b
-rwxr-xr-x    1 root     root      2868043  4月 18  2002 vmlinux-2.4.18-3
lrwxrwxrwx    1 root     root           16 10月 24 22:55 vmlinuz -> vmlinuz-2.4.
18-3
-rw-r--r--    1 root     root      1041347  4月 18  2002 vmlinuz-2.4.18-3
[root@onlsbc1 boot]#


   (5-2).  ブートテスト#1、コンパクトフラッシュのシステムを立ち上げる

[root@onlsbc1 boot]# reboot

Broadcast message from root (pts/0) (Tue Oct 29 14:54:46 2002):

The system is going down for reboot NOW!
[root@onlsbc1 boot]#

	エラー。 "error 2 mounting ramfs" とメッセージが表示されている。

---xxxx