CDmastering scripts and binaries This directory contains the scripts and binaries required to burn an SGI style CD-ROM. The scripts work with:The Sony CDW-E1/W1 CD Encoding/Writing units.
No other CD writing units are supported.
The Sony CDW-900E CD Recording unit.
You will also need write-once CD-ROMs.The scripts will allow you to put an EFS filesystem onto a CD. EFS is the standard SGI disk format and is only readable on an SGI machine using a standard CD-ROM unit (reader).
Please note that this is UNSUPPORTED software (notwithstanding this, it is what is used in-house here at SGI).
THIS IS UNSUPPORTED SOFTWARE.
SGI DOES NOT GUARANTEE THE SOFTWARE TO BE BUG FREE
AND WILL NOT BE ABLE TO FIX PROBLEMS
ENCOUNTERED IN THE FIELD. USE AT YOUR OWN RISK.PLEASE NOTE: It is of critical importance for anyone who is considering using these CD mastering tools for generation of a WORM (Write-Once, Read-Many [times]) CD to understand that THESE TOOLS ARE INCLUDED ON THE DT STRICTLY FOR THE PURPOSE OF ENABLING DEVELOPERS TO CREATE AND TEST THEIR OWN "PROTO-TYPE" or "PROOF-OF-CONCEPT" WORM CDs. WE ARE NOT INCLUDING THIS SOFTWARE SO THAT SOMEONE CAN "SAVE MONEY" BY NOT PURCHASING A COMMERCIAL, AND SUPPORTED CD-MASTERING SOFTWARE PRODUCT. THIS SOFTWARE IS NOT SUPPORTED. ANYONE WHO THINKS IT WILL BE MORE ECONOMICAL TO ATTEMPT TO USE THIS SOFTWARE TO CREATE THEIR OWN PRODUCTION-QUALITY WORM CDS FOR THEIR OWN COMMERICAL PRODUCTS IS MAKING A SERIOUS ERROR IN TERMS OF THEIR OWN PRODUCT PLAN AND PRODUCT INTEGRITY. These tools were created with the sole intent of producing SGI FORMAT ("efs" filesystem for use with the "inst" tool) ONLY CD WORMs. SGI in no way supports or endorses the use of this software for any other use. WE WILL NOT ANSWER ANY QUESTIONS/EMAIL/PHONE CALLS ON THIS SOFTWARE. USE AT YOUR OWN RISK.
Start by copying all of these files to /usr/local/bin: cp make_efs /usr/local/bin cp make_efs_links /usr/local/bin cp burncd /usr/local/bin cp dvhfile /usr/local/bin cp ffsck /usr/local/bin cp makeproto /usr/local/bin cp mkdisc /usr/local/bin cp mkisofs /usr/local/bin These executables will be installed in /usr/local/bin: make_efs - creates a .vh and .efs file make_efs_links - same, but will preserve symbolic links burncd - shell script front end to mkdisc dvhfile - used to create/check the .vh (volume header) ffsck - used to check the .efs filesystem file makeproto - used to create the .efs file mkdisc - writes the data to the write-once CD-ROM mkisofs - used to create an ISO-9660 filesystem image mkdisc.src - contains the source+Makefile for mkdisc Make sure that /usr/local/bin is added to your path. In C-shell: set path=($path /usr/local/bin) In Bourne shell: PATH=$PATH:/usr/local/bin If the device number for your Compact Disc Recording Unit is NOT set to 5, then you need to edit "burncd" and insert the correct device number. Making .vh and.efs Files ------------------------ Before running "make_efs" to create your volume header and efs files, you should check to make sure the there is enough space in your destination directory. The general rule that we use is to run du -kLs <source directory> and add about 50,000 to that number. If the number of kbytes free in your destination is greater than that sum, you should have enough room. You can find the number of kbytes free in your destination directory by running df -k <destination directory> We have found it best to make sure that the source directory contains less than 600 megabytes worth of information. Another thing to be aware of are that the permissions and protections in your source directory are the way you want them on the CD. We generally set our ownerships as "root sys" and make sure that every file is world readable. It is important to note that the top level of your CD will be the contents of the source directory (i.e. this directory will be what shows up inside /CDROM when mounted under that name). Also, if you are making a CD which will contain inst images, the top level of the CD should include a directory called "dist" (i.e. /CDROM/dist is the way it will appear) which contains the images. For example, if you want the top level of your CD to be a dist, then you will have to "mkdir dist" in your source directory and put all the inst images in <source directory>/dist Make the .vh and .efs files by running: make_efs <source directory> <destination directory> Errors: Watch out for errors. Most of them are self-explanatory. If you see the error: "bad octal mode digit" that means that you have a filename that contains a space character. make_efs can't deal with filenames with embedded spaces. Writing to the CD ----------------- It is best to have the images you will be writing to the the CD located on the machine that is connected to the recording unit. We have found that writing the CD from a remote machine causes the recording unit to time out. A time out will cause the write-once CD to be ruined. From inside the directory that contains your .vh and .efs files run: burncd <file>.vh <file>.efs When the CD begins to burn, the amount of data (in minutes and seconds) will be printed to the screen. On a Sony unit, the CD will burn in that amount of time plus a few minutes. On a Phillips unit, the CD will burn in half the time printed plus a few minutes. There will also be a number of dots printed to the screen which allow you to follow the CDs progress. ========================================================================== ========================================================================== Creating an ISO-9660 image -------------------------- Please note that THE MKISOFS PROGRAM HAS NOT BEEN WELL TESTED. USE AT YOUR OWN RISK. Create the .iso file by running: "mkisofs <source directory> <destination directory>/<filename>.iso" Example: To create an ISO filesystem of everything under /usr/test, you would run the following command: mkisofs /usr/test /usr/tmp/cdimages/test.iso Writing an .iso file to CD -------------------------- From inside the directory that contains your .iso file run: "burncd <file>.iso"
Documentation
Reference
Subdirectories