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