RAMDISKイメージの作成


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

RAMDISKイメージの作成方法@CentOS5

RAMDISKイメージの作成方法とついでにRAMDISKイメージに格納したコンパクト化したLinuxを起動する方法を以下に示す。
Linuxのコンパクト化については省略する。

# dd if=/dev/zero of=ramimage.img bs=1M count=250
250MBのサイズでRAMDISKイメージの入れ物を作る

# losetup /dev/loop0 ramimage.img
イメージファイルをloopデバイスにマウントする
(イメージファイルをマウントする為のデバイスって認識でいいのかな?)

# mke2fs -m 0 /dev/loop0
# tune2fs -c 0 -i 0 /dev/loop0
マウントしたイメージにファイルシステムを作成する
スーパーユーザの予約エリアを0に(mke2fs -m 0)し、チェックディスクを行わない様に(tune2fs -c 0 -i 0)する。

# mount -o loop /dev/loop0 /media/ram
ループバックで/media/ramにマウントする
これで初めてイメージファイルに読み書きが出来るようになる

# cp -ar /miniLinux/master/* /media/ram/
必要なファイルをコピーする

# umount /media/ram
losetup -d /dev/loop0
デバイスのアンマウント

# gzip ramimage.img
RAMDISKイメージを圧縮(容量喰うので)

# vi /boot/grub/grub.conf
grub.confを修正する

title miniLinux on CentOS5
  root (hd0,2)
  kernel /vmlinuz-2.6.18-8.el5 ro noswap
  initrd (hd0,5)/pocketclient/ramimage/ramimage.img.gz

立ち上げるとエラーが

grow_buffers: requested out-of-range block 18446744071562067968 for device ram0
isofs_fill_super: bread failed, dev=ram0, iso_blknum=17, block=-2147483648
No filesystem could mount root, tried: ext2 iso9660
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
どうやらRAMDISKのブロックサイズが解らなくなっていてpanicになったらしい
色々調べたところ、"ramdisk_blocksize=1024"をブートオプションに追加すると動いた
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。