SCSI device numbers
Mike Jeays
Mike.Jeays at rogers.com
Wed Feb 16 00:26:19 GMT 2005
On Tue, 2005-02-15 at 09:45, Lowell Gilbert wrote:
> Mike Jeays <Mike.Jeays at rogers.com> writes:
>
> > I have at present two emulated SCSI devices on my system; a USB flash
> > drive, and a DVD-writer.
> >
> > They get assigned:
> >
> > 0,0,0 0) 'SanDisk ' 'Cruzer Micro ' '2033' Removable Disk
> > 2,0,0 200) 'HL-DT-ST' 'DVDRAM GSA-4160B' 'A300' Removable CD-ROM
> >
> > if the USB device is present at boot time (I think).
> >
> > So my script for burning CDs, which says:
> > mkisofs -J -L -R -o x1.iso "$*"
> > cdrecord -v dev=2,0,0 x1.iso
> > rm -f x1.iso
> > is very fragile.
> >
> > How should I do it? Write a script to read the output of cdrecord
> > -scanbus and grab the device number? There has to be a "right" way, and
> > instinct says this isn't it.
>
> It's not a bad way.
>
> I'm not sure I understand why the device numbering is so fragile,
> though; wouldn't the ATAPI buses available at boot time be the same
> whether they have devices or not?
I don't understand either, but it happens. I rebooted with the flash
drive not plugged in, and the DVD burner is now dev=1,0,0. Then I
inserted the flash drive, and it was assigned dev=2,0,0. A second flash
drive got 3,0,0 - which seems reasonable.
So I wrote a tiny Perl script to find the unit number, and call it
before running cdrecord. It works OK, but it still seems like a kludge
to me.
Thanks for the help.
More information about the freebsd-questions
mailing list