vol tool for Linux?

I have an old archive disk set which was created using the QNX vol utility. Is there an equivalent for Linux? I don’t have QNX and can’t really justify going through all the trouble to get it just to be able to use vol, so hopefully an alternative is available.


I’ve never heard of such a tool

I believe that vol was a simple utility to be able to write to a disk at the end of a chain of piped commands, for example:

$ ARCHIVER | vol [parameters]

QNX 2 had no /dev/fd0 so this was necessary, but you should be able to do the same as:

$ ARCHIVER >/dev/fd0

I thought vol only came along with QNX4. Didn’t it also write a header of some sort on floppies for the purpose of numbering them?

Yes, vol adds a header to each disk to serialize them. When undoing a vol archive, the vol utility–I believe–simply strips the header and concatenates the data (stored raw) on the rest of the diskette. I’m sure I could duplicate what vol does by writing some code, but I’d rather avoid re-inventing the wheel if possible.


 You are right, it is a QNX 4 utility.  It's getting hard to keep all that stuff straight.   Only fbackup wrote to floppies that way in QNX 2.   Yes vol also helped if you had a multiple volume set.

Here’s a really quick port to linux - no testing done I’m afraid, but it’s all just file io so I suspect it will be ok.


I hear ya. Is it task, or tsk, or sin, or pidin? I need a multicore brain.

Maybe just an archival backup system that automatically reloads old data when requested.

cburgess, thanks so much for that port of vol! However, when I tried using it I got a CRC error on the first disk. I’ve imaged this disk using some reliable software and it showed no errors on the disk. Do you have any ideas what might be causing this?

Can I get the source you used to compile this so I can try to debug on my end?

Thanks again.

I’m sure it will be cleared eventually but I just can’t give it out. I will ask someone though. IN the meantime, the initial thing I can think of is that watcom defaulted to an unsigned char. Here is a version that was compiled with -funsigned-charhttp://start.ubuntu.com/8.04/

let me know if it works any better for you.


cburgess, thanks again, but I’m getting the same error. Here’s the actual output. Perhaps this might give further clues as to the problem?

tech:~/sybase # ./vol -r /dev/fd0
vol: When drive light goes out insert disk 1 and press return

vol: volume 1 created 11/Jul/99-17:00 by wsql50, -1024 bytes used on /dev/fd0
vol: CRC mismatch in volume 1

Thanks again for your help.

Did you not get the source I sent you? Check your openqnx inbox.

Hey, did that source work out for you?