README
1 For more information, see the README file in the directories
2
3 cdda2wav cdrecord mkisofs and in the directory "READMEs".
4
5 Or check other directories for README files.
6 README.apple
README.BSDi
1 It seems that some include files that are needed to compile
2 e.g. the SCSI transport stuff are only present if you install
3 the kernel building stuff.
4
5 If you have problems to compile because some include files are
6 missing, look into /sys and verify if all files are present or
7 (if they are symlinks) point to present files.
8
9 There is no working mapping between the SCSI bus,target,lun
10 notation and device node names. To use a SCSI device, you need
11 to specify dev=devname:@,lun e.g. dev=/dev/rsr0a:@,0
12
13 README.compile
1 Short overview for those who don't read manuals:
2
3 Calling configure manually is outdated because this is a task of the
4 makefile system.
5
6 There is no 'configure', simply call 'make' on the top level
7 directory.
8
9 ***** If this does not work for you, read the rest if this file *****
10 ***** If you have any problem, also first read the topic specific *****
11 ***** README.* files (e.g. README.linux for Linux problems). *****
12
13 All results in general will be placed into a directory named
14 OBJ/<arch-name>/ in the current projects leaf directory.
15
16 You **need** either my "smake" program, the SunPRO make
17 from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x)
18 or GNU make to compile this program. Read READMEs/README.gmake for
19 more information on gmake and a list of the most annoying bugs in gmake.
20
21 All other make programs are either not smart enough or have bugs.
22
23 My "smake" source is at:
24
25 ftp://ftp.berlios.de/pub/smake/alpha/
26
27 It is easy to compile and doesn't need a working make program
28 on your machine. If you don't have a working "make" program on the
29 machine where you like to compile "smake" read the file "BOOTSTRAP".
30
31 If you have the choice between all three make programs, the
32 preference would be
33
34 1) smake (preferred)
35 2) SunPRO make
36 3) GNU make (this is the last resort)
37
38 Important notice: "smake" that comes with SGI/IRIX will not work!!!
39 This is not the Schily "smake" but a dumb make program from SGI.
40
41 ***** If you are on a platform that is not yet known by the *****
42 ***** Schily makefilesystem you cannot use GNU make. *****
43 ***** In this case, the automake features of smake are required. *****
44
45 Please read the README's for your operating system too.
46
47 WARNING
48 Do not use 'mc' to extract the tar file!
49 All mc versions before 4.0.14 cannot extract symbolic links correctly.
50
51 The versions of WinZip that support tar archives cannot be used too.
52 The reason is that they don't support symbolic links.
53 Star and Gnutar do support symbolic links even on win32 systems.
54 To support symbolic links on win32, you need to link with the
55 Cygwin32 POSIX library.
56
57 To unpack an archive use:
58
59 gzip -d < some-arch.tar.gz | tar -xpf -
60
61 Replace 'star' by the actual archive name.
62
63 If your Platform does not support hard links or symbolic links, you
64 first need to compile "star" and then call:
65
66 star -xpz -copy-links < some-arch.tar.gz
67
68 If your platform does not support hard links but supports
69 symbolic links, you only need to call the command above once.
70 If your platform does not support symbolic links, you need to call
71 the command twice because a symbolic link may occur in the archive
72 before the file it points to.
73
74
75
76 Here comes the long form:
77
78
79 PREFACE:
80
81 Calling configure manually is outdated because this is a task of the
82 makefile system.
83
84 You don't have to call configure with this make file system.
85
86 Calling 'make' or 'make all' on the top level directory will create
87 all needed targets. Calling 'make install' will install all needed
88 files.
89
90 This program uses a new makefilesystem. This makefilesystem uses
91 techniques and ideas from the 1980s and 1990s, is designed in a
92 modular way and allows sources to be combined in a modular way.
93 For mor information on the modular features read README.SSPM.
94
95 The makefilesystem is optimized for a program called 'smake'
96 Copyright 1985 by Jrg Schilling, but SunPro make (the make program
97 that comes with SunOS >= 4.0 and Solaris) as well as newer versions
98 of GNU make will work also. BSDmake could be made working, if it
99 supports pattern matching rules correctly.
100
101 The makefile system allows simultaneous compilation on a wide
102 variety of target systems if the source tree is accessible via NFS.
103
104
105 Finding Compilation Results:
106
107 To allow this, all binaries and results of a 'compilation' in any form
108 are placed in sub-directories. This includes automatically generated
109 include files. Results in general will be placed into
110 a directory named OBJ/<arch-name>/ in the current projects
111 leaf directory, libraries will be placed into a directory called
112 libs/<arch-name>/ that is located in the source tree root directory.
113
114 <arch-name> will be something like 'sparc-sunos5-cc'
115
116 This is the main reason why simultaneous compilation is possible on
117 all supported platforms if the source is mounted via NFS.
118
119
120 How to compile:
121
122 To compile a system or sub-system, simply enter 'smake', 'make' or
123 'Gmake'. Compilation may be initialized at any point of the source
124 tree of a system. If compilation is started in a sub tree, all objects
125 in that sub tree will be made.
126
127
128 How to install results:
129
130 To install the product of a compilation in your system, call:
131
132 smake install
133
134 at top level. The binaries will usually be installed in
135 /opt/schily/bin. The directory /opt/<vendor-name>/ has been agreed
136 on by all major UNIX vendors in 1989. Unfortunately, still not all
137 vendors follow this agreement.
138
139 If you want to change the default installation directory, edit the
140 appropriate (system dependent) files in the DEFAULTS directory
141 (e.g. DEFAULTS/Defaults.sunos5).
142
143 ***** If "smake install" doesn't do anything, you are on a broken *****
144 ***** File System. Remove the file INSTALL in this case (the FS *****
145 ***** does not handle upper/lower case characters correctly). *****
146 ***** This is true for all DOS based filesystems and for Apple's *****
147 ***** HFS+ filesystem. *****
148
149
150 Using a different installation directory:
151
152 If your system does not yet use the standard installation path /opt
153 or if you don't like this installation directory, you can easily
154 change the installation directory. You may edit the DEFAULTS file
155 for your system and modify the macro INS_BASE.
156
157 You may use a different installation directory without editing the
158 DEFAULTS files. If you like to install everything in /usr/local, call:
159
160
161 If your make program supports to propagate make macros to sub make programs
162 which is the case for recent smake releases as well as for a recent gnumake:
163
164 smake INS_BASE=/usr/local install
165 or
166 gmake INS_BASE=/usr/local install
167
168 If you make program doesn't propagate make macros (e.g. SunPRO make) call:
169
170 env INS_BASE=/usr/local make -e install
171
172 Note that INS_BASE=/usr/local needs to be specified for every operation
173 that compiles or links programs as the path is stored inside the
174 binaries.
175
176
177 Installing to a prototype directory to implement package creation staging:
178
179 If you like to create a prototype directory tree that is used as an
180 intermediate store for package creation, use the DESTDIR macro:
181
182 smake INS_BASE=/usr/local DESTDIR=/tmp install
183
184 This will create a usr/local tree below /tmp (i.e. /tmp/usr/local).
185
186 Using a different C-compiler:
187
188 If the configured default compiler is not present on the current machine,
189 the makefilesystem will try an automatic fallback to GCC. For this reason
190 in most cases you will not need to manually select a compiler.
191
192 The default C-compiler can be modified in the files in the
193 DEFAULT directory. If you want to have a different compiler
194 for one compilation, call:
195
196 make CCOM=gcc
197 or
198 make CCOM=cc
199
200 This works even when your make program doesn't propagate make macros.
201
202
203 Creating 64 bit executables on Solaris:
204
205 Simply call:
206
207 make CCOM=gcc64
208 or
209 make CCOM=cc64
210
211 It is not clear if GCC already supports other platforms in 64 bit mode.
212 As all GCC versions before 3.1 did emit hundreds of compilation
213 warnings related to 64 bit bugs when compiling itself, there is little
214 hope that other platforms are already supported in 64 bit mode.
215
216 Creating executables using the Sun Studio compiler on Linux:
217
218 Simply call:
219
220 make CCOM=suncc
221
222 If the compilation does not work, try:
223
224 mkdir /opt/sunstudio12/prod/include/cc/linux
225 cp /usr/include/linux/types.h /opt/sunstudio12/prod/include/cc/linux
226
227 Then edit /opt/sunstudio12/prod/include/cc/linux/types.h and remove all
228 lines like: "#if defined(__GNUC__) && !defined(__STRICT_ANSI__)"
229 as well as the related #endif.
230
231
232
233 Getting help from make:
234
235 For a list of targets call:
236
237 make .help
238
239
240 Getting more information on the make file system:
241
242 The man page makefiles.4 located in man/man4/makefiles.4 contains
243 the documentation on general use and for leaf makefiles.
244
245 The man page makerules.4 located in man/man4/makerules.4 contains
246 the documentation for system programmers who want to modify
247 the make rules of the makefile system.
248
249 For further information read
250
251 ftp://ftp.berlios.de/pub/makefiles/PortableSoftware.ps.gz
252
253
254 Hints for compilation:
255
256 The makefile system is optimized for 'smake'. Smake will give the
257 fastest processing and best debugging output.
258
259 SunPro make will work as is. GNU make need some special preparation.
260
261 Read READMEs/README.gmake for more information on gmake.
262
263 To use GNU make create a file called 'Gmake' in your search path
264 that contains:
265
266 #!/bin/sh
267 MAKEPROG=gmake
268 export MAKEPROG
269 exec gmake "$@"
270
271 and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make'
272 on Linux is really a gmake.
273
274 'Gmake' and 'Gmake.linux' are part of this distribution.
275
276 Some versions of gmake are very buggy. There are e.g. versions of gmake
277 on some architectures that will not correctly recognize the default
278 target. In this case call 'make all' or ../Gmake all'.
279
280 Note that pseudo error messages from gmake similar to:
281
282 gmake[1]: Entering directory `cdrtools-1.10/conf'
283 ../RULES/rules.cnf:58: ../incs/sparc-sunos5-cc/Inull: No such file or directory
284 ../RULES/rules.cnf:59: ../incs/sparc-sunos5-cc/rules.cnf: No such file or directory
285
286 Are a result of a bug un GNU make. The make file system itself is
287 correct (as you could prove by using smake).
288 If your gmake version still has this bug, send a bug report to:
289
290 "Paul D. Smith" <psmith (a] gnu.org>
291
292 He is the current GNU make maintainer.
293
294 If you like to use 'smake', please always compile it from source.
295 The packages are located on:
296
297 ftp://ftp.berlios.de/pub/smake/alpha/
298
299 Smake has a -D flag to see the actual makefile source used
300 and a -d flag that gives easy to read debugging info. Use smake -xM
301 to get a makefile dependency list. Try smake -help
302
303
304 Compiling the project using engineering defaults:
305
306 The defaults found in the directory DEFAULTS are configured to
307 give minimum warnings. This is made because many people will
308 be irritated by warning messages and because the GNU c-compiler
309 will give warnings for perfectly correct and portable c-code.
310
311 If you want to port code to new platforms or do engineering
312 on the code, you should use the alternate set of defaults found
313 in the directory DEFAULTS_ENG.
314 You may do this permanently by renaming the directories or
315 for one compilation by calling:
316
317 make DEFAULTSDIR=DEFAULTS_ENG
318
319
320 Compiling the project to allow debugging with dbx/gdb:
321
322 If you like to compile with debugging information for dbx or gdb,
323 call:
324
325 make clean
326 make COPTX=-g LDOPTX=-g
327
328
329 Creting Blastwave packages:
330
331 Call:
332 .clean
333 smake -f Mcsw
334
335 You need the program "fakeroot" and will find the results
336 in packages/<arch-dir>
337
338 Note that a single program source tree will allow you to create
339 packages like CSWstar but not the packages CSWschilybase and
340 CSWschilyutils on which CSWstar depends.
341
342
343
344
345 If you want to see an example, please have a look at the "star"
346 source. It may be found on:
347
348 ftp://ftp.berlios.de/pub/star
349
350 Have a look at the manual page, it is included in the distribution.
351 Install the manual page with
352
353 make install first and include /opt/schily/man in your MANPATH
354
355 Note that some systems (e.g. Solaris 2.x) require you either to call
356 /usr/lib/makewhatis /opt/schily/man or to call
357
358 man -F <man-page-name>
359
360
361 Author:
362
363 Joerg Schilling
364 Seestr. 110
365 D-13353 Berlin
366 Germany
367
368 Email: joerg (a] schily.isdn.cs.tu-berlin.de, js (a] cs.tu-berlin.de
369 joerg.schilling (a] fokus.fraunhufer.de
370
371 Please mail bugs and suggestions to me.
372 README.FreeBSD
1 Important notice for ATAPI support on FreeBSD:
2
3 A long time it was not possible to decently write CD's using ATAPI drives
4 on FreeBSD because ATAPI was not supported in an orthogonal way on FreeBSD.
5
6 These days (in the mid of november 2001) first ATAPI support for FreeBSD is
7 available as patch. Please read:
8
9 http://www.freebsd.org/cgi/getmsg.cgi?fetch=136602+0+/usr/local/www/db/text/2001/freebsd-current/20011111.freebsd-current
10
11 and get the FreeBSD kernel patch from:
12
13 http://www.cuivre.fr.eu.org/~thomas/atapicam/
14
15 Thanks to Thomas Quinot <thomas (a] cuivre.fr.eu.org> for the patch.
16
17 We tested the patch with a collegue today (23.11.2001), here is the result:
18
19 - From our tests, it compiles with FreeBSD 4.x and FreeBSD current (5.0)
20 but does not boot with FreeBSD current so we used 4.x for our tests
21 I hope that Thomas Quinot <thomas (a] cuivre.fr.eu.org> and
22 Kenneth D. Merry <ken (a] kdm.org> will help to make it work with
23 FreeBSD current soon.
24
25 - The Author of the patch, Thomas Quinot <thomas (a] cuivre.fr.eu.org>, observed
26 that it runs on *some* -CURRENT machines and hangs on *some* -STABLE
27 machines so you may want to test what works best for you.
28
29 - It does not run the SCSI commands in silent mode so the ATAPI low level
30 code prints unwanted kernel messages when you start cdrecord.
31
32 - cdrecord runs without problems so far it has been tested!
33
34 You need to apply the patch, change your kernel configuration to include
35
36 options ATAPICAM
37
38 and then recompile install and boot the new kernel.
39 Make enough /dev/pass* devices and start testing.....
40
41 /*--------------------------------------------------------------------------*/
42 From shamrock (a] cypherpunks.to Mon May 3 07:35:50 1999
43 Received: from pakastelohi.cypherpunks.to (pakastelohi.cypherpunks.to [212.26.192.194])
44 by mailhub.fokus.gmd.de (8.8.8/8.8.8) with ESMTP id HAA18680
45 for <schilling (a] fokus.gmd.de>; Mon, 3 May 1999 07:35:48 +0200 (MET DST)
46 Received: from localhost (shamrock@localhost)
47 by pakastelohi.cypherpunks.to (8.9.1a/8.9.1) with SMTP id HAA26150
48 for <schilling (a] fokus.gmd.de>; Mon, 3 May 1999 07:35:44 +0200 (CEST)
49 Date: Mon, 3 May 1999 07:35:44 +0200 (CEST)
50 From: Lucky Green <shamrock (a] cypherpunks.to>
51 To: schilling (a] fokus.gmd.de
52 Subject: Re: Cdrecord "RR-scheduler not available" (fwd)
53 Message-ID: <Pine.BSF.3.96.990503073330.26028A-100000 (a] pakastelohi.cypherpunks.to>
54 MIME-Version: 1.0
55 Content-Type: TEXT/PLAIN; charset=US-ASCII
56 Status: R
57 Content-Length: 1423
58
59 Schily,
60 Please add the following info to your readme for FreeBSD. Enabling POSIX
61 scheduling as described below does in fact make the error message go away.
62
63 Thanks,
64 -- Lucky Green <shamrock (a] cypherpunks.to> PGP v5 encrypted email preferred.
65
66 ---------- Forwarded message ----------
67 Date: Sun, 2 May 1999 14:46:57 +0200 (SAT)
68 From: Khetan Gajjar <khetan (a] link.freebsd.os.org.za>
69 Reply-To: Khetan Gajjar <khetan (a] os.org.za>
70 To: Lucky Green <shamrock (a] adsl.cypherpunks.to>
71 Cc: freebsd-questions (a] FreeBSD.ORG
72 Subject: Re: Cdrecord "RR-scheduler not available"
73
74 On Sat, 1 May 1999, Lucky Green wrote:
75
76 >Having spent a week on trying to get an ATAPI CD burner working, I saw the
77 >light and purchased a SCSI-based burner. It burns, but I am getting an
78 >error about the RR-scheduler not being available. What is an RR-scheduler
79 >and how do I make it available? (If I even need it....)
80
81 Enable the Posix scheduling stuff in your kernel; you'll produce
82 more reliable burns at higher speeds if your machine is busy
83 (well, that's been my experience)
84
85 options "P1003_1B"
86 options "_KPOSIX_PRIORITY_SCHEDULING"
87 options "_KPOSIX_VERSION=199309L"
88 ---
89 Khetan Gajjar (!kg1779) * khetan (a] iafrica.com ; khetan (a] os.org.za
90 http://www.os.org.za/~khetan * Talk/Finger khetan (a] chain.freebsd.os.org.za
91 FreeBSD enthusiast * http://www2.za.freebsd.org/
92 Security-wise, NT is a OS with a "kick me" sign taped to it
93
94
95
96 README.linux-shm
1 System V IPC
2 CONFIG_SYSVIPC
3 Inter Process Communication is a suite of library functions and
4 system calls which let processes (running programs) synchronize and
5 exchange information. It is generally considered to be a good thing,
6 and some programs won't run unless you say Y here. In particular, if
7 you want to run the DOS emulator dosemu under Linux (read the
8 DOSEMU-HOWTO, available from
9 http://www.linuxdoc.org/docs.html#howto ), you'll need to say Y
10 here.
11
12 You can find documentation about IPC with "info ipc" and also in
13 section 6.4 of the Linux Programmer's Guide, available from
14 http://www.linuxdoc.org/docs.html#guide .
15
16 Shared memory is now implemented using a new (minimal) virtual file
17 system, which you need to mount before programs can use shared memory.
18 To do this automatically at system startup just add the following line
19 to your /etc/fstab:
20
21 none /var/shm shm defaults 0 0
22
23 Saying Y here enlarges your kernel by about 18 KB. Just say Y.
24
25
26 README.mkisofs
1 Cdrtools carries is the official version of mkisofs.
2
3 To compile mkisofs correctly on all supported platforms (> 30) you
4 need to use the Schily makefilesystem to get the systematic portability
5 support.
6
7 Read the file README.multi to learn how to create multi-session
8 CD-R's with this release of cdrecord and mkisofs.
9
10 Read the file README.cdplus to learn how to create CD-plus/CD-extra
11 CD-R's with this release of cdrecord and mkisofs.
12
13 You definitely need this release of mkisofs to
14 create multi-session CD-R's on SunOS/Solaris/SGI-IRIX OS/2 and Win32.
15
16 Jrg Schilling
17 README.NetBSD
1 NOTE: you should also read README.xxxBSD
2
3 Cdrecord now supports ATAPI drives on NetBSD
4
5 The sparc hostadapter driver software in NetBSD has a bug:
6
7 An internal copy of the SCSI status byte will never be updated.
8 However, this internal copy is always returned so the
9 SCSI library always believes that an error occurred.
10
11 As this implementation bug makes it impossible to sense
12 other error/exception conditions the driver needs to be fixed.
13
14 As a workaround you can activate a hack in the file scsi-bsd.c
15 by using
16
17 ./Gmake COPTX=-DBSD_SCSI_SENSE_BUG
18
19 to compile cdrecord
20
21 Jrg
22 README.next
README.OpenBSD
1 On OpenBSD releases between December 11th and December 30th 2002
2 there is a bug in /usr/include/ctype.h, it #defines EOF ignoring
3 POSIX rules. As the schily make environment relies on EOF as an
4 indicator to check whether stdio.h has been included, there may
5 be problems to compile things. If you find compile problems,
6 you may try to include
7
8 #undef EOF
9
10 directly after #include <ctype.h>
11
12 Cdrecord has been tested and known to work on OpenBSD, however,
13 the current OpenBSD port will not be able to scan the SCSI bus
14 for a CD-Recorder as it does on other operating systems.
15
16 In other words, 'cdrecord -scanbus' most likely will not work.
17
18 Both regular SCSI and ATAPI devices are supported. For ATAPI support
19 you need OpenBSD-2.6 or newer.
20
21 Libscg sends Generic scsi commands that are only supported for the
22 "whole disk" partition. For example, 'cdrecord dev=/dev/rcd0c -checkdrive'.
23 See the cd(4), atapiscsi(4), and cdrecord(1) manpages for more details.
24
25 There are at least two ways to figure out what SCSI CD devices are
26 on the machine:
27
28 From /var/run/dmesg.boot:
29 $ egrep "^cd.+ at scsibus" /var/run/dmesg.boot
30 cd0 at scsibus0 targ 0 lun 0: <SONY, CD-RW CRX175E2, S002> SCSI0 5/cdrom removable
31 cd1 at scsibus1 targ 0 lun 0: <ATAPI, CD-ROM MARY500, 1.21> SCSI0 5/cdrom removable
32
33 From sysctl:
34 $ sysctl hw.disknames
35 hw.disknames = wd0,cd0,cd1,fd0
36
37 In these examples, 'cd0' and 'cd1' are the SCSI CD devices on the
38 system, and they should be accessed by '/dev/rcd0c' and '/dev/rcd1c',
39 respectively.
40
41 In December 2002 there have been reports that the atapiscsi(4) driver has
42 some bugs that may cause cdrecord to hang for a while. While this is
43 annoying, it is harmless. The command will eventually timeout (the default
44 timeout is 40 seconds, but can be changed with timeout=%d). Trying to kill
45 the "hung" process may leave the device unusable until the system is rebooted
46 (which would be another bug of the atapiscsi(4) driver as killing a process
47 should do all necessary housekeeping for the dead process), so just be patient.
48 README.openserver
1 CDRTOOLS compiles without changes on any SCO OpenServer 5.0.4
2 or later installation having the SCO DevSys or GCC-2.95 and
3 smake-1.2a04 or later installed.
4
5 You can get pre-packaged, custom installable binaries from:
6
7 http://www.sco.com/skunkware/cdrtools
8
9 Some general notes on CDRTOOLS are available from:
10
11 http://www.sco.com/skunkware/cdrtools/SCO-NOTES.html
12
13
14 Limitations for CDRTOOLS-1.8 on SCO OpenServer 5:
15
16 1) SCO OpenServer 5.0.0 and 5.0.2 are unsupported!
17
18 2) There is only support for SCSI devices
19
20 3) There no support for AHA 154X scsi controllers
21
22 ===================================================================
23 NOTE: cdrecord now supports the -scanbus option. Therefore the
24 old addressing methods are NO LONGER AVAILABLE !!!
25 ===================================================================
26
27 As there is no real generic SCSI driver, cdrecord uses the pass through
28 ioctl of the cdrom target driver (Srom).
29
30 The correct dev= syntax on SCO Openserver 5 is:
31
32 dev=scsibus,target,lun (and scsibus is scsibus now!!!)
33
34 A sample output from cdrecord -scanbus looks like:
35
36 #cdrecord -scanbus
37 Cdrecord 1.8 (i686-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 Jrg Schilling
38 Using libscg version 'schily-0.1'
39 scsibus0:
40 0,0,0 0) 'SEAGATE ' 'ST34573LC ' '5960' Disk
41 0,1,0 1) 'SEAGATE ' 'ST34573LC ' '5960' Disk
42 0,2,0 2) 'SEAGATE ' 'ST34573LC ' '5960' Disk
43 0,3,0 3) *
44 0,4,0 4) *
45 0,5,0 5) 'PIONEER ' 'CD-ROM DR-U06S ' '1.05' Removable CD-ROM
46 0,6,0 6) 'TEAC ' 'CD-R56S ' '1.0E' Removable CD-ROM
47 0,7,0 7) *
48
49 The first column showing the triple x,y,z tells you the address to use.
50
51 As you can see the TEAC CD-R56S CD-Writer does have the following address:
52
53 dev=0,6,0
54
55 ===================================================================
56 THE OLD ADDRESSING IS NO LONGER AVAILABLE!
57
58 PLEASE ADJUST YOUR /etc/default/cdrecord FILES!
59 ===================================================================
60
61 Running cdrecord with the old address method will result in an error!
62
63 #cdrecord dev=/dev/rcd1:6,0 -inq
64 Cdrecord 1.8 (i386-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 Jrg Schilling
65 scsidev: '/dev/rcd1:6,0'
66 devname: '/dev/rcd1'
67 scsibus: 0 target: 6 lun: 0
68 cdrecord: Invalid argument. Open by 'devname' no longer supported on this OS. Cannot open SCSI driver.
69 cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
70
71
72 MAKE SURE YOU HAVE MEDIA IN YOUR CD-ROM DEVICES, SO THAT CDRECORD CAN
73 OPEN THE DEVICE FOR PASS-THROUGH ACCESS!
74
75
76 To compile cdrtools, you need 'smake' version 1.2a04 or later from:
77
78 ftp://ftp.sco.com/skunkware/osr5/vols
79
80
81 Please make sure you use smake-1.2a04 or later, cause smake-1.2 versions
82 before a04 will coredump on the compilation of cdrtools on OpenServer.
83
84
85 README.os2
1 Compiling on OS/2:
2
3 1) Install EMX
4
5 2) You need /bin/sh, /bin/rm, /bin/mv
6
7 Create a directory /bin and put /bin/sh into this directory
8 mkdir /bin
9 cp -p d:/emx/bin/sh.exe /bin
10 cp -p d:/emx/bin/rm.exe /bin
11 cp -p d:/emx/bin/mv.exe /bin
12
13
14
15
16 /*--------------------------------------------------------------------------*/
17 Note that the Joliet implementation on OS/2 is buggy:
18
19 It expects the file in the directories in the wrong order.
20 While Microsoft wants the files to be in ASCII (binary) order,
21 OS/2 likes to have the files in lexical order (uppercase and
22 lowercase together). This makes CD's with Joliet attributes
23 unreadable on OS/2 if there are files that start the same way
24 but differ in case.
25 /*--------------------------------------------------------------------------*/
26 README.QNX
1 To compile on QNX you will need smake-1.2a3 or later.
2 It looks like GNUmake has a bug that prevents a compilation
3 using GNUmake.
4 README.sgi
1 On IRIX there is a program from SGI which is called 'smake' too.
2 Be sure to call the Schily smake when compiling. The IRIX smake
3 is too dumb.
4
5 SGI apearantly has a bug in its mlock*() implementation.
6
7 This shows up as a total system freeze for approx. 60 sec at the startup of cdrecord
8 if cdrecord uses the FIFO.
9
10 It can be fixed by:
11
12 - IRIX 6.2: applying patches (see freeware.sgi.com/Installable/cdrecord-1.8.html)
13
14 - IRIX 6.5: Using 6.5.7m or above.
15
16 /*--------------------------------------------------------------------------*/
17 Note: IRIX 6.2 requires the latest rollup patches for mlockall and for
18 POSIX 1003.1b scheduling (patches 3771 and 3704 or their successors).
19 /*--------------------------------------------------------------------------*/
20
21 I am using my SCSI library, you don't need to link the program with -lds
22
23 This cdrecord distribution contains a mkisofs that runs on SGI
24 and allows you th read a filesystem from a CD-R device with 2048 bytes
25 sector size. This is done with the SCSI user level library.
26
27
28 *** Important: IRIX has problems with drives that do disconnects on the SCSI
29 after an odd number of transferred bytes. It seems that there is a patch for this
30 problem. Search google for "wd93" to find pointers.
31 README.SSPM
1 A new milestone in modular portable programming is ready!
2
3 The "Slottable Source Plugin Module" system (SSPM) is an idea that
4 really is more than 3 years old but I was hesitating to announce it
5 earlier. Now I can tell you that the new makefile system has been
6 under test during the last 6 months and nobody complained about any
7 problem caused by the SSPM.
8
9 The portability overhead is currently about 2 MB. This turns a medium
10 sized application like 'star' which is about 500 kB of pure source
11 into a packet that is 5x as big as the pure source size.
12
13 As all my applications are based on the Schily SING makefile system
14 and share a common portability base it makes sense to share the
15 advantages of the Schily makefile system with all users.
16
17 Simple ideas like the SSPM are usually hard to understand by people
18 from outside, so I try to describe the new system by giving you an
19 example on how it is used:
20
21 --------------------
22 You may test the new system by first downloading the latest
23 cdrtools package
24
25 ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-1.11a11.tar.gz
26
27 or newer. Then unpack the source tarball, chdir into the top level
28 directory of the cdrtools package. Run 'make' and wait until the
29 compilation has finished.
30
31 So far, there is nothing new (except that some people may recognize
32 that this is a 'smooth' fully integrated compilation and you don't need
33 to call 'configure'.
34
35 Now, to understand what a "Slottable Source Plugin Module" is, fetch
36 another source. There is currently only one demo source that is ready
37 for testing:
38
39 ftp://ftp.berlios.de/pub/star/alpha/star-1.4a08-sspm.tar.gz
40
41 Unpack this tarball in the top level directory of cdrtools and
42 call 'make' again. The Schily makefile system does recognize that there
43 is additional (uncompiled) source and will compile these new parts.
44 As there is no need to run 'configure' again, compilation of the
45 additional 'star' sources is much faster than the compilation of the
46 complete 'star' source package would take.
47
48 To understand how the "Slottable Source Plugin Module" system works,
49 have a look into the TARGETS directory.....
50
51 -------------------
52 README.unixware
1 CDRTOOLS compiles without changes on any UnixWare 7.0.1 or later installation
2 having the UnixWare/OpenServer DevKit (UODK) or GCC-2.95 and smake-1.2
3 installed.
4
5 You can get pre-packaged, pkgadd installable binaries from:
6
7 http://www.sco.com/skunkware/cdrtools
8
9 Some general notes on CDRTOOLS are available from:
10
11 http://www.sco.com/skunkware/cdrtools/SCO-NOTES.html
12
13
14 Limitations for CDRTOOLS-1.8 on UnixWare:
15
16 1) SCO UnixWare 2.1.X and UnixWare 7.0.0 are not supported
17 - UW2.1.X will compile/work with little changes
18 - UW7.0.0 wasn't tested at all
19
20 2) There is only support for SCSI devices
21
22 3) UnixWare 7.0.1 requires additional PTF's to enable some
23 host bus adapters to work with a logical block size of more than
24 512 bytes. (Please see the above SCO_NOTES document for details!)
25
26 ===================================================================
27 NOTE: cdrecord now supports the -scanbus option. Therefore the
28 old addressing methods are NO LONGER AVAILABLE !!!
29
30 As UnixWare 7.1.1 doesn't allow to open the passthrough
31 interface for disks, this is disabled by default.
32 cdrecord -scanbus will therefore only list devices other
33 than disks. To enable the scanning of disks, you need to
34 set an environment variable "LIBSCG_SCAN_ALL".
35
36 Be warned, doing so might lock your disk subsystem!
37 ===================================================================
38
39 The correct dev= syntax on UnixWare 7 is:
40
41 dev=scsibus,target,lun (and scsibus is scsibus now!!!)
42
43 A sample output from cdrecord -scanbus looks like:
44
45 #cdrecord -scanbus
46 Cdrecord 1.8 (i586-sco-sysv5uw7.0.1) Copyright (C) 1995-2000 Jrg Schilling
47 Using libscg version 'schily-0.1'
48 scsibus0:
49 0,0,0 0) 'SEAGATE ' 'ST34573LC ' '5960' Disk
50 0,1,0 1) 'SEAGATE ' 'ST34573LC ' '5960' Disk
51 0,2,0 2) 'SEAGATE ' 'ST34573LC ' '5960' Disk
52 0,3,0 3) *
53 0,4,0 4) *
54 0,5,0 5) 'PIONEER ' 'CD-ROM DR-U06S ' '1.05' Removable CD-ROM
55 0,6,0 6) 'TEAC ' 'CD-R56S ' '1.0E' Removable CD-ROM
56 0,7,0 7) *
57
58 The first column showing the triple x,y,z tells you the address to use.
59
60 As you can see the TEAC CD-R56S CD-Writer does have the following address:
61
62 dev=0,6,0
63
64 ===================================================================
65 THE OLD ADDRESSING IS NO LONGER AVAILABLE!
66
67 PLEASE ADJUST YOUR /etc/default/cdrecord FILES!
68 ===================================================================
69
70 Running cdrecord with the old address method will result in an error!
71
72 #cdrecord dev=/dev/rcdrom/cdrom1:6,0 -inq
73 Cdrecord 1.8 (i386-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 Jrg Schilling
74 scsidev: '/dev/rcd1:6,0'
75 devname: '/dev/rcd1'
76 scsibus: 0 target: 6 lun: 0
77 cdrecord: Invalid argument. Open by 'devname' no longer supported on this OS. Cannot open SCSI driver.
78 cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
79
80
81 To compile cdrtools, you need 'smake' from:
82
83 ftp://ftp.sco.com/skunkware/uw7/Packages
84
85
86 or 'gmake'. Smake is preferred as gmake bugs will cause bogus warnings
87 and may confuse about the state of the make run.
88
89
90 README.vms
1 This README was written by Dr. Eberhard Heuser-Hofmann
2 vaxinf (a] chclu.chemie.uni-konstanz.de
3
4 If you are looking for a *.zip file instead of the tar archive,
5 check this address:
6
7 ftp://v36.chemie.uni-konstanz.de/cdrecord_vms/
8
9 /*--------------------------------------------------------------------------*/
10 Hi,
11
12 this is the OpenVMS Version of J.Schilling's cdrecord-program.
13
14 There is a command-procedure called build_all.com in the [.cdrecord] subdir,
15 that compiles and links the code. The cdrecord-program is been produced in
16 [.cdrecord.vms] subdirectory.
17
18 Define this program as a symbol via
19
20 $ cdrecord:==$disk:[dir]cdrecord.exe
21
22 $ cdrecord -help gives an idea about the options, that are possible:
23
24 cdrecord -help
25 Usage: cdrecord.exe [options] track1...trackn
26 Options:
27 -version print version information and exit
28 dev=target SCSI target to use as CD/DVD-Recorder
29 gracetime=# set the grace time before starting to write to #.
30 timeout=# set the default SCSI command timeout to #.
31 debug=#,-d Set to # or increment misc debug level
32 kdebug=#,kd=# do Kernel debugging
33 -verbose,-v increment general verbose level by one
34 -Verbose,-V increment SCSI command transport verbose level by one
35 -silent,-s do not print status of failed SCSI commands
36 driver=name user supplied driver name, use with extreme care
37 driveropts=opt a comma separated list of driver specific options
38 -checkdrive check if a driver for the drive is present
39 -prcap print drive capabilities for MMC compliant drives
40 -inq do an inquiry for the drive and exit
41 -scanbus scan the SCSI bus and exit
42 -reset reset the SCSI bus with the cdrecorder (if possible)
43 -overburn allow to write more than the official size of a medium
44 -ignsize ignore the known size of a medium (may cause problems)
45 -useinfo use *.inf files to overwrite audio options.
46 speed=# set speed of drive
47 blank=type blank a CD-RW disc (see blank=help)
48 -load load the disk and exit (works only with tray loader)
49 -eject eject the disk after doing the work
50 -dummy do everything with laser turned off
51 -msinfo retrieve multi-session info for mkisofs >= 1.10
52 -toc retrieve and print TOC/PMA data
53 -atip retrieve and print ATIP data
54 -multi generate a TOC that allows multi session
55 In this case default track type is CD-ROM XA2
56 -fix fixate a corrupt or unfixated disk (generate a TOC)
57 -nofix do not fixate disk after writing tracks
58 -waiti wait until input is available before opening SCSI
59 -immed Try to use the SCSI IMMED flag with certain long lasting commands
60 -force force to continue on some errors to allow blanking bad disks
61 -dao Write disk in SAO mode. This option will be replaced in the future.
62 -raw Write disk in RAW mode. This option will be replaced in the future.
63 -raw96r Write disk in RAW/RAW96R mode. This option will be replaced in the future.
64 -raw96p Write disk in RAW/RAW96P mode. This option will be replaced in the future.
65 -raw16 Write disk in RAW/RAW16 mode. This option will be replaced in the future.
66 tsize=# Length of valid data in next track
67 padsize=# Amount of padding for next track
68 pregap=# Amount of pre-gap sectors before next track
69 defpregap=# Amount of pre-gap sectors for all but track #1
70 mcn=text Set the media catalog number for this CD to 'text'
71 isrc=text Set the ISRC number for the next track to 'text'
72 index=list Set the index list for the next track to 'list'
73 -text Write CD-Text from information from *.inf files
74 textfile=name Set the file with CD-Text data to 'name'
75 -audio Subsequent tracks are CD-DA audio tracks
76 -data Subsequent tracks are CD-ROM data mode 1 (default)
77 -mode2 Subsequent tracks are CD-ROM data mode 2
78 -xa1 Subsequent tracks are CD-ROM XA mode 1
79 -xa2 Subsequent tracks are CD-ROM XA mode 2
80 -cdi Subsequent tracks are CDI tracks
81 -isosize Use iso9660 file system size for next data track
82 -preemp Audio tracks are mastered with 50/15 s preemphasis
83 -nopreemp Audio tracks are mastered with no preemphasis (default)
84 -copy Audio tracks have unlimited copy permission
85 -nocopy Audio tracks may only be copied once for personal use (default)
86 -scms Audio tracks will not have any copy permission at all
87 -pad Pad data tracks with 15 zeroed sectors
88 Pad audio tracks to a multiple of 2352 bytes
89 -nopad Do not pad data tracks (default)
90 -shorttrack Subsequent tracks may be non Red Book < 4 seconds if in SAO or RAW mode
91 -noshorttrack Subsequent tracks must be >= 4 seconds
92 -swab Audio data source is byte-swapped (little-endian/Intel)
93 The type of the first track is used for the toc type.
94 Currently only form 1 tracks are supported.
95
96 One important point is how the CDR-device is being selected:
97
98 dev=i,j,k
99
100 where:
101 i: 0 1 2 3 4 5 6 7 8 9 ... 32 33
102 dka dkb dkc dkd gka gkb gkc gkd dqa dqb ... dqy dqz
103
104 j: scsi-id
105 k: sub-lun (usually 0)
106
107 As an example:
108
109 dev=1,5,2 selects dkb502:
110
111 An typical example how to put virtual disk data onto a cd-rom is given here:
112
113 $ cdrecord -speed 2 dev=0,4,0 dka200:[000000]vda0.dsk
114
115 Additional hints:
116
117 1. Due to timeout problems use -immed switch for IDE-burners under OpenVMS 7.3
118 or modify the timeout value in the dqdriver source.
119
120 2. HP has written a command procedure, that calls cdrecord. You should
121 modify this com-file to activate the cdrecord burnproof option:
122 "driveropts=burnproof".
123
124 Be aware that cdrecord has copyright on it.
125
126 Eberhard
127
128 ===============================================================================
129
130 Dr. Eberhard Heuser-Hofmann
131 Univ. Konstanz
132 Fakultaet fuer Chemie
133 Universitaets-Strasse 10
134 D-78464 Konstanz
135 Germany
136 Phone: +49-7531-88-2026, FAX: +49-7531-88-3139
137 email: vaxinf (a] chclu.chemie.uni-konstanz.de
138
139 ===============================================================================
140
141 README.xxxBSD
1 The current *BSD port will not yet be able to scan the SCSI bus
2 for a CD-Recorder as it is on other architectures.
3
4 User level SCSI seems not be be well tested on *BSD
5
6 It would be nice if the kernel hackers of all *BSD flavors could agree in
7 adding decent and useful SCSI user land transport support.
8 This would cause the following changes:
9
10 - Add a driver that is present by default and offeres an
11 easy to address interface to the /dev/ namespace.
12 - Create device file entries for this driver by default.
13 - allow to send all commands on this driver even if the main
14 driver entry is in use, At least allow:
15 INQUIRY
16 TEST_UNIT_READY
17 REQUEST_SENSE
18 to be able to scan the SCSI bus for drives.
19
20 NOTE: This changed with FreeBSD/cam cdrecord -scanbus works on FreeBSD/cam
21
22 Workaround:
23
24 If /dev/su0-0-0 ... does not exist on your system, you may try
25 to create the devices with the MAKEDEV.su script below.
26
27 If /dev/su0-0-0 ... do not work on your system, you may try
28 use dev=/dev/rcd0a:@,0 od dev=/dev/rcd0a:@
29 If the CD-Recorder is on /dev/cd0a
30
31 Read the man page for more information.
32
33 There is no way to get the device node entry from the numerical target
34 specification on *BSD. You must specify the appropriate device node name:
35 e.g. dev=/dev/cd0.ctl:6,0 together with the numerical target specification.
36 A short form is:
37
38 dev=/dev/cd0.ctl:@
39
40 But this syntax may not work on all *BSD flavours as not all *BSD flavours
41 support mapping back the target/lun numbers from a device.
42
43 In any case: read the cdrecord man page and try to find the /dev/* entry for
44 your CD-recorder that allows to be used with ioctl's.
45
46 On FreeBSD/cam, you will be able to access the CD-Recorder as on other
47 systems. If your CD-Recorder is on SCSI Bus 0, Target 2, lun 0
48 type:
49
50 cdrecord dev=0,2,0 .....
51
52 Jrg
53
54 ------------------------- MAKEDEV.su------------------
55 #!/bin/sh
56
57 #
58 # You must check which minor base is really needed for your system
59 # The su driver seems not to be well tested on *BSD
60 #
61 # If nothing else helps, create a link /dev/scgx to the right
62 # /dev/ entry (an entry that responds right with /sbin/scsi)
63 # for your needed device.
64 #
65 minorbase="536870912 + 2"
66 #minorbase="0"
67 #minorbase="0 + 2"
68 #minorbase="0 + 3"
69
70 mknod /dev/su0-0-0 c 18 `expr $minorbase + 0 '*' 8`
71 mknod /dev/su0-1-0 c 18 `expr $minorbase + 1 '*' 8`
72 mknod /dev/su0-2-0 c 18 `expr $minorbase + 2 '*' 8`
73 mknod /dev/su0-3-0 c 18 `expr $minorbase + 3 '*' 8`
74 mknod /dev/su0-4-0 c 18 `expr $minorbase + 4 '*' 8`
75 mknod /dev/su0-5-0 c 18 `expr $minorbase + 5 '*' 8`
76 mknod /dev/su0-6-0 c 18 `expr $minorbase + 6 '*' 8`
77 mknod /dev/su0-7-0 c 18 `expr $minorbase + 7 '*' 8`
78
79 mknod /dev/su1-0-0 c 18 `expr $minorbase + 1 '*' 64 + 0 '*' 8`
80 mknod /dev/su1-1-0 c 18 `expr $minorbase + 1 '*' 64 + 1 '*' 8`
81 mknod /dev/su1-2-0 c 18 `expr $minorbase + 1 '*' 64 + 2 '*' 8`
82 mknod /dev/su1-3-0 c 18 `expr $minorbase + 1 '*' 64 + 3 '*' 8`
83 mknod /dev/su1-4-0 c 18 `expr $minorbase + 1 '*' 64 + 4 '*' 8`
84 mknod /dev/su1-5-0 c 18 `expr $minorbase + 1 '*' 64 + 5 '*' 8`
85 mknod /dev/su1-6-0 c 18 `expr $minorbase + 1 '*' 64 + 6 '*' 8`
86 mknod /dev/su1-7-0 c 18 `expr $minorbase + 1 '*' 64 + 7 '*' 8`
87