[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:20682] bootdskのboot kernelのバージョンアップ



尾形です。

インストールを行うのにboot kernelのバージョンアップが必要と
なる場合のbootdskの修正とrootdskの修正のしかたのメモ。
もっと簡単な方法があると思いますが、ここでは既存のbootdskと
rootdskを修正する方法で、忘れないうちにメモしておきたいと
思います。(isolinuxでcd-rを作成する場合にはファイルサイズの
制限が緩和されますのでそちらの方が簡単と思いますが、bootdsk
の作成のしかたとgrubのinstallを忘れていましたのでメモしました)

(1)bootdskの作成
(1-1)boot kernelのバージョンアップ
Plamo-current/isolinux/configを参考にkernelのバージョンアップを
行います。このとき必要なmoduleをすべて組み込む<y>形式にすると
rootdskの修正が必要なくなると思われます。(まだ行っていません)
<m>にするとrootdskの/lib/modules のバージョンと整合がとれない
場合には、起動時にloginまで行き着かないようです。
必要なkernelバージョンを/usr/src/linuxにしてあるとします。
# cd /usr/src/linux
# make mrproper
# make menuconfig
(ここでPlamo-current/isolinux/configをloadし必要なmodulesを選択)
# make dep ; make clean ; make ; make bzImage

(1-2)bootdskの修正
bootdskはext2ファイルシステムを利用しているようですので
mount -t ext2 /dev/fd0 /mnt1
によりbootdskの修正が可能となります。
行うことは(1-1)でバージョンアップしたvmlinuzを入れ替えるだけです。
cp -p /usr/src/linux/arch/i386/boot/bzImage /mnt1/vmlinuz

(1-3)bootdskへのgrubのinstall
/mnt1/menu.lstを見て必要であればtitleなどを修正しgurbをinstall
します。(こじまさんの方法により)
# umount /mnt1
# grub
# gurb> install (fd0)/stage1 d (fd0) (fd0)/stage2 0x8000 p (fd0)/menu.lst
# grub> quit

以上で終了です。このbootdskとオリジナルrootdskまたはerootdskで
起動が可能と思います。

必要なmoduleを<m>とした場合には以下のrootdskの修正が必要となると
思われます。

(2)rootdskの修正
(2-1)moduleのバージョンアップ
kernelのバージョンアップ(1-1)で必要なmoduleを<m>とした場合(1-1)に続き
# cd /lib/modules
# mv 2.4.xx 2.4.xx.org
# cd /usr/src/linux
# make modules
# make modules_install
# depmod -a
# cd /lib/modules
(ここでmoduleの取捨選択をおこない必要ないmoduleは削除して
再度depmod -a を行っても良いと思います)
# tar cvfz tmp.tgz 2.4.yy (バージョンアップしたmodules)
# rm -rf 2.4.yy
# mv 2.4.xx.org 2.4.xx

(2-2)einitrdの修正
ここではPlamo-current/isolinux/einitrdを利用してmoduleなどの修正を
行います。einitrdは4MBのラムディスク(/dev/ram0)イメージそのままと
思われますので、mountで-o loopオプションによりmountできます。
始めに4MBのラムディスクをext2ファイルシステムで作成しmountします。
# /sbin/mke2fs /dev/ram0 4000
# mount -t ext2 /dev/ram0 /workdir
次にisolinuxにあるeinitrdをmountします。
# cd /mntx/Plamo-current/isolinux
# mount -t ext2 -o loop einitrd /mnty
# cd /mnty
# cd lib/moudles
# rm -rf 2.4.xx
# tar xvfz /lib/modules/tmp.tgz
(ここでtmp.tgzを解凍した後でも/mntyの4MB以下に収まることが必要です)
必要であればbin,sbinなどのコマンドの取捨選択などを行い、4MB以内に
収めます。次に作成しておいたラムディスクにコピーし、そのイメージを
新たな einitrdとして保存します。
# cp -a /mnty/* /workdir
# umount /workdir
# cd /mntx/Plamo-current/isolinux
# mv einitrd einitrd.org
# mv einitrd.gz einitrd.gz.org
# dd if=/dev/ram0 of=einitrd bs=1k count=4000
# gzip -c einitrd > einitrd.gz

(2-3)erootdskの作成
rootdskは minix ファイルシステムを使用していると思われます。おそらく
ext2などgrubで読めるファイルシステムであれば良いと思いますが、root
イメージのinitrd.gzのサイズの関係で minix にしているものと思われます。
# fdformat /dev/fd0u1440
# /sbin/mkfs.minix /dev/fd0
# mount -t minix /dev/fd0 /mntz
ファイル名をinitrd.gzとしてコピーします。
# cp einitrd.gz /mntz/initrd.gz
ここで忘れずumount
# umount /mntz

以上でerootdskまたはrootdskの修正が終了です。

http://www.linet.gr.jp/ML/plamo/200304/msg00126.html
http://www.linux.or.jp/JF/JFdocs/ext-root-mini-HOWTO.html
http://www.linet.gr.jp/ML/plamo/200309/msg00115.html

では。

Follow-Ups
[plamo:20683] Re: bootdskのboot kernelのバージョンアップ, KATOH Yasufumi

[検索ページ] [メール一覧]
Plamo ML 公開システム