まあそのまま 縮小 しても良いのでしょうが
出来上がった というか色々変更した initrd の 内容を 新しく作成した領域に コピー します。 まあ容量の関係 ということです。そうして 元の initrd が ext2 で したので ファイルシステム を ext2 にて作成します。
# cd ../../ # umount qmt/ # ls initrd qmt/ # dd if=/dev/zero of=DEVICE bs=1k count=4000 4000+0 records in 4000+0 records out # mke2fs -m 0 -i 2000 DEVICE mke2fs 1.34 (25-Jul-2003) DEVICE is not a block special device. Proceed anyway? (y,n) y Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 2048 inodes, 4000 blocks 0 blocks (0.00%) reserved for the super user First data block=1 1 block group 8192 blocks per group, 8192 fragments per group 2048 inodes per group Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. # mkdir mtdest # mount -o loop DEVICE mtdest/ # ls -a mtdest/ ./ ../ lost+found/ # rm -r mtdest/lost+found/
これで 新しい 領域が 確保 された事になります。
色々改悪した initrd の 内容を 新しい領域に コピー します。
# mount -o loop initrd qmt/ # df | sed 2d Filesystem 1k-blocks Used Available Use% Mounted on /home/oboot/003_final_root/a_files/DEVICE 3739 1 3738 1% /home/oboot/003_final_root/a_files/mtdest /home/oboot/003_final_root/a_files/initrd 3745 2835 910 76% /home/oboot/003_final_root/a_files/qmt /* まあ こういう具合になっています そこでコピー を開始します。 */ # cd mtdest/ # cp -dpR ../qmt/* . # cd - /home/oboot/003_final_root/a_files # df | sed 2d Filesystem 1k-blocks Used Available Use% Mounted on /home/oboot/003_final_root/a_files/DEVICE 3739 2835 904 76% /home/oboot/003_final_root/a_files/mtdest /home/oboot/003_final_root/a_files/initrd 3745 2835 910 76% /home/oboot/003_final_root/a_files/qmt # umount mtdest/ # umount qmt/
とまれ コピー は終わりました。圧縮するので オリジナルを 退避します。
# mv initrd type01_initrd # dd if=DEVICE bs=1k | gzip -v9 > initrd.gz 4000+0 records in 4000+0 records out 68.9% # ls DEVICE initrd.gz mtdest/ qmt/ type01_initrd
オリジナルの initrd.gz を 新しく作成した initrd.gz で 置き換えます。
# cd ../ # mount -o loop rootdsk.pcmcia pmt/ # ls pmt/ initrd.gz # mv pmt/initrd.gz . # mv initrd.gz ORG_initrd.gz /* 退避させます。 */ # ls a_files/ DEVICE initrd.gz mtdest/ qmt/ type01_initrd # mv a_files/initrd.gz pmt/ /* 入れ換え 完了です。 */ # df | sed 2d Filesystem 1k-blocks Used Available Use% Mounted on /home/oboot/003_final_root/rootdsk.pcmcia 1421 1250 171 88% /home/oboot/003_final_root/pmt # umount pmt/ # cp rootdsk.pcmcia rootdsk.pcmcia_type01 /* まあ 保存用のコピーを 作成 */
これで 準備 完了 動作するか否か は別問題です。
へたら 改悪版 rootdsk.pcmcia を 作成します。 近年 フロッピー ディスク 装置自体 無いようですが 装置もディスクも 生産を 止めるようです。
# dd if=rootdsk.pcmcia_type01 of=/dev/fd0 bs=1k 1440+0 records in 1440+0 records out
あるうちは使用しましょう。
にゃんたろう 拝!
2010年 5月 3日 (月) 21:37:32 JST 作成