README.BSDi
1It seems that some include files that are needed to compile
2e.g. the SCSI transport stuff are only present if you install
3the kernel building stuff.
4
5If you have problems to compile because some include files are
6missing, look into /sys and verify if all files are present or
7(if they are symlinks) point to present files.
8
9There is no working mapping between the SCSI bus,target,lun
10notation and device node names. To use a SCSI device, you need
11to specify dev=devname:@,lun e.g. dev=/dev/rsr0a:@,0
12
13
README.FreeBSD
1Important notice for ATAPI support on FreeBSD:
2
3A long time it was not possible to decently write CD's using ATAPI drives
4on FreeBSD because ATAPI was not supported in an orthogonal way on FreeBSD.
5
6These days (in the mid of november 2001) first ATAPI support for FreeBSD is
7available as patch. Please read:
8
9http://www.freebsd.org/cgi/getmsg.cgi?fetch=136602+0+/usr/local/www/db/text/2001/freebsd-current/20011111.freebsd-current
10
11and get the FreeBSD kernel patch from:
12
13http://www.cuivre.fr.eu.org/~thomas/atapicam/
14
15Thanks to Thomas Quinot <thomas@cuivre.fr.eu.org> for the patch.
16
17We 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@cuivre.fr.eu.org> and
22 Kenneth D. Merry <ken@kdm.org> will help to make it work with
23 FreeBSD current soon.
24
25- The Author of the patch, Thomas Quinot <thomas@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
34You need to apply the patch, change your kernel configuration to include
35
36options ATAPICAM
37
38and then recompile install and boot the new kernel.
39Make enough /dev/pass* devices and start testing.....
40
41/*--------------------------------------------------------------------------*/
42From shamrock@cypherpunks.to Mon May 3 07:35:50 1999
43Received: 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@fokus.gmd.de>; Mon, 3 May 1999 07:35:48 +0200 (MET DST)
46Received: from localhost (shamrock@localhost)
47 by pakastelohi.cypherpunks.to (8.9.1a/8.9.1) with SMTP id HAA26150
48 for <schilling@fokus.gmd.de>; Mon, 3 May 1999 07:35:44 +0200 (CEST)
49Date: Mon, 3 May 1999 07:35:44 +0200 (CEST)
50From: Lucky Green <shamrock@cypherpunks.to>
51To: schilling@fokus.gmd.de
52Subject: Re: Cdrecord "RR-scheduler not available" (fwd)
53Message-ID: <Pine.BSF.3.96.990503073330.26028A-100000@pakastelohi.cypherpunks.to>
54MIME-Version: 1.0
55Content-Type: TEXT/PLAIN; charset=US-ASCII
56Status: R
57Content-Length: 1423
58
59Schily,
60Please add the following info to your readme for FreeBSD. Enabling POSIX
61scheduling as described below does in fact make the error message go away.
62
63Thanks,
64-- Lucky Green <shamrock@cypherpunks.to> PGP v5 encrypted email preferred.
65
66---------- Forwarded message ----------
67Date: Sun, 2 May 1999 14:46:57 +0200 (SAT)
68From: Khetan Gajjar <khetan@link.freebsd.os.org.za>
69Reply-To: Khetan Gajjar <khetan@os.org.za>
70To: Lucky Green <shamrock@adsl.cypherpunks.to>
71Cc: freebsd-questions@FreeBSD.ORG
72Subject: Re: Cdrecord "RR-scheduler not available"
73
74On 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
81Enable the Posix scheduling stuff in your kernel; you'll produce
82more reliable burns at higher speeds if your machine is busy
83(well, that's been my experience)
84
85options "P1003_1B"
86options "_KPOSIX_PRIORITY_SCHEDULING"
87options "_KPOSIX_VERSION=199309L"
88---
89Khetan Gajjar (!kg1779) * khetan@iafrica.com ; khetan@os.org.za
90http://www.os.org.za/~khetan * Talk/Finger khetan@chain.freebsd.os.org.za
91FreeBSD enthusiast * http://www2.za.freebsd.org/
92Security-wise, NT is a OS with a "kick me" sign taped to it
93
94
95
96
README.NetBSD
1NOTE: you should also read README.xxxBSD
2
3Cdrecord now supports ATAPI drives on NetBSD
4
5The sparc hostadapter driver software in NetBSD has a bug:
6
7An internal copy of the SCSI status byte will never be updated.
8However, this internal copy is always returned so the
9SCSI library always believes that an error occurred.
10
11As this implementation bug makes it impossible to sense
12other error/exception conditions the driver needs to be fixed.
13
14As a workaround you can activate a hack in the file scsi-bsd.c
15by using
16
17./Gmake COPTX=-DBSD_SCSI_SENSE_BUG
18
19to compile cdrecord
20
21J�rg
22
README.OpenBSD
1On OpenBSD releases between December 11th and December 30th 2002
2there is a bug in /usr/include/ctype.h, it #defines EOF ignoring
3POSIX rules. As the schily make environment relies on EOF as an
4indicator to check whether stdio.h has been included, there may
5be problems to compile things. If you find compile problems,
6you may try to include
7
8#undef EOF
9
10directly after #include <ctype.h>
11
12Cdrecord has been tested and known to work on OpenBSD, however,
13the current OpenBSD port will not be able to scan the SCSI bus
14for a CD-Recorder as it does on other operating systems.
15
16In other words, 'cdrecord -scanbus' most likely will not work.
17
18Both regular SCSI and ATAPI devices are supported. For ATAPI support
19you need OpenBSD-2.6 or newer.
20
21Libscg sends Generic scsi commands that are only supported for the
22"whole disk" partition. For example, 'cdrecord dev=/dev/rcd0c -checkdrive'.
23See the cd(4), atapiscsi(4), and cdrecord(1) manpages for more details.
24
25There are at least two ways to figure out what SCSI CD devices are
26on 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
37In these examples, 'cd0' and 'cd1' are the SCSI CD devices on the
38system, and they should be accessed by '/dev/rcd0c' and '/dev/rcd1c',
39respectively.
40
41In December 2002 there have been reports that the atapiscsi(4) driver has
42some bugs that may cause cdrecord to hang for a while. While this is
43annoying, it is harmless. The command will eventually timeout (the default
44timeout is 40 seconds, but can be changed with timeout=%d). Trying to kill
45the "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
47should do all necessary housekeeping for the dead process), so just be patient.
48
README.QNX
1To compile on QNX you will need smake-1.2a3 or later.
2It looks like GNUmake has a bug that prevents a compilation
3using GNUmake.
4
README.aix
1You need to use GNUmake or my smake to compile on AIX
2
3Read the file README.compile before compiling.
4
5NOTE: AIX seems to have a kernel bug in the mmap() part
6 that may cause kernel panics.
7
8If you observe this kernel panic, try to add a line:
9
10COPTS += -DUSE_USGSHM
11
12to the file cdrecord/Makefile
13
14or compile the package using:
15
16make COPTX=-DUSE_USGSHM
17
18It seems that SVrx style shared memory does not have this kernel bug
19In newer AIX releases, the mmap() kernel problem seems to be fixed.
20
21If you like to create bootable CD's for AIX on the CHRP architecture:
22
23 The /usr/sbin/mkcd command starting shipping with
24 AIX 4.3.3 back in Oct 99'. It's installed by default with the system.
25 There's more info about it in /usr/lpp/bos.sysmgt/mkcd.README.html.
26
27
28NOTE: there is currently no real SCSI generic support for AIX, so
29 cdrecord -scanbus will not work.
30
31 /dev/rcd0 is mapped to dev=0,0,0
32 /dev/rcd1 is mapped to dev=0,1,0
33
README.apple
README.gmake
1Gmake compliance is included for convenience because it may
2be found on many systems and most make programs are worse
3than gmake.
4
5 ***** If you are on a platform that is not yet known by the *****
6 ***** Schily makefilesystem you cannot use GNU make. *****
7 ***** In this case, the automake features of smake are required. *****
8
9The major problem with gmake is that it does not handle the
10include directive correctly. The general rule for a make program is
11to first try to "make" any object it should look on. Gmake
12does not try to "make" any makefile it should include. One result
13is many warnings about non-existent files (which you could ignore).
14The other problem with gmake and include files is hat gmake
15includes the files in the opposite order than expected. The result is
16that dependencies may not handled correctly.
17
18If you have problems with the make file system and gmake,
19you are out of luck. Gmake has a debug option, but it gives
20tons of debug messages. Less than 1% of these debug messages are
21useful. Important things are missing in these debug messages.
22
23Gmake has bug with the VPATH= option. Some of the macros are
24not expanded correctly. I had to remove all occurrences of
25$@ $* and $^ on some places for this reason.
26
27On some platforms (e.g. OSF1), gmake is not able to correctly recognize
28the default target. If gmake complains about this, call ./Gmake all
29
30To use GNU make create a file called 'Gmake' in you search path
31that contains:
32
33#!/bin/sh
34MAKEPROG=gmake
35export MAKEPROG
36exec gmake "$@"
37
38and call 'Gmake' instead of gmake. On Linux and on Cygwin there is
39no gmake, 'make' on Linux and on Cygwin is really a gmake.
40
41'Gmake' and 'Gmake.linux' are part of this distribution.
42
43Note that makefile versions past 98/10/13 are trying to recognize
44gmake by assuming that $(MAKE_COMMAND) is only present if you
45are running gmake. So it may be worth to try to just call 'gmake'
46or even 'make' if your system uses gmake as the default make program.
47
48
README.hpux
1 I M P O R T A N T
2
3On HP-UX-11.x the maximal data size (allocated data) of a 32 bit program is
464 MB.
5
6One solution is to build a 64 bit binary, for those the default process memory
7limit is 1 GB.
8
964bit binaries can be created with
10
11 cc +DA2.0w
12 cc +DD64
13
14if you have the HP C-ANSI-C compiler.
15
16To compile in 64 bit mode, first call ./.clean then call
17
18 make COPTX=+DD64 LDOPTX=+DD64
19 make COPTX=+DD64 LDOPTX=+DD64 install
20
21
22If you have an older GNU gcc, you need a 64bit compiled gcc. Older GNU gcc versions
23are not capable of switching, so you need a separate compiler installation for either:
24
25l1:/u/usr/merijn 102 > file /usr/local/pa*/bin/gcc
26/usr/local/pa20_32/bin/gcc: PA-RISC2.0 shared executable dynamically linked -not stripped
27/usr/local/pa20_64/bin/gcc: ELF-64 executable object file - PA-RISC 2.0 (LP64)
28l1:/u/usr/merijn 103 >
29
30With a newer GCC, you may call ./.clean then call:
31
32 make COPTX=-mlp64 LDOPTX=-mlp64
33 make COPTX=-mlp64 LDOPTX=-mlp64 install
34
35
36The other way is to alter some kernel parameters which require a reboot.
37The default kernel parameter seem to look like:
38
39Kernel param. Value
40maxdsiz 67108864
41maxdsiz_64bit 1073741824
42maxfiles 200
43maxfiles_lim 2048
44maxssiz 8388608
45maxssiz_64bit 8388608
46maxswapchunks 3250
47maxtsiz 67108864
48maxtsiz_64bit 1073741824
49
50The important one is maxdsiz, 64 MB is the default and it is rather low.
51There is some information page at http://www.uwsg.iu.edu/hp/hpux-tune.html#maxdsiz
52and they recommend to increase it to 1.9 GB. Sounds extreme.
53
54At http://forums.itrc.hp.com/cm/QuestionAnswer/1,,0x08afe7613948d5118fef0090279cd0f9,00.html
55they recommend 500 MB.
56
57maxssiz shouldn't be a problem either since it has to do with swap and such as
58storing arrays and recursion etc.
59
60If you like to know how to create 64 bit binaries on Solaris, please
61read README.compile. I hope this helps. If you found the right way for HP-UX,
62please send me a mail.
63
64
65
66The Schily makefile system usually should be able to find the best C-compiler
67on HP-UX automatically. If it does not work, here is a way force to use a different
68compiler.
69
70
71You may compile with the HP ANSI C-Compiler using:
72
73 make CCOM=cc
74
75To compile with the free K&R C-compiler call:
76
77 gmake CCOM=cc 'COPTS= '
78or
79 smake CCOM=cc 'COPTS= '
80/*--------------------------------------------------------------------------*/
81
82HP-UX SCSI hints:
83
84Note that there are no device nodes for userland SCSI on HP-UX,
85you have to call the included shell script MKNOD.hpux first.
86
87If you own a HP-9000-800 series machine, you need to install
88the file MKNOD.hpux-800 in the /etc init shell script directory
89in order to call it after each boot.
90
91This script will create the files in /dev/scsi/... and /dev/rscsi/...
92The permissions will be set to read/write for root only.
93
94
95HP does not handle CD-ROMs as well as it should. On the HP have a look at
96the man pages for
97 pfs
98 pfsd
99 pfs_mount
100and anymore that they refer too.
101
102/*--------------------------------------------------------------------------*/
103
104From:
105H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
106
107As of Jun 2002, there are some patches available to HP-UX 11.00 and 11i that
108prevent the need for pfs, and these are highly recommended, since Rock-Ridge
109extensions are now supported from the kernel level.
110
111For 11.00:
112
113a5:/ 103 # swlist | grep -i rock
114 PHCO_26449 1.0 Add Rock Ridge extension to mount_cdfs(1M)
115 PHKL_26448 1.0 Y2k; Rock Ridge extension for ISO-9660
116 PHKL_26450 1.0 Rock Ridge extension for ISO-9660
117a5:/ 104 #
118
119PHKL_26448 is not recommended, but I never had any trouble with it. I still
120have to install PHKL_28060 over PHKL_26448
121
122 PHKL_28060 1.0 Y2k; Rock Ridge extension for ISO-9660
123
124For 11i:
125
126 PHKL_28025 1.0 Rock Ridge extension for ISO-9660
127 PHKL_26269 1.0 Rock Ridge extension for ISO-9660
128 PHCO_25841 1.0 Add Rock Ridge extension to mount_cdfs(1M)
129
130I don't have 11i (yet), so I got this from HP-UX' patch database.
131
132The problem is that they did /not/ enable RR by default, but made it a mount
133option. D'uh! But you can add it in /etc/fstab, and never worry again :)
134
135a5:/ 104 # grep cd /etc/fstab
136/dev/cd0 /cdrom cdfs ro,rr,noauto 0 0
137a5:/ 105 #
138
139
140
README.install
1# @(#)README.install 1.7 20/09/04 Copyright 1997-2020 J. Schilling
2
3To install makefiles, just take the tar archive makefiles.tar
4and untar it on the source root of your new project.
5
6The tar file contains:
7
8- the RULES directory with the main make rules
9- two different DEFAULT directories with predefined project settings
10- a directory containing templates for all purpose
11- a skeleton directory structure for the new project
12- some README files that will be useful for developers and users
13
14If you want to see a better example, please have a look at the "star"
15source. It may be found on:
16
17http://sourceforge.net/projects/s-tar/files/
18
19
20Have a look at the manual page, it is included in the distribution.
21Install the manual page with
22
23make install first and include /opt/schily/share/man in your MANPATH
24
25Author:
26
27Joerg Schilling
28D-13353 Berlin
29Germany
30
31Email: joerg@schily.net
32
33Please mail bugs and suggestions to me.
34
README.linux
1WARNING: Do not use 'mc' to extract the tar file!
2All mc versions before 4.0.14 cannot extract symbolic links correctly.
3
4Linux is the most self incompatible OS I know. If you have any problem,
5first carefully read this file.
6
7Linux includes the gnu make program by default but it is called 'make' on linux.
8You will definitely need the shell script Gmake.linux to use gmake
9on a linux system.
10
11Install it as /usr/bin/Gmake with:
12
13cp Gmake.linux /usr/bin/Gmake
14
15Then compile the system by calling:
16
17/usr/bin/Gmake
18or ./Gmake.linux
19
20NOTE for all Linux 2.5.x versions and all Linux versions before 2.6.8:
21
22 Linux did ship with defective kernel include files starting
23 with 2.5.x. These defective kernel include files did prevent
24 compilation. If you have problems compiling software and see
25 error messages related to include/scsi/scsi.h & include/scsi/sg.h
26 either upgrade to Linux-2.6.8 or newer or remove /usr/src/linux
27
28NOTE for all Linux versions using libc.so.6:
29
30 Libc.so.6 is definitely a big problem in binary compatibility.
31 First you should note that Linux is not a OS but only a kernel.
32
33 Creating a OS from kernel, libraries and applications is done
34 by various companies that create "Linux distributions". It seems
35 that these companies (e.g. SuSE and Red Hat) are fighting wars
36 against each other.
37
38 There is no guarantee that a binary that has been compiled
39 on one Linux distribution will run correctly on a different
40 release of the same vendor or on a distribution from a different
41 vendor. You cannot copy binaries between different Linux
42 versions, always compile the sources by yourself.
43
44 We should consider that the name libc.so.6 is burned out for
45 these incompatibility reasons. But stop: Don't be too fast.
46 The dynamic linker on Linux does not work correctly. It has
47 been derived from the SunOS 4.x linker (which worked correctly)
48 but the Linux version does not even warn if it could not
49 find a library with the right major version number. Until
50 this is fixed it makes no sense to switch to libc.so.7
51
52 See below for more information.
53
54
55NOTES for S.u.S.E distributions: If the "make" run aborts with strange messages,
56then you need to unset an environment variable called PROMPT_COMMAND
57It contains illegal values for a make file system.
58
59 I M P O R T A N T
60
61 please carefully read all notes:
62
63Newer Linux kernels (from 2.3.51) moved SVSv shared memory into a filesystem.
64If you get messages with error code EINVAL related to shared memory, you
65most likely installed a newer kernel on an old system that does not mount
66the new shared memory filesystem.
67For information on this filesystem please read README.linux-shm
68
69If you have any problems to access a device on the SCSI bus, check your
70/dev/sg devices first. Your system should either only have /dev/sga...
71or /dev/sg0... The newer Linux kernel use /dev/sg0... so the actual
72SCSI transport code checks for /dev/sg0... first. Many Linux installations
73have too few /dev/sg* device nodes. This is because of the funny device
74mapping. It may be possible that one SCSI device eats up 8 /dev/sg* entries.
75I recommend to have at least 20 /dev/sg* device nodes.
76
77In any case: first read the man page for hints how to specify the device.
78If nothing helps, first run e.g. cdrecord -scanbus. If this does not find
79your device, the problem is in your kernel or system installation.
80If scanning the bus finds the device, you are using the wrong device name.
81If nothing help try to call e.g. strace cdrecord
82
83Linux ATAPI hints:
84
85Read README.ATAPI to learn how to use ATAPI drives with the SCSI transport
86library.
87
88Linux SCSI hints:
89
90If you want to use the user SCSI library on a target that is connected
91to a SCSI hostadapter which is not the first, you need to apply a patch
92to your Linux kernel code. This patch is located in the file
93
94Linux.scsi-patch
95
96Please chdir to /usr/src, call
97patch < Linux.scsi-patch
98and re-compile and re-install your kernel.
99
100Linux kernels past 2.0.30 will probably already have this patch included.
101
102I recommend to use Linux 2.0.35 or later or Linux 2.1.115 or later.
103These versions of Linux will include ATAPI support in a way needed by cdrecord.
104Linux 2.1.115 or newer will in addition support the Parallel Port / ATAPI
105adapters found in some CD-R or CD-RW drives.
106
107IMPORTANT:
108
109- Linux driver design oddities ******************************************
110 Although cdrecord supports to use dev=/dev/sgc, it is not recommended
111 and it is unsupported.
112
113 The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc
114 in a shell script may fail after a reboot because the device you want
115 to talk to has moved to /dev/sgd. For the proper and OS independent
116 dev=<bus>,<tgt>,<lun> syntax read the man page of cdrecord.
117
118- Linux Kernel bug ******************************************************
119 In some architectures (at least on sparc / alpha / ppc) kernels prior
120 to 2.0.32 are not usable because the call to mlockall() kills cdrecord.
121
122- You configured you kernel the wrong way *******************************
123 If you get a message like:
124
125 cdrecord: Function not implemented. shmget failed
126
127 You need to look for three possible reasons:
128
129 - You are using a Linux Kernel 2.3.51 or newer.
130 Read README.linux-shm
131
132 - You removed SVSv IPC from your kernel. You need to enable it again.
133 Run a Linux kernel config and recompile with SYSv IPC.
134
135 - The allowed amount of shared memory in the kernel is
136 not sufficient. See next main point for a solution:
137
138- Linux kernel oddities *************************************************
139 You may need to edit /usr/src/linux/include/asm*/shmparam.h to allow at least
140 4 MB of shared memory for your architecture by modifying SHMMAX
141 and re-compile/re-install Linux !
142 (note that Linux for Intel by default allows 16 MB)
143
144 Do this by e.g. changing the #define for SHMMAX to:
145
146 #define SHMMAX 0x1000000 /* max shared seg size (bytes) */
147
148 This will allow 16 MB for shared memory.
149
150- Linux kernel memory management ****************************************
151 If you get the message: "Cannot allocate memory. Cannot send SCSI cmd via ioctl"
152 Your kernel/include files are inconsistent.
153
154 This seems to be the case with most actual Linux kernels!!!!!!
155
156 Make sure, that the include file /usr/src/linux/include/scsi/sg.h
157 reflects the actual kernel. Usually, the files /usr/include/scsi/sg.h
158 and /usr/src/linux/include/scsi/sg.h should be identical.
159
160 **** Never change the content of /usr/src/linux/include/scsi/sg.h without
161 properly recompiling the kernel. Cdrecord depends on the fact that
162 the value of the define SG_BIG_BUFF uses the same value as the actual
163 kernel. Use cdrecord -scanbus -debug to get the value of SG_BIG_BUFF
164 with cdrecord has been compiled. An output of:
165
166 scsi_getbuf: 32768 bytes
167
168 indicates that cdrecord has been compiled with 32k SG_BIG_BUF
169
170 The Linux 'sg' driver is the worst driver design, I've ever seen.
171
172- Linux Binary incompatibility *****************************************
173 If any of the options that take a equal sign ('=') in the middle does
174 not work correctly (e.g. dev= or if=) you are using a binary that
175 does not work correctly on your current OS distribution.
176
177 If dev=0,0,0 does not work but -dev=0,0,0 works you found this
178 incompatibility. This problem is caused by an incompatibility
179 in ctype.h and it seems that there are other compatibility problems
180 e.g. with reading /etc/default/cdrecord.
181
182 You cannot copy binaries between different Linux versions,
183 always compile the sources by yourself.
184
185 If a hint from a user is correct then even a RPM binary built for
186 RH-6.2 did not work on RH-6.2 because of these binary incompatibilities.
187
188
189Joerg
190
README.linux-shm
1System V IPC
2CONFIG_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.macosX
1February 25, 2002
2
3MacOS 10.1 driver now in the tree in libscg/scsi-mac-iokit.c.
4
5It supports:
6 * Firewire, USB, and ATAPI MMC-3 compliant burners
7 * SCSI parallel bus attached burners (requires MacOS X.1.3)
8
9It does not support:
10 * Older non MMC-3 burners
11 * CD-ROM drives/DVD-ROM drives (i.e. non-burners)
12
13Note that this is a limitation of MacOS X and not of the driver.
14See the end of the document if you're curious why.
15
16If you just want to burn ISO images, you may want to consider using Apple's
17hdiutil program, but it is not clear how standard compliant this method is.
18
19Building
20--------
21
22Note if you installed MacOS X on a HFS+ volume, make install will fail if
23there is a file called INSTALL in the directory tree because this Filesystem
24is not POSIX compliant. POSIX requires to honor character case but HFS+
25ignores the character case. If you like to use "make install" rename
26INSTALL to something else. (e.g. INSTALL.txt)
27
28
29Device Naming
30-------------
31
32You need to pass a device name on the command line to the cdrecord utility
33
34CD burners: (probably) IOCompactDiscServices
35DVD burners: (probably) IODVDServices
36
37# ./cdrecord dev=IOCompactDiscServices -toc
38
39or if you have multiple drives, you can append a number to differentiate
40
41# ./cdrecord dev=IOCompactDiscServices/2 -toc
42
43That should talk to the second CD-R on the system (NOT TESTED).
44
45Sharing nicely with the Finder
46------------------------------
47
48The MacOS 10.1 Finder will offer to burn any blank media you put into
49the burner. However, you don't want to use the Finder, you want to
50use cdrecord! So, how do you get around this problem?
51
52When you insert the media, the Finder asks "Do you want to prepare this
53disc?". Click on the "Ignore" button.
54
55The Finder will then say "No volumes found. Click Continue to continue
56without ejecting". Click on the "Continue" button.
57
58
59Common Errors
60-------------
61
62No matching device ... found:
63Make sure you typed the device names correctly. See above. Use ioreg
64-l to find if there is an IOCompactDiscServices or IODVDServices in
65the device tree.
66
67Unable to get exclusive access:
68Another programs (usually the Finder) has exclusive access to the drive.
69See "Sharing Nicely with the Finder"
70
71Unable to get plugin interface:
72The SCSI Architecture Family of drivers (supports Firewire, ATAPI, and
73USB) has a special module that allows user code like libscg to send
74SCSI commands to a device. This module is only attached, though, if
75the kernel device driver thinks the device is sufficiently interesting
76(e.g. the kernel thinks it's a burner).
77
78You can see if the module is loaded by looking for
79SCSITaskUserClientIniter in the output of ioreg -l.
80
81Why doesn't it support my SCSI device?
82--------------------------------------
83
84Apple's kernel drivers enforces the rule that application cannot send
85SCSI commands to devices for which they feel they have enough kernel
86support. This includes hard disks and CD/DVD ROMs. They make an exception
87for burners, though.
88
89There are two possible work-arounds, neither of which has been
90implemented. One is to write a kernel driver that wraps the Apple
91kernel drivers and exposes a raw SCSI interface, overriding the Apple
92kernel drivers. The other is to write a SCSI device emulator at user
93mode that translates SCSI commands into the appropriate interface
94calls to IOKit.
95
96Bugs
97----
98Send bugs to: csapuntz@stanford.edu
99
README.macosX-old-versions
1*********************************************************************************
2* *
3* WARNING *
4* *
5* This is only valid for OLD MacOS X versions *
6* This are versions _before_ MacOS X-10.1 (Darwin-1.4) *
7* *
8* *
9*********************************************************************************
10
11If uname -a does print something like:
12
13Darwin HOST 1.4 Darwin Kernel Version 1.4: Sun Sep 9 15:39:59 PDT 2001; root:xnu/xnu-201.obj~1/RELEASE_PPC Power Macintosh powerpc
14
15or a version > 1.4 then you should rather read README.macosX
16
17/*--------------------------------------------------------------------------*/
18
19Unfortunately, Apple does not deliver a consistent Mac OS-X system
20The longer they work on it, the more bugs they introduce...
21
22In addition, there is no visible 'clean' road of development.
23Release names (from 'uname') are confusing and don't help to find out what
24release they refer to.
25
26/*--------------------------------------------------------------------------*/
27 The next hint is for Mac OS X versions up to January 2000 only:
28
29The file <bsd/dev/scsireg.h> tries to include <kern/queue.h> which cannot
30be found.
31
32To be able to compile, I suggest to create a symlink:
33
34System/Library/Frameworks/System.framework/Versions/B/Headers/kern -> kernserv
35
36To do this, chdir to:
37
38System/Library/Frameworks/System.framework/Versions/B/Headers/
39
40and call
41
42ln -s kernserv kern
43
44as root.
45/*--------------------------------------------------------------------------*/
46
47
48/*--------------------------------------------------------------------------*/
49 This hint is for Mac OS X version starting ~ April 2000:
50
51Apple did remove the generic SCSI transport driver for unknown reasons!
52Cdrtools compile, but as there is no SCSI transport, you may only write
53CD's connected to other systems using the REMOTE SCSI protocol.
54/*--------------------------------------------------------------------------*/
55
56/*--------------------------------------------------------------------------*/
57 This hint is for Mac OS X versions starting around March 2001:
58
59If your compile log looks like this:
60
61 ==> MAKING "all" ON SUBCOMPONENT ".../libschily.mk"
62 ==> COMPILING "OBJ/powerpc-darwin-cc/cmpbytes.o"
63cmpbytes.c: In function `cmpbytes':
64cmpbytes.c:49: invalid operands to binary |
65make[1]: *** [OBJ/powerpc-darwin-cc/cmpbytes.o] Error 1
66make: *** [all] Error 2
67
68You are hit by the Apple developers. Some time ago they started to introduce
69a file <inttypes.h> which uses types defines in <sys/types.h>
70While the buggy types are ignored in <sys/types.h> they are used if found
71in <inttypes.h>.
72
73As a workaround, you may edit
74
75 incs/power-macintosh-darwin-cc/xconfig.h
76
77after it has been created by autoconf and make the lint containing
78HAME_INTTYPES_H this way:
79
80/* #undef HAVE_INTTYPES_H */ /* to use UNIX-98 inttypes.h */
81
82This will tell the autoconf using code to ignore the system supplied
83<inttypes.h> and use the internal version.
84
85IMPORTANT: Don't forget to tell the Apple support that MacOSX sucks until they
86fix such fundamental bugs in the system include files!
87
88In case you are interested in the full details: the reason why cdrecord
89does not compile is that MacOS X defines a type
90
91typedef int * intptr_t;
92typedef unsigned int * uintptr_t;
93
94instead of the correct:
95
96typedef long intptr_t;
97typedef unsigned long intptr_t;
98
99... a result of either Apple developers being unwilling to read or unable to
100understand simple standards written in English :-(
101
102See: http://www.opengroup.org/onlinepubs/7908799/xsh/inttypes.h.html
103
104/*--------------------------------------------------------------------------*/
105
README.mingw32
README.mkisofs
1Cdrtools carries is the official version of mkisofs.
2
3To compile mkisofs correctly on all supported platforms (> 30) you
4need to use the Schily makefilesystem to get the systematic portability
5support.
6
7Read the file README.multi to learn how to create multi-session
8CD-R's with this release of cdrecord and mkisofs.
9
10Read the file README.cdplus to learn how to create CD-plus/CD-extra
11CD-R's with this release of cdrecord and mkisofs.
12
13You definitely need this release of mkisofs to
14create multi-session CD-R's on SunOS/Solaris/SGI-IRIX OS/2 and Win32.
15
16J�rg Schilling
17
README.msdos
1# @(#)README.msdos 1.2 04/06/07 J. Schilling
2
3You cannot compile this program on DOS directly, you need a win32 environment.
4See below for more information. You need DJGPP for a compilation.
5
6The DOS/DJGPP have been made with help from
7 Alex Kopylov <reanimatolog@yandex.ru>
8
9You may like to check his Web Page: http://bootcd.narod.ru/index_e.htm too.
10
11Compilation under DJGPP is fully integrated into the Schily Makefile System,
12however you need to use 'smake' (version 1.2a20 or newer). It seems that
13GNU make and other make programs don't work.
14
15As the file names of a typical UNIX project don't fit into the DOS 8.3 naming
16scheme, you must have long names support, i.e. you must use a Windows DOS-box
17instead pure DOS
18
19To compile under DJGPP:
20
21- Unpack the following DJGPP packages into c:\djgpp directory:
22
23 ftp://ftp.delorie.com/pub/djgpp/current/v2/beta/djdev204.zip
24 ftp://ftp.delorie.com/pub/djgpp/alpha/v2gnu/bsh205bb.zip
25 ftp://ftp.delorie.com/pub/djgpp/alpha/v2gnu/gcc340b.zip
26 ftp://ftp.delorie.com/pub/djgpp/alpha/v2gnu/gpp340b.zip
27 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/bnu214b.zip
28 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/dif28b.zip
29 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/fil41b.zip
30 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/grep251b.zip
31 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gwk311b.zip
32 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gzip135b.zip
33 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/mak380b.zip
34 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/pat253b.zip
35 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/sed407b.zip
36 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/shl2011b.zip
37 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/tar112ab.zip
38 ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/txt20b.zip
39
40Note that these are the best files on 21.05.2004, things may change in future.
41
42- Set environment variables using commands:
43
44 set path=c:\djgpp\bin;%path%
45 set djgpp=c:\djgpp\djgpp.env
46
47 If you are using an smake version before 1.2a23, you also need:
48
49 set djgpp_sh=c:\djgpp\bin\sh.exe
50
51
52- Unpack the source archive using command:
53
54 tar -xpz < package-name.tar.gz
55
56 If you like to use star, you need star-1.5a36 or newer.
57 Use a command line like:
58
59 star -xpz < package-name.tar.gz
60
61- Enter 'smake' command in top level directory of the unpacked project
62 (to make 'smake' itself, use a command 'dos_make' instead).
63
64 Note that in case you don't have a 'smake' binary for DOS, you need to
65 compile one before or fetch a binary from:
66
67 http://bootcd.narod.ru/index_e.htm
68
69In order to run commands on MS-DOS that use SCSI commands, you must have an
70ASPI manager installed in your config.sys. For example:
71
72 SCSI devices:
73
74 device = aspi2dos.sys (not tested!)
75 device = aspi4dos.sys (not tested!)
76 device = aspi8dos.sys
77 device = aspi8u2.sys (not tested!)
78
79 ATAPI devices:
80
81 device = oakaspi.sys
82
83 USB devices:
84
85 device = usbaspi.sys (not tested!)
86
87The ASPI managers may be fetched from:
88
89 http://bootcd.narod.ru/index_e.htm
90
README.next
README.openserver
1CDRTOOLS compiles without changes on any SCO OpenServer 5.0.4
2or later installation having the SCO DevSys or GCC-2.95 and
3smake-1.2a04 or later installed.
4
5You can get pre-packaged, custom installable binaries from:
6
7 http://www.sco.com/skunkware/cdrtools
8
9Some general notes on CDRTOOLS are available from:
10
11 http://www.sco.com/skunkware/cdrtools/SCO-NOTES.html
12
13
14Limitations for CDRTOOLS-1.8 on SCO OpenServer 5:
15
161) SCO OpenServer 5.0.0 and 5.0.2 are unsupported!
17
182) There is only support for SCSI devices
19
203) There no support for AHA 154X scsi controllers
21
22===================================================================
23NOTE: cdrecord now supports the -scanbus option. Therefore the
24 old addressing methods are NO LONGER AVAILABLE !!!
25===================================================================
26
27As there is no real generic SCSI driver, cdrecord uses the pass through
28ioctl of the cdrom target driver (Srom).
29
30The correct dev= syntax on SCO Openserver 5 is:
31
32 dev=scsibus,target,lun (and scsibus is scsibus now!!!)
33
34A sample output from cdrecord -scanbus looks like:
35
36#cdrecord -scanbus
37Cdrecord 1.8 (i686-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 J�rg Schilling
38Using libscg version 'schily-0.1'
39scsibus0:
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
49The first column showing the triple x,y,z tells you the address to use.
50
51As 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
61Running cdrecord with the old address method will result in an error!
62
63#cdrecord dev=/dev/rcd1:6,0 -inq
64Cdrecord 1.8 (i386-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 J�rg Schilling
65scsidev: '/dev/rcd1:6,0'
66devname: '/dev/rcd1'
67scsibus: 0 target: 6 lun: 0
68cdrecord: Invalid argument. Open by 'devname' no longer supported on this OS. Cannot open SCSI driver.
69cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
70
71
72MAKE SURE YOU HAVE MEDIA IN YOUR CD-ROM DEVICES, SO THAT CDRECORD CAN
73OPEN THE DEVICE FOR PASS-THROUGH ACCESS!
74
75
76To compile cdrtools, you need 'smake' version 1.2a04 or later from:
77
78 ftp://ftp.sco.com/skunkware/osr5/vols
79
80
81Please make sure you use smake-1.2a04 or later, cause smake-1.2 versions
82before a04 will coredump on the compilation of cdrtools on OpenServer.
83
84
85
README.os2
1Compiling on OS/2:
2
31) Install EMX
4
52) 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/*--------------------------------------------------------------------------*/
17Note that the Joliet implementation on OS/2 is buggy:
18
19It expects the file in the directories in the wrong order.
20While Microsoft wants the files to be in ASCII (binary) order,
21OS/2 likes to have the files in lexical order (uppercase and
22lowercase together). This makes CD's with Joliet attributes
23unreadable on OS/2 if there are files that start the same way
24but differ in case.
25/*--------------------------------------------------------------------------*/
26
README.ppc
1If your system uses the SVr4 ABI (designed by Motorola), you will only
2be able to compile my library files lib/format.c and lib/getargs.c if your
3C-compiler supports the macro va_copy() or __va_copy() from stdarg.h.
4
5Mach/Next STep/Apple Rhapsody on ppc use a 'void *' for the type va_list
6so you don't need to make changes on these systems.
7
8Solaris/ppc (made in 1992) is the first UNIX implementation for the PPC.
9It includes the va_copy() macro that allows you to assign a C object of the
10type va_list in a system independent way.
11
12Linux/ppc uses exactly the same construct as Solaris for the type va_list.
13You will only be able to compile lib/format.c and lib/getargs.c if your
14C-compiler includes the macro va_copy() or __va_copy(). If this is not the
15case, you will need to upgrade your C-compiler first. GCC 2.8.0 and later
16includes this macro.
17
18Here is what Solaris /usr/include/sys/varargs.h looks like:
19
20/*
21 * va_copy is a Solaris extension to provide a portable way to perform
22 * a variable argument list ``bookmarking'' function.
23 */
24#if defined(__ppc)
25#define va_copy(to, from) ((to)[0] = (from)[0])
26#else
27#define va_copy(to, from) ((to) = (from))
28#endif
29
30To be able to compile my lib/format.c and lib/getargs.c on a OS
31implementation that uses an array for va_list, you will need
32this va_copy() enhancement too.
33
34The files mentioned above already compile on a PPC Apple Rhapsody system.
35But as mentioned before, Rhapsody uses a void * for va_list (maybe because
36Apple includes badly designed international printf code from BSD 4.4
37that requires va_list to be void * to work).
38
39Notice: lib/format.c allows a %r format that needs additional features
40 in stdarg.h. You need to know whether va_list is an array.
41 I hope that GCC will include some definitions in future versions
42 that allow to propagate va_list type objects from var args
43 in function calls.
44
45GCC
46===
47
48If you are not using GCC 2.8.0, you can add the following definition
49to va-ppc.h :
50
51/usr/lib/gcc-lib/*-linux-gnulibc1/2.*/include/va-ppc.h
52
53#define va_copy(to, from) ((to)[0] = (from)[0])
54
55and to all other va-*.h files:
56
57#define va_copy(to, from) ((to) = (from))
58
59Important: Check before if you don't have a GCC that is already patched.
60
61Joerg
62
63
README.sgi
1On IRIX there is a program from SGI which is called 'smake' too.
2Be sure to call the Schily smake when compiling. The IRIX smake
3is too dumb.
4
5SGI apearantly has a bug in its mlock*() implementation.
6
7This shows up as a total system freeze for approx. 60 sec at the startup of cdrecord
8if cdrecord uses the FIFO.
9
10It 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/*--------------------------------------------------------------------------*/
17Note: 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
21I am using my SCSI library, you don't need to link the program with -lds
22
23This cdrecord distribution contains a mkisofs that runs on SGI
24and allows you th read a filesystem from a CD-R device with 2048 bytes
25sector 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
29after an odd number of transferred bytes. It seems that there is a patch for this
30problem. Search google for "wd93" to find pointers.
31
README.solaris
1Never compile anything in a locale other than "C" unless you are sure
2that your C-compiler and the program 'nm' has been patched.
3This is not needed with Solaris 2.6 or later and with the Workshop 5.0
4compiler or later.
5
6Even if you are a recent Solaris version, use locale "C" in case of problems.
7
8To ensure that locale "C"' is set, do
9
10setenv LC_ALL C
11
12in csh
13or
14
15LC_ALL=C
16export LC_ALL
17in sh
18
19before running make. Or simply call
20
21env LC_ALL=C make
22
23The reason:
24
251) On Solaris before 2.5.1 'nm' dumps core in any other locale.
26 For that reason lorder will not work.
27 *** no patch available **** but fixed on Solaris 2.5.1
28 according to Sun
29
302) The SunPro C-compiler will not convert floating
31 point numbers correctly if e.g. in "de" locale (Germany)
32 1.3 will be interpreted as 1.0!!!!
33 *** patch available ***
34
353) /usr/xpg4/bin/tr does not work correctly if locale is not "C"
36 Try:
37 echo ABC | env LC_ALL=de /usr/xpg4/bin/tr 'A-Z' 'a-z'
38
39 it prints:
40
41 BCD
42
43
44
45If you want to do compilations on Solaris, it is best not have /usr/ucb
46in your PATH. If you want to have /usr/ucb in the PATH it must be the last
47entry. You also should put /usr/ccs/bin/ before /usr/xpg4/bin/ in the PATH
48to make sure that /usr/ccs/bin/make is used and not /usr/xpg4/bin/make.
49
50To be able to use 'make' 'as' and 'ld' you need to make sure that
51/usr/ccs/bin is in your path.
52
53Avoid /usr/ucb and /usr/xpg4/bin in your PATH if you have problems.
54
55Make sure - even if you use GCC - you don't use GNU as, GNU ld
56and GNU tsort/lorder.
57
58For CD-Recording please read the README.volmgt too.
59
60On Solaris you need to stop the volume management if you like to use the USCSI
61fallback SCSI transport code. Even things like cdrecord -scanbus
62will not work if the volume management is running.
63
64If you run Solaris 7 FCS, install patch 107465-02 to fix a read ahead bug in the
65hsfs code.
66
67If you have problems with 12 byte SCSI commands on Solaris (mainly x86) get
68Patch 108779-01
69
70If you have problems with ISO-9660 partitions > 4 GB where Solaris wraps to
71offset mod 4 GB when reading from the FS install patch 113277-04.
72
73
74 IMPORTANT information for Solaris x86
75
76If have no DMA, you will get problems with buffer underruns and may never use
77the maximum write speed of current CD/DVD drives.
78
79For more information, read README.solaris-x86-ata-DMA and README.solaris-x86-ATAPI-DMA
80and take care that the locations for patching may change in future versions.
81
82
83
README.sunos
1It seems that at there is a structure alignment problem
2with the structure scsi_cmd at least with gcc.
3
4If you get a message: 'XXX
5
6If you want to run cdrecord on SunOS 4.x on a sparc system
7please make sure that you are using the old Sun cc
8by typing:
9
10 make CCOM=cc
11
12
README.unixware
1CDRTOOLS compiles without changes on any UnixWare 7.0.1 or later installation
2having the UnixWare/OpenServer DevKit (UODK) or GCC-2.95 and smake-1.2
3installed.
4
5You can get pre-packaged, pkgadd installable binaries from:
6
7 http://www.sco.com/skunkware/cdrtools
8
9Some general notes on CDRTOOLS are available from:
10
11 http://www.sco.com/skunkware/cdrtools/SCO-NOTES.html
12
13
14Limitations for CDRTOOLS-1.8 on UnixWare:
15
161) 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
202) There is only support for SCSI devices
21
223) 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===================================================================
27NOTE: 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
39The correct dev= syntax on UnixWare 7 is:
40
41 dev=scsibus,target,lun (and scsibus is scsibus now!!!)
42
43A sample output from cdrecord -scanbus looks like:
44
45#cdrecord -scanbus
46Cdrecord 1.8 (i586-sco-sysv5uw7.0.1) Copyright (C) 1995-2000 J�rg Schilling
47Using libscg version 'schily-0.1'
48scsibus0:
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
58The first column showing the triple x,y,z tells you the address to use.
59
60As 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
70Running cdrecord with the old address method will result in an error!
71
72#cdrecord dev=/dev/rcdrom/cdrom1:6,0 -inq
73Cdrecord 1.8 (i386-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 J�rg Schilling
74scsidev: '/dev/rcd1:6,0'
75devname: '/dev/rcd1'
76scsibus: 0 target: 6 lun: 0
77cdrecord: Invalid argument. Open by 'devname' no longer supported on this OS. Cannot open SCSI driver.
78cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
79
80
81To compile cdrtools, you need 'smake' from:
82
83 ftp://ftp.sco.com/skunkware/uw7/Packages
84
85
86or 'gmake'. Smake is preferred as gmake bugs will cause bogus warnings
87and may confuse about the state of the make run.
88
89
90
README.vms
1This README was written by Dr. Eberhard Heuser-Hofmann
2 vaxinf@chclu.chemie.uni-konstanz.de
3
4If you are looking for a *.zip file instead of the tar archive,
5check this address:
6
7ftp://v36.chemie.uni-konstanz.de/cdrecord_vms/
8
9/*--------------------------------------------------------------------------*/
10Hi,
11
12this is the OpenVMS Version of J.Schilling's cdrecord-program.
13
14There is a command-procedure called build_all.com in the [.cdrecord] subdir,
15that compiles and links the code. The cdrecord-program is been produced in
16[.cdrecord.vms] subdirectory.
17
18Define 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
24cdrecord -help
25Usage: cdrecord.exe [options] track1...trackn
26Options:
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)
93The type of the first track is used for the toc type.
94Currently only form 1 tracks are supported.
95
96One important point is how the CDR-device is being selected:
97
98dev=i,j,k
99
100where:
101i: 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
104j: scsi-id
105k: sub-lun (usually 0)
106
107As an example:
108
109dev=1,5,2 selects dkb502:
110
111An 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
115Additional hints:
116
1171. 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
1202. 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
124Be aware that cdrecord has copyright on it.
125
126Eberhard
127
128===============================================================================
129
130Dr. Eberhard Heuser-Hofmann
131Univ. Konstanz
132Fakultaet fuer Chemie
133Universitaets-Strasse 10
134D-78464 Konstanz
135Germany
136Phone: +49-7531-88-2026, FAX: +49-7531-88-3139
137email: vaxinf@chclu.chemie.uni-konstanz.de
138
139===============================================================================
140
141
README.win32
1# @(#)README.win32 1.10 14/12/07 Copyright 2000-2014 J. Schilling
2
3cdrecord-1.8a22 or later can be compiled on Win9X/NT4 using Cygnus' cygwin
4which is freely available from:
5
6 http://sourceware.cygnus.com/cygwin/
7or
8 http://sources.redhat.com/cygwin/
9
10To compile on Cygwin, get Cygwin by executing setup.exe
11
12You will need approx. 120 MB to install a full cygwin developer release.
13
14Get the tar'ed cdrtools source and unpack it with 'gnutar' or 'star',
15
16e.g. Start a bash command line window and type:
17
18 star -xpz < cdrtools-3.01.tar.gz
19
20 don't use winzip to unpack the tar archive, it will not
21 unpack symlinks correctly.
22
23Then (from the bash command line window) run 'make' ...
24
25If you have problems with GNU make, get 'smake' from:
26
27 http://sourceforge.net/projects/s-make/files/alpha/
28
29/*--------------------------------------------------------------------------*/
30A bash window is available from the START -> Programs -> Cygnus Solutions
31menu or by clicking at the Cygwin Logo on the desktop.
32/*--------------------------------------------------------------------------*/
33Pre-compiled current 'cdrtools' Win32 binaries which should run on
34W95, W98 and WNT are available from:
35
36 http://sourceforge.net/projects/cdrtools/files/alpha/win32
37
38To use the pre-compiled binary, put the files cygwin1.dll, mount.exe as well
39as the files:
40
41cdrecord.exe - The CD recording program
42cdda2wav.exe - The DAE (Digital Audio Extraction) program
43mkisofs.exe - The ISO-9660/Rock Ridge/Joliet Filesystem formatter
44readcd.exe - A simple program to extract CD-ROM raw data to a file
45
46in your WINDOWS binary directory and from a Command/MS-DOS (or bash) window
47type:
48 cdrecord -help
49
50for usage, see also:
51
52 http://cdrecord.org/
53
54All programs in this directory are Unix command line utilities and know
55nothing about DOS/WIN. They run in a POSIX subsystem that is supplied by
56cygwin1.dll. Therefore all directory names are given in Unix (POSIX) format
57(i.e. use '/' for a directory separator, not '\'). To access files on another
58disks (i.e. floppy, CDROM and network disk), you need to use the supplied "mount"
59command e.g.
60
61 mount a: /a
62 mount d: /cdrom
63
64i.e. files on the floppy disk are accessed as being in directory /a and
65files on the CDROM are accessed as /cdrom (assuming your CDROM is drive d:)
66
67Yu may also use the new /cygpath notation by typing /cygpath/a for
68your local floppy.
69
70The notation //a/dir as a replacement for the DOS directory name a:\dir
71may not work in future releases of Cygwin.
72
73The following command creates a CD image in the current directory
74using a source directories on the CDROM drive, a sub-directory and the
75floppy drive:
76
77 mkisofs -o hsfs.iso -J -R /cdrom/subdir dir1 /a
78
79If you use the options noted above, the hsfs.iso image is ISO-9660
80compliant and includes both Rock Ridge (IEEE P1282) and
81Joliet (Microsoft proprietary) extensions.
82
83If your CD writer is on target 6, type
84
85 cdrecord dev=6,0 -v speed=4 hsfs.iso
86
87to write the image at speed 4 in TAO mode, or
88
89 cdrecord dev=6,0 -v speed=4 -dao hsfs.iso
90
91to write the image in DAO mode.
92
93If you don't like to create the image file 'hsfs.iso' you may use a PIPE
94to connect mkisofs's output to cdrecord's input by calling:
95
96 mkisofs -J -R /cdrom/subdir dir1 /a | cdrecord dev=6,0 -v speed=4 -
97
98IMPORTANT NOTE: If you use PIPE's on Win32, you definitely need a POSIX
99 compliant shell to start the programs. Native Win32 PIPE's
100 are not POSIX compliant and will not work with POSIX compliant
101 programs.
102
103/*--------------------------------------------------------------------------*/
104If you don't know which target your CD-writer is, call
105
106 cdrecord -scanbus
107
108This gives output similar to:
109
110Cdrecord-ProDVD sparc-sun-solaris2.4 release 1.8a39 Copyright (C) 1995-2000 J�rg Schilling
111Using libscg version 'schily-0.1'
112scsibus0:
113 0,0,0 0) 'Quantum ' 'XP34300 ' 'F76D' Disk
114 0,1,0 1) 'SEAGATE ' 'ST11200N ' '8334' Disk
115 0,2,0 2) *
116 0,3,0 3) 'TOSHIBA ' 'MK537FB/ ' '6258' Disk
117 0,4,0 4) 'WANGTEK ' '5150ES SCSI-36 ' 'ESB6' Removable Tape
118 0,5,0 5) 'EXABYTE ' 'EXB-8500-85QUE ' '0428' Removable Tape
119 0,6,0 6) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
120 0,7,0 7) HOST ADAPTOR
121scsibus1:
122 1,0,0 100) 'IBM ' 'DCAS-34330 ' 'S65A' Disk
123 1,1,0 101) *
124 1,2,0 102) *
125 1,3,0 103) *
126 1,4,0 104) 'PLEXTOR ' 'CD-R PX-W8220T' '1.00' Removable CD-ROM
127 1,5,0 105) 'YAMAHA ' 'CRW4416S ' '1.0f' Removable CD-ROM
128 1,6,0 106) *
129 1,7,0 107) HOST ADAPTOR
130
131The numbers on the labels are SCSIbus# * 100 + target#
132
133You then call cdrecord dev=bus#,target#,0
134
135If you e.g. like to talk to the Yamaha drive from the list above, you need to
136call:
137
138 cdrecord dev=1,5,0 ......
139
140/*--------------------------------------------------------------------------*/
141
142 NOTE
143
144If "cdrecord -scanbus" dumps core (dies from program fault), you have
145a broken ASPI driver on your PC.
146
147If you cannot see your drive(s), the following registry changes should make
148them visible:
149
150 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Aspi32]
151 "ErrorControl"=dword:00000001
152 "Start"=dword:00000001
153 "Type"=dword:00000001
154
155 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Aspi32\Parameters]
156 "ExcludeMiniports"=""
157
158
159If you like to use the tools with SCSI or ATAPI, you need a working
160ASPI32 driver and dll on your system. If you don't have it already,
161look for 'aspi_me'. You need to set you clock back to a time before
162Jan 1st 1999 to be able to install it. Note that 'aspi_me' contains
163original Adaptec drivers and is banned from most ftp servers for this
164reason.
165
166If you do not have superuser permission which would allow you to use
167the SPTI SCSI interface that is similar to a UNIX ioctl interface,
168you need a special ASPI driver version on NT-5.0 (Win2000)
169
170You may get one by searching for:
171
172 wnaspi32.dll
173
174
175/*--------------------------------------------------------------------------*/
176
177 IMPORTANT
178
179In order to avoid damaging CD blanks because Win is trying to access
180the drive while cdrecord writes to it, you definitely should edit
181your registry and set the value of
182
183HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\Autorun
184
185to '0'.
186
187The Registry entry noted above is valid for WNT, I don't know
188if you need to do this for W95 or W98, nor do I know the
189correct Registry entry for these systems.
190
191/*--------------------------------------------------------------------------*/
192
193 For binary only users:
194
195Error messages and help output is directed to stderr. Win32 command
196interpreters don't know about stderr. I recommend to install bash.exe
197because it is a POSIX compliant shell and allow working PIPE's and
198it also gives you a command line history that may be edited using
199cursor commands.
200
201Otherwise you may want to install the Cygwin light version which
202only includes the user commands.
203
README.xxxBSD
1The current *BSD port will not yet be able to scan the SCSI bus
2for a CD-Recorder as it is on other architectures.
3
4User level SCSI seems not be be well tested on *BSD
5
6It would be nice if the kernel hackers of all *BSD flavors could agree in
7adding decent and useful SCSI user land transport support.
8This 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
20NOTE: This changed with FreeBSD/cam cdrecord -scanbus works on FreeBSD/cam
21
22Workaround:
23
24If /dev/su0-0-0 ... does not exist on your system, you may try
25to create the devices with the MAKEDEV.su script below.
26
27If /dev/su0-0-0 ... do not work on your system, you may try
28use dev=/dev/rcd0a:@,0 od dev=/dev/rcd0a:@
29If the CD-Recorder is on /dev/cd0a
30
31Read the man page for more information.
32
33There is no way to get the device node entry from the numerical target
34specification on *BSD. You must specify the appropriate device node name:
35e.g. dev=/dev/cd0.ctl:6,0 together with the numerical target specification.
36A short form is:
37
38 dev=/dev/cd0.ctl:@
39
40But this syntax may not work on all *BSD flavours as not all *BSD flavours
41support mapping back the target/lun numbers from a device.
42
43In any case: read the cdrecord man page and try to find the /dev/* entry for
44your CD-recorder that allows to be used with ioctl's.
45
46On FreeBSD/cam, you will be able to access the CD-Recorder as on other
47systems. If your CD-Recorder is on SCSI Bus 0, Target 2, lun 0
48type:
49
50cdrecord dev=0,2,0 .....
51
52J�rg
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#
65minorbase="536870912 + 2"
66#minorbase="0"
67#minorbase="0 + 2"
68#minorbase="0 + 3"
69
70mknod /dev/su0-0-0 c 18 `expr $minorbase + 0 '*' 8`
71mknod /dev/su0-1-0 c 18 `expr $minorbase + 1 '*' 8`
72mknod /dev/su0-2-0 c 18 `expr $minorbase + 2 '*' 8`
73mknod /dev/su0-3-0 c 18 `expr $minorbase + 3 '*' 8`
74mknod /dev/su0-4-0 c 18 `expr $minorbase + 4 '*' 8`
75mknod /dev/su0-5-0 c 18 `expr $minorbase + 5 '*' 8`
76mknod /dev/su0-6-0 c 18 `expr $minorbase + 6 '*' 8`
77mknod /dev/su0-7-0 c 18 `expr $minorbase + 7 '*' 8`
78
79mknod /dev/su1-0-0 c 18 `expr $minorbase + 1 '*' 64 + 0 '*' 8`
80mknod /dev/su1-1-0 c 18 `expr $minorbase + 1 '*' 64 + 1 '*' 8`
81mknod /dev/su1-2-0 c 18 `expr $minorbase + 1 '*' 64 + 2 '*' 8`
82mknod /dev/su1-3-0 c 18 `expr $minorbase + 1 '*' 64 + 3 '*' 8`
83mknod /dev/su1-4-0 c 18 `expr $minorbase + 1 '*' 64 + 4 '*' 8`
84mknod /dev/su1-5-0 c 18 `expr $minorbase + 1 '*' 64 + 5 '*' 8`
85mknod /dev/su1-6-0 c 18 `expr $minorbase + 1 '*' 64 + 6 '*' 8`
86mknod /dev/su1-7-0 c 18 `expr $minorbase + 1 '*' 64 + 7 '*' 8`
87