hey mark,
this is a long standing (4 year old) bug:
4964815 Unable to burn CD's inside a non-global zone
i just did some quick testing and i think the crux of the problem is
that to burn cds, both cdrw and cdrecord need to issue uscsi commands,
which currently requires the sys_devices privilege. but this privilege
can not be added to zones for security reasons. (the framework will
prevent you from adding this via zonecfg, you could hack around this by
editing the zone config.xml file, but i wouldn't recommend doing this.)
what needs to happen to really support this functionality is that the
uscsi command space needs to be broken up into safe operations that can
be granted to zones via a new privilege. currently, we don't have
staffing to work on this (although this issue has been discussed in our
long term zones storage road map).
ed
On Tue, Nov 25, 2008 at 03:09:11PM +, Mark Whittaker wrote:
Hi All,
is it possble to use cdrw or cdrecord to burn a cd/dvd in a non-global zone.
I've tried:
add device match=/dev/dsk/c0t1d0s*
add device match=/dev/rdsk/c0t1d0s*
add device match=/dev/* (added as a last resort ...)
via zonecfg, and confirmed that the same /dev/*dsk/c0t1d0s* devices are
created in the zone (after a zone reboot).
However, cdrw -l cdrecord -scanbus both fail (cdrw returns nothing and
cdrecord hangs).
Both work fine in the global zone.
Does anyone know if this is possible (cd/dvd burning in a zone) and what the
steps/devices/privileges are required ?
Thanks
Mark.
Details:
Solaris 10x86 Update 6
Sparse Root Zone
*global#* cdrw -l
Looking for CD devices...
Node Connected DeviceDevice type
--++-
/dev/rdsk/c0t0d0s2 | HL-DT-ST DVD-ROM GDR8164B 0D08 | CD Reader
/dev/rdsk/c0t1d0s2 | _NEC DVD_RW ND-3500AG 2.19 | CD Reader/Writer
*global#* cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-pc-solaris2.10) Copyright (C) 1995-2004 Jörg
Schilling
Warning: Using USCSI interface.
Using libscg version 'schily-0.8'.
scsibus0:
0,0,0 0) 'HL-DT-ST' 'DVD-ROM GDR8164B' '0D08' Removable CD-ROM
0,1,0 1) '_NEC' 'DVD_RW ND-3500AG' '2.19' Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
*zone#* cdrw -l
Looking for CD devices...
No CD writers found.
*zone#* cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-pc-solaris2.10) Copyright (C) 1995-2004 Jörg
Schilling
Warning: Using USCSI interface.
Using libscg version 'schily-0.8'.
scsibus0:
0,0,0 0) *
HANG
*zone#* find /dev
/dev
/dev/.devfsadm_synch_door
/dev/ttyp1
/dev/poll
/dev/ttya
/dev/power_button
/dev/ptyq0
/dev/ptmajor
/dev/msglog
/dev/systty
/dev/dtremote
/dev/ttyqb
/dev/tcp6
/dev/ptyr2
/dev/kmem
/dev/cpu
/dev/cpu/self
/dev/cpu/self/cpuid
/dev/ipstate
/dev/ptypc
/dev/ptyr8
/dev/ppm
/dev/ttyq8
/dev/arp
/dev/ttyq2
/dev/ptyp9
/dev/ptyrb
/dev/ptyp3
/dev/ttypa
/dev/ttyr0
/dev/spdsock
/dev/ipf
/dev/rdsk
/dev/rdsk/c0t1d0s9
/dev/rdsk/c0t1d0s3
/dev/rdsk/c0t1d0s13
/dev/rdsk/c0t1d0s14
/dev/rdsk/c0t1d0s4
/dev/rdsk/c0t1d0s0
/dev/rdsk/c0t1d0s10
/dev/rdsk/c0t1d0s7
/dev/rdsk/c0t1d0s15
/dev/rdsk/c0t1d0s5
/dev/rdsk/c0t1d0s2
/dev/rdsk/c0t1d0s8
/dev/rdsk/c0t1d0s12
/dev/rdsk/c0t1d0s6
/dev/rdsk/c0t1d0s1
/dev/rdsk/c0t1d0s11
/dev/ipl
/dev/kbd
/dev/sppp
/dev/ttypf
/dev/ttyr7
/dev/ipscan
/dev/rawip
/dev/ptyre
/dev/ptyp4
/dev/mouse
/dev/tty
/dev/null
/dev/urandom
/dev/ttyq5
/dev/ptyr5
/dev/tty00
/dev/ptypd
/dev/crypto
/dev/ttyqe
/dev/sppptun
/dev/ptyq7
/dev/ip6
/dev/openprom
/dev/ttyp6
/dev/ipauth
/dev/ptyq9
/dev/ptyq3
/dev/tnfmap
/dev/random
/dev/zconsole
/dev/ttyp8
/dev/ttyrc
/dev/agpgart
/dev/ttyp2
/dev/zfs
/dev/dsk
/dev/dsk/c0t1d0s7
/dev/dsk/c0t1d0s0
/dev/dsk/c0t1d0s10
/dev/dsk/c0t1d0s14
/dev/dsk/c0t1d0s4
/dev/dsk/c0t1d0s9
/dev/dsk/c0t1d0s3
/dev/dsk/c0t1d0s13
/dev/dsk/c0t1d0s11
/dev/dsk/c0t1d0s1
/dev/dsk/c0t1d0s6
/dev/dsk/c0t1d0s12
/dev/dsk/c0t1d0s2
/dev/dsk/c0t1d0s8
/dev/dsk/c0t1d0s5
/dev/dsk/c0t1d0s15
/dev/ptyr1
/dev/ticotsord
/dev/icmp6
/dev/ttyqa
/dev/ptyp0
/dev/ptyra
/dev/ttyd0
/dev/ttyq1
/dev/vt00
/dev/ptyqc
/dev/.devfsadm_dev.lock
/dev/log
/dev/ttyr3
/dev/fssnapctl
/dev/dump
/dev/keysock
/dev/ttypb
/dev/ttyr9
/dev/sad
/dev/sad/user
/dev/ttyr4
/dev/ttype
/dev/ptyqd
/dev/stdout
/dev/ttyq6
/dev/ptyp7
/dev/ptyrf
/dev/sctp
/dev/udp
/dev/ttyqf
/dev/tcp
/dev/ptyr6
/dev/ttyrd
/dev/ttyp5
/dev/nca
/dev/poolctl
/dev/ptyq4
/dev/vboxdrv
/dev/ptype
/dev/cryptoadm
/dev/ptyr4
/dev/ipnat
/dev/ttyqd
/dev/conslog
/dev/bl
/dev/term
/dev/ptyq6
/dev/rds
/dev/lofictl
/dev/icmp
/dev/ttyrf
/dev/.devlink_db
/dev/sctp6
/dev/ttyp7
/dev/kmdb
/dev/rsm
/dev/ptyqf
/dev/ttyr6
/dev/ip
/dev/ucode
/dev/ramdiskctl