PDA

View Full Version : minirt2[4|6].gz size



Albert
09-03-2004, 12:07 PM
I'm doing a remaster with a custom kernel (linux-2.6.8.1).

It works good, but why does the minirt26.gz file get bigger when I mess around with linuxrc and modules even though the mounted size is smaller than the original knoppix minirt26.gz?

I've checked out http://debian.tu-bs.de/knoppix/remaster/ but cant find anything that does any magic stuff to shrink the minirt26 file.

Does anybody know how the original knoppix minirt file can be so small?

Albert
09-03-2004, 01:33 PM
After some experimenting I found that creating a brand new minirt26 file and copying data from the old one fixes the size.



gunzip minirt26.gz
mv minirt26 minirt26.old
mkdir old
mkdir new
mount -o loop minirt26.old old/
dd if=/dev/zero of=minirt26 bs=4096 count=1125
mke2fs minirt26
mount -o loop minirt26 new/
cp -a old/* new/
umount new/
umount old/
gzip --best minirt26


That created a minirt26.gz with a size of 227Kb.
The old minirt26.gz, with exactly same contents, is 850Kb...

I removed all scsi modules. Thats why its smaller than the original.

Albert
09-07-2004, 09:28 AM
Ignore the previous post. The mke2fs line was wrong.
Now I use the following script to shrink the minirt2*.gz file after
modifying linuxrc and other files inside minirt26.gz.

shrinkminirt.sh


#!/bin/sh

DEST=../master/boot/isolinux/
MFILE=${DEST}/minirt26

gunzip ${MFILE}.gz || exit 1
mv $MFILE ${MFILE}.old || exit 1
dd if=/dev/zero of=$MFILE bs=4096 count=1125 || exit 1
mke2fs -L "KNOPPIX miniroot" -b 1024 -N 8192 -O none -F -q -m 0 $MFILE || exit 1
mkdir $DEST/old || exit 1
mkdir $DEST/new || exit 1
mount -o loop ${MFILE}.old ${DEST}/old || exit 1
mount -o loop ${MFILE} ${DEST}/new || exit 1
cp -a ${DEST}/old/* ${DEST}/new || exit 1
umount ${DEST}/old || exit 1
umount ${DEST}/new || exit 1
rmdir ${DEST}/old || exit 1
rmdir ${DEST}/new || exit 1
rm -f ${MFILE}.old || exit 1
gzip --best ${MFILE}


Just change DEST to the path to the boot/isolinux dir on your drive.
Change MFILE to ${DEST}/minirt24 to shrink the minirt24.gz file instead.

Steve F
10-02-2004, 09:29 PM
Thanks A, this has come in handy today.

An FYI for others making changes to minirt2*.gz, if you end up with a file larger than you started with, you must rerun lilo if you test your changes with a bootable partition. lilo reserves an Initial Ram Disk exactly the size of minirt. If you put a larger file in the boot directory and try to boot from it, you get nothing; no error message. The screen says Loading kernal but nothing else happens. I expect if you put a smaller minirt file in the boot directory it works fine.