mkisofs increasing iso size by 100 MB
amitabhkant at gmail.com
Thu Jan 12 09:39:52 UTC 2012
On Thu, Jan 12, 2012 at 2:48 PM, Amitabh Kant <amitabhkant at gmail.com> wrote:
> On Wed, Jan 11, 2012 at 9:49 PM, Jan Henrik Sylvester <me at janh.de> wrote:
>> On 01/-10/-28163 20:59, Amitabh Kant wrote:
>>> I am trying to customise the bsdinstall auto script. I can mount the iso
>>> (amd64 arch / 9.0 RELEASE) and change the shell script as per my
>>> requirement. Once I try to re-create the iso file using mkisofs utility,
>>> the size of the final iso increases by 100 MB if -J (joliet) mode is
>>> If I remove the joliet mode, it still increases by around 97 MB. Even if
>>> changes are made to any of the files, the result is same.
>>> The process I have followed is as follows:
>>> # mkdir /usr/iso
>>> # cd /usr/iso
>>> # dd if=/dev/cd0 of=org.iso bs=2048
>>> # mdconfig -a -t vnode -f org.iso -u 0
>>> # mount_cd9660 /dev/md0 /mnt
>>> # mkdir staging
>>> # cd staging
>>> # rsync -a /mnt/ .
>>> With Joliet mode
>>> # mkisofs -J -R -V CustomBSD -no-emul-boot -b boot/cdboot -iso-level 3 -o
>>> /usr/iso/my_custom.iso .
>>> Without Joliet mode
>>> # mkisofs -R -V CustomBSD -no-emul-boot -b boot/cdboot -iso-level 3 -o
>>> /usr/iso/my_custom1.iso .
>>> The original iso is 612M, custom.iso is 712M and custom1.iso is 709M.
>>> System details: FreeBSD amd64 9.0 RELEASE running inside a virtualbox
>>> 2GB RAM.
>>> Where am I going wrong?
>> There are many hardlinked files on the iso images. By the procedure
>> above, you have them included multiple times.
>> From the rsync manpage: "Note that -a does not preserve hardlinks,
>> because finding multiply-linked files is expensive. You must separately
>> specify -H."
>> You will probably want "-cache-inodes" for mkisofs as well (and maybe
>> other options). Or you could look at src/release/amd64/mkisoimages.**sh
>> for the use of "makefs -t cd9660".
>> Jan Henrik
> Tried -H with rsync and -cache-inodes in mkisofs. Saw the mkisoimages.sh
> and used the same parameters (at least to my understanding), still with the
> same result. The only thing left to try is to get it running on a dedicated
> machine rather than in a virtualbox.
Same result on a dedicated machine too.
More information about the freebsd-questions