These are notes specific to using sst with Amanda on Solaris. John R. Jackson 21-Nov-2000 ============== Access as root ============== A change was made to the sst.c source code to allow access from non-root users. It #if's out a call to drv_priv() that checked against UID 0 (look for EPERM in the code). Since Amanda does not normally run as root, this was a problem. Use the file system permissions on /dev/rsst* to control access. ======================== Using the GNU C compiler ======================== If you build sst with the GNU C compiler for a 32 bit kernel (see below for 64 bit kernel notes), you may get warnings like this: warning: passing arg 1 of `timeout' from incompatible pointer type .../include/va-sparc.h:29: warning: `va_start' redefined .../include/va-sparc.h:29: warning: `va_end' redefined .../include/va-sparc.h:29: warning: `va_arg' redefined .../include/stdarg.h:163: warning: redefinition of `va_list' These may all be ignored. A change was made to the sst.c source code to get around the following error: `__builtin_va_alist' undeclared It adds a #include of stdarg.h if __GNUC__ is #define'd. ============================ Building for a 64 bit kernel ============================ The sst driver build instructions are for a 32 bit kernel. If you want to build for a 64 bit kernel, compile it like this: cc -D_KERNEL -D_SYSCALL32 -xarch=v9 -c sst.c Drivers for 64 bit kernels go in /usr/kernel/drv/sparcv9 instead of /usr/kernel/drv. However their .conf files still go in /usr/kernel/drv, regardless of bit size. At the time this is being written, only the Sun C compiler is able to (reliably) build kernel drivers for 64 bit architectures. GNU C is not yet up to the task. ================== Using sgen instead ================== Solaris 8 comes with a new driver, sgen, that provides raw SCSI access ala sst, but with (presumably) better long term support (since sst is intended only as a development starting point). At the time this is being written, the chg-scsi changer reportedly works with sgen, but be sure and read the sgen(7D) man page for instructions on setting it up. In particular, you must edit sgen.conf to get the device entries created. Also, the default permissions only allow root access, so you'll need to open them up just enough to allow Amanda to issue commands.