- Burning a non-bootable EFS CD -

Introduction

You want to burn an EFS CD . . .

Don't have a SCSI burner on your SGI? Only burner available is on a nearby PC? Don't throw in the towel just yet, there still may be hope.

I wrote this article after experiencing just such a scenario here at home. Nothing other than CD readers on any of my SGIs . . . the only box on which to burn was my PC.

I dug around in google until I found enough scraps of info to give it a try and here is the result.

Now there may be simpler ways of completing such a task (I have been accused of doing things the hard way at times /thanks Brent/), however this is the way that I found success utilizing the equipment that I had available.

Preparing a Disk to hold the data

An Indy running 6.2 was used for this project, in addition to it's system disk which is XFS, it has a small external 1GB option drive connected. The general idea is to put the data we want on CD onto the option disk, then create a burnable EFS image file of that data on our XFS system disk. This of course assumes that there is adequate free space on the XFS system disk for such a file.

So we repartition the option drive as an EFS option drive.

NOTE: Although in the above example we set partition 7's size to 645MB, ideally, one would normally calculate the size of data that's to be put on CD and re-size this partition just large enough to hold that data.

Clearing the disk . . .

Jan-Jaap van der Heijden wrote in with the suggestion of clearing the partition by using the device "/dev/zero". In this scenario we're on controller 0 disk 2 and partition 7, therefore to zero the data partition, we can use

dd if=/dev/zero of=/dev/rdsk/dks0d2s7

Jan-Jaap also pointed out that as one performs this task more frequently, there is increased potential for a mistake. So a shell script could be helpful. I wrote a small script for this purpose, which perhaps will provide at least a marginal degree of safety. This process can be rather time consuming dependent upon your partition size and your system's speed. Be patient.

Building a new EFS filesystem on the cleared partition

After clearing the data partition 7, we'll build a new efs filesystem on that partition . . .

mkfs -t efs /dev/dsk/dks0d2s7
Mounting new partition and copying data

mount the new partition as "/disk2" . . .

mount /dev/dsk/dks0d2s7 /disk2

and copy over the files you want to burn to CD . . .

cp *.tardist /disk2/

cd into "/disk2/" and do an "ls" to show the files which will be included in the EFS CD image . . .

cd /disk2/
ls
fw_gftp-2.0.8.tardist   fw_gtk+-1.2.10.tardist  fw_mozilla-098.tardist  lost+found
fw_glib-1.2.10.tardist  fw_gzip-1.2.4a.tardist  fw_ncftp-3.0.3.tardist

we now cd back out and unmount "/disk2" . . .

cd ..
umount /disk2
Building the EFS CD image file

now, it's time to build the EFS CD image file. This is accomplished with "dd".

First we copy the EFS disk's volume header to our image file . . .

dd if=/dev/rdsk/dks0d2vh of=/somedirectory/myefsimage.img bs=4096

This created an image file named "myefsimage.img" in directory "/somedirectory/". This image file contains a copy of the EFS disk's volume header. It's size is approximately 1.3MB

Now we'll append the EFS disk's data partition (7) to the image file . . .

dd if=/dev/dsk/dks0d2s7 bs=4096 >> /somedirectory/myefsimage.img

once this copy is complete, "myefsimage.img" will be a burnable efs cd image file containing your data.

What Win-based PC software can be used to burn such an image as we've created? I use Nero Burning Rom. Others may work as well, but this one has worked best for me.

If at any point in the following steps, you're presented with a message regarding incorrect blocksize, be sure to select "ignore" rather than "correct".

  1. open Nero
  2. cancel the "new compilation" popup window
  3. select file, then burn image
  4. select your image
In the "foreign image settings" dialog use:
  • Data Mode 1
  • raw data UNCHECKED
  • block size 2048
  • image header 0
  • image trailer 0
  • scrambled UNCHECKED
  • swapped UNCHECKED
click ok
ensure that you select "finalize" prior to writing
write the disk

c o p y r i g h t   2 0 0 2   d a v i d   g a y   d e v e l o p m e n t