[ILUG-BOM] Making Compressed CDROM in GNU/Linux

Nikhil Joshi nikhil_joshi@[EMAIL-PROTECTED]
Fri Nov 5 07:55:38 IST 2004


Hi!
Wrote this small howto for making compressed CD's in Linux. New users will 
certainly appreciate the fact Linux provides much more features than just 
security,stability and speed as compared to other popular OS'es.

                       Making Compressed CDROM in Linux

                                 Nikhil Joshi


Introduction

I had often wondered whether there is a way to zip your files, burn them on a
CD and then decompress them on-the-fly to save space. Well the good news is
there is a method to do the same! Linux provides a Transparent decompression
extension to achieve the same. It is useful when you have a lot of text/HTML/
doc files to burn on the CD and you want to save the precious space. It is
especially useful to view the e-books which are mostly in HTML format.


Prepare the Kernel

CAVEAT: Please note that the CD that we are going to make will only be readable
in Linux environment as Windows does not have the Transparent decompression
extension.
First we have to enable the Transparent decompression extension in the kernel.
Compiling the kernel is a tricky business and requires patience and will to
learn something new. This link will certainly help you:

     http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

I'll outline the steps below:

  1. Download and unpack the latest 2.6 series stable kernel from http://
     www.kernel.org/
  2. Type make menuconfig
  3. Goto File Systems -> CDROM/DVD Filesystems and enable Transparent
     decompression extension
  4. make; make modules; make modules_install
  5. Copy the bzImage to /boot and update the bootloader configuration
     appropriately



The commands

Now that we have the kernel ready let's see the commands. Put everything you
want to compress in a directory. First we make a compressed directory hierarchy
of the directory we want to compress.

     $ mkzftree intree outree

creates a compressed directory (outree) out of a normal directory (intree). Now
we will make an iso image out of the directory hierarchy.

     $ mkisofs -o mycd.iso -R -allow-lowercase -allow-multidot -l -L -
     z outree

That's it!! We have created an iso file which we can burn using any CD Burning
Software. I use k3b (http://www.k3b.org/) on Linux.


Conclusion

I created a normal iso image out of a directory tree and another iso image out
of the compressed directory tree. The space savings were obvious: 591MB for
normal iso and 448MB using compression. A gain of 143 MB. This directory tree
had lots of PDF files which do not compress well as compared to ASCII text
files. Overall the space saving was considerable and I am already a fan of
Transparent decompression.

-- 
   Often it takes some calamity to make us live in the present. Then suddenly
we wake up and see all the mistakes we have made. But it is too late to change
anything.	  -- Calvin



More information about the Linuxers mailing list