juke
is a program written by Fermi labs that can be used
to control certain tape stackers.
The installation notes below are for an installation of a Quantum
DLT4500 under Solaris2.5.1. The juke
Solaris tar file is
installed in /users/dumper/juke
.
mkdir ~dumper/juke
cd ~dumper/juke
tar -xf ~cxh/src/jukev5_2SunOS+5.tar
~/.cshrc
setenv JUKE_DIR /users/dumper/juke set path = ($JUKE_DIR/bin $path)
/bin
in your path to run tailor
set path = (/bin $path)This is necessary so the
tailor
script in the next step uses
the proper echo
. If you have /usr/ucb
in your
path before /bin
, then you will get bogus \c chars.
Jukebox name? \c
$JUKE_DIR/ups/tailor
My $JUKE_DIR/config/client.cf
ended up looking like
#name host perm type,dev type,db drives #---- ---- ---- -------- ------ ------ dlt4500 foo.eecs.berkeley.edu config/dlt4500.prm dlt,/dev/juke0 dbm,db/dlt4500 rst12
sst
daemon:
sst/sst.conf
For a DLT4500 at SCSI address 4, the file should look like:
name="sst" class="scsi" target=4 lun=1;The
lun=1
line is so that we can find the medium
changer. Page 8-2 of the Quantum DLT4500 manual says:
The DLT4500 drive with optional medium changer has two logical units. The tape drive will always appear as LUN 0. The medium changer default to appearing as LUN 1, but may be configured via the MODE SELECT command to any LUN from 0 to 7.If you have
lun=0
, then you will get the
not a supported unit error.
make install
while in
the sst
directory.
jukerpcd
daemon, create links
in /etc/rc3.d
:
cd /etc/init.d ln -s /users/dumper/juke/ups/start jukestart cd /etc/rc3.d ln -s ../init.d/jukestart S40jukestart
start
and stop
so that the JUKE_DIR
is properly set to
/users/dumper/juke
.
jukerpcdaemon
:
/etc/rc3.d/S40jukestart
juke initdb -j dlt4500
juke
and use the show jukebox
command:
foo.eecs 111# juke > show jukebox show jukebox default jukebox: JUKEBOX@HOST JTYPE,DEVICE DBTYPE,FILE dlt4500@foo.eecs.berkeley.edu dlt,/dev/juke0 dbm,db/dlt4500 > show jukebox dlt4500 show jukebox dlt4500 default drive: d0 default slot: s0 default port: p0 NAME WHERE HOPS DATE (empty) slot 0 0 Wed Mar 18 17:45:01 1998 slot 1 0 Wed Mar 18 17:45:01 1998 slot 2 0 Wed Mar 18 17:45:01 1998 slot 3 0 Wed Mar 18 17:45:01 1998 slot 4 0 Wed Mar 18 17:45:01 1998 drive 0 ( rst12) 0 Wed Mar 18 17:45:01 1998 >
$JUKE_DIR/ups/start
starts up $JUKE_DIR/bin/jukerpcd
.
$JUKE_DIR/log
contains the logs.
$JUKE_DIR/ups/start $JUKE_DIR/bin/juke set jukebox dlt4500I get error messages:
not a supported unitThis message comes from
juke/jgp_exb.c
if( (acbuf[0]&0x1f) != 8) { fprintf(stderr,"not a supported unit"); fflush(stderr); return JGP_NOT_JUKEBOX; }The log says:
At Wed Mar 18 16:15:49 1998 open of /dev/juke0 returns file descriptor 9 sending scsi frame: 120000003700 ....7. USCSICMD ioctl returned 0, errno 0 inquiry succeeded returning f070001 got back: 01800202330000185175616e74756d20 ....3...Quantum 444c5434353030202020202020202020 DLT4500 43443541515a000425040100110b111a CD5AQZ..%....... 80000101433030 ....C00 vendor id Quantum product id DLT4500 firmware id CD5 not a supported unit, 0byte = 0x1, 0byte&0x1f=0x1Entering exb_open entering ftt_scsi_open(/dev/juke0,..) filehandle == -1byte 0 is the value 0x01. Page 8-19 of the Quantum manual says:
Peripheral Device TypeThe fix was to modify
on the tape drive LUN, this field is set to 01h, indicating a sequential access device. On the Medium Changer LUN, this field is set to 08h. All other LUNs will return 1FH
sst/sst.conf
so we used
LUN 1 instead of LUN 0.
name="sst" class="scsi" target=4 lun=1;As root, I then ran:
/usr/sbin/rem_drv sst add_drv -i "juke" -m '* 770 root sys' sst
cxh at eecs