Sunday, October 16, 2005

SUSE 10.0 CD iso to DVD iso shell script !

#!/bin/bash

#Mount the CDs in loopback mode:
mkdir CD1 CD2 CD3 CD4 CD5

mount SUSE-10.0-CD-OSS-i386-GM-CD1.iso CD1 -o loop
mount SUSE-10.0-CD-OSS-i386-GM-CD2.iso CD2 -o loop
mount SUSE-10.0-CD-OSS-i386-GM-CD3.iso CD3 -o loop
mount SUSE-10.0-CD-OSS-i386-GM-CD4.iso CD4 -o loop
mount SUSE-10.0-CD-OSS-i386-GM-CD5.iso CD5 -o loop

# Create a basic structure to overwrite files we need to modify for the CD (the checksums and boot files).
cp -a CD1/boot .
mkdir i586 i686 noarch

# Create the NEW MD5SUMS as one file in order to allow SuSE to validate (thus install) all of the files from every CD and not just CD #1
# For the i586 directory:
cat CD1/suse/i586/MD5SUMS CD2/suse/i586/MD5SUMS CD3/suse/i586/MD5SUMS CD4/suse/i586/MD5SUMS CD5/suse/i586/MD5SUMS > i586/MD5SUMS
# For the i686 directory:
cat CD1/suse/i686/MD5SUMS CD2/suse/i686/MD5SUMS CD3/suse/i686/MD5SUMS CD4/suse/i686/MD5SUMS > i686/MD5SUMS
# For the noarch directory:
cat CD1/suse/noarch/MD5SUMS CD2/suse/noarch/MD5SUMS CD3/suse/noarch/MD5SUMS CD4/suse/noarch/MD5SUMS CD5/suse/noarch/MD5SUMS > noarch/MD5SUMS

# Now, create the ISO:
mkisofs -o SuSE-10.0-DVD-OSS-i386-.iso -b boot/loader/isolinux.bin -c boot/loader/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l -publisher SuSE -r -J -V SuSE-10.0-OSS-GM -x CD1/boot -x CD1/suse/i586/MD5SUMS -x CD1/suse/noarch/MD5SUMS -x CD1/suse/i686/MD5SUMS -x CD2/suse/i686/MD5SUMS -x CD2/suse/i586/MD5SUMS -x CD2/suse/noarch/MD5SUMS -x CD3/suse/i586/MD5SUMS -x CD3/suse/i686/MD5SUMS -x CD3/suse/noarch/MD5SUMS -x CD4/suse/i586/MD5SUMS -x CD4/suse/i686/MD5SUMS -x CD4/suse/noarch/MD5SUMS -x CD5/suse/i586/MD5SUMS -x CD5/suse/noarch/MD5SUMS -graft-points CD1 boot/=boot suse/i586/MD5SUMS=i586/MD5SUMS suse/noarch/MD5SUMS=noarch/MD5SUMS suse/i686/MD5SUMS=i686/MD5SUMS suse/=CD2/suse suse/=CD3/suse suse/=CD4/suse suse/=CD5/suse media.2/=CD2/media.2 media.3/=CD3/media.3 media.4/=CD4/media.4 media.5/=CD5/media.5

# Now just burn the ISO to a DVD (hint: use 'growisofs' or your favorite GUI-frontend to 'growisofs'). Optionally, you can mount this ISO like you did #above to verify it will work correctly, or if you don't want to actually burn it. Just call:
#mkdir DVD
#mount SuSE-10.0-RC1.iso DVD -o loop

# Enjoy!

No comments: