2009年12月 1日

[plamo:30312] 00_baseのinstallに関連して

尾形です。

00_baseを利用したrdplamo(ramdisk利用のplamoということで)を作成
して見ました。主にメンテナンスやベンチマークテストの計算に
利用しています。

作成方法は[plamo:27317] Plamo-4.2のaのみをcd-rにしたplamoと同様
ですが、今回はgrubを使用しました。


208MBのinitrdで起動時のinitrd.gz読み込みと展開に35sから60s程度
かかり、今回grubによる起動では進行マークの...が出ないので
かなり長い時間のように感じられます。(...を出す方法があると
思うのですが)

今回もできるだけinstallイメージの修正を行わずにということで
/etc/udev/rules/70-persistent-net.rules
のeth0などのエントリーをコメントアウトすると、実行時eth0から
利用出きるので楽です。

ネットワークデバイスが変わるとeth1などのエントリーが追加され
ネットワークの設定を実行時に行う必要が出てきます。

このあたりSoftware Design 12月号の本多さんやこじまさんの解説などを
読むとPlamoな日々が過ごせると思います。しばらくSoftware Design
から離れていましたが加藤さんの紹介[plamo:30262]ありがとうござい
ました。

00_baseにinstall時追加パッケージ
acl + attr (passwd関連)

install後に01_minmumから追加installpkgは
rsync + popt (ftpよりファイルの転送はほとんどこれ)
diff (ファイルの比較はよく行います)
nfs_utils (nfs利用のため)
ftpはあまり使用しないのでlibreadline.so.4をシンボリックリンクに
ncftpのinstallpkgを忘れただけか。

# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/ram0 182M 170M 13M 94% /
none 1.5G 120K 1.5G 1% /dev
/media 1.5G 0 1.5G 0% /media
/tmp 1.5G 0 1.5G 0% /tmp

# du -hs /lib/modules/ /boot
46M /lib/modules/
5.8M /boot

実行時追加intallpkgを行う場合、簡単には/lib/modulesをremove
することで13M+46M=59Mのスペースが確保できます。また/bootも必要
ないのでremoveを行えば64.8Mのスペースを確保できます。
あるいは始めから/bootを削除しておくと13M+5.8M=18.8Mが使用可能と
なります。

通常のメンテナンスでの利用には13Mでも十分利用できます。
足りないようであれば/tmpへのシンボリックリンクなどの利用が考え
られます。

●rdplamo作成のメモ
(1)00_base+acl+attr のinstall
ここでは/dev/sda6( mountは/mnt6 )にinstallを行いました。

(2)initrdの作成
通常使用のパーティションで起動
(2-1)ramdiskの作成
# dd if=/dev/zero of=initrd208 bs=1024k count=208
# /usr/sbin/rdev -r initrd208 212992
# /sbin/mke2fs -i1024 -b1024 -m0 -N212992 initrd208

(2-2)install(/dev/sda6)imageのcopy
# mount -t ext2 -o loop initrd208 /mnt
# mount -t ext4 /dev/sda6 /mnt6
# cp -a /mnt6/* /mnt

(2-3)/mnt/etc/fstabの修正
HDDを使用したmount部分(swapも)を削除し/dev/ram0を/
にmountするようにします。
/dev/ram0 / ext2 defaults 1 1

(2-4)/mnt/etc/udev/rules/70-persistent-net.rulesの修正
eth0などのエントリーをコメントアウト

(3)boot/grubの設定
Plamo-4.71のboot/grubディレクトリをcopyしておきます。
(installer及びworkディレクトリは必要ありません)
# cd grub
vmlinuzはシンボリックリンクでは起動しないようなので
vmlinuzはそのままとします。(通常はシンボリックリンクが多い)

(3-1)initrd.gzの作成
先に作成したinitrd208が ../../ にあるとします。
# touch ../../initrd208
# gzip -c ../../initrd208 > initrd.gz

(3-2)boot/grub/grub.confの修正
title行のinstaller名称を rdplamo471 などに変更
kernel行に ramdisk_size=212992 を追加

(4)cd-rwの作成
# cd ..
grubを出て以下を mkrdplamo.sh として作成しておき
isoイメージ(79MB程度)を作成しcd-rwなどに焼きます。
(mkplamo-dvd.shなどを借用)
#!/bin/sh
target=$1
dt=`date +%y%m%d`
echo $dt
mkisofs -v -J -r -b boot/stage2_eltorito -c boot/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-V $target-"$dt" -o "$target"-"$dt".iso $target
exit

ここでは(3)のboot/grubをrdplamo471の下に入れましたので
# sh mkrdplmao.sh rdplamo471

では。

投稿者 xml-rpc : 2009年12月 1日 17:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/91048
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。