I have CDrecord installed and that works OK for burning CDs.
I'd been using a Win98 box and Nero for DVD burning, but that box
recently died and I don't know that I want to fix it.
Al S.
Al Savage schrieb:
> I've an IDE DVD burner installed, but what software do I use to actually
> burn a DVD with it?
>
> I have CDrecord installed and that works OK for burning CDs.
Maybe older versions of cdrecord can only burn CDRs.
> I'd been using a Win98 box and Nero for DVD burning, but that box
> recently died and I don't know that I want to fix it.
The latest cdrecord that supports writing DVD is available here:
<http://froloff.homeip.net/zips/cdrtools-2.01.01a37-os2-bin.zip>
Some scripts:
<http://froloff.homeip.net/zips/cdrtools-scripts.zip>
--
Andreas
For audio/video you can use RSJ or cd/dvdrecord. Thought RSJ (os2dasd?) do not
support video files greater 2GB at least on DVD-RAM. I'm pretty sure dvdrecord
can not support it too. But luckily usual video files (.vob) are well below 2GB.
Think this is required by standars. But there are DVD-recorders which generate
(not standard conform?) files >2GB. I've not found a way to copy such DVDs with
eCS although these are legal self made videos.
Regards,
Andi
Here are the procedures I use:
Create iso image and burn video dvd:
Here, t:\dvd is the directory containing the AUDIO.TS and VIDEO.TS
directories. AUDIO.TS is empty and can in fact be deleted; VIDEO.TS
contains the various .IFO, .BUP, and .VOB files making up the DVD's content.
videodvd.cmd
erase u:\image.iso
cd \cdrecord\cdrtools2-2.01.01a04
mkisofs2 -o u:\image.iso -dvd-video t:\dvd
cd \dvddao
dvddao -s 4 -e -n --lock i -d 0,1,0 u:\image.iso
Create isoimage and burn data dvd:
Here source tree is the path to the directory that is to become the root
directory of the iso filesystem; its name is irrelevant since it never
appears in the iso image.
datadvd.cmd sourcetree vollabel imagedrive
erase %3:\image.iso
cd \cdrecord\cdrtools2-2.01.01a04
The next two lines must be all on one line:
mkisofs2 -V %2 -iso-level 3 -allow-lowercase -allow-multidot -o
%3:\image.iso %1
cd \dvddao
dvddao -s 4 -e -n --lock i -d 0,1,0 %3:\image.iso
Copy dvd iso image to hard drive:
dvdtohd imagedrive
erase %1:\image.iso
dvddao -e -d file:%1:\image.iso scsi:0,1,0
Copy iso image from hard drive to dvd
hdtodvd imagedrive
dvddao -s 4 -e -n --lock i -d 0,1,0 %1:\image.iso
As to media, I have never been able to get reliable results burning
dvd's at greater than 4x with any brand of media. At 4x I have near 100%
success with Maxell and TDK. I have problems with Memorex and haven't
used other brands enough to have an opinion. I have never had usable
results with any bargain basement media. YMMV.
ATM, I'm trying to copy one 4.7GiB video DVD that I created a couple of
years ago using Nero on Win, to new 4.7GiB DVD media.
> mkisofs2 -o u:\image.iso -dvd-video t:\dvd
Due to having only HPFS (2GiB filesize limit), I had to add
"-split-output".
> [D:\cdrecord]d:\cdrecord\mkisofs -split-output -dvd-video -o L:\temp\GULP.iso g: \GULP
> dvddao -s 4 -e -n --lock i -d 0,1,0 u:\image.iso
I had to modify a couple of things.
To use ASPIROUT.SYS, I had to add
--aspidriver aspirou$
I had to use a wildcard source specifier, to have dvddao reassemble the
files created by -split-output
> [D:\cdrecord]dvddao --aspidriver aspirou$ -s 4 -e -n --lock t -d 2,1,0 l:\temp\*
Again, Thanks.
> Due to having only HPFS (2GiB filesize limit), I had to add
> "-split-output".
>
True. I urge you to switch to JFS at your earliest opportunity. You won't
regret it. If you have eCS, you can even make your boot drive JFS. You can
convert without reinstalling. Once everything is JFS the system boots faster
and runs faster. If you can, get three or four spindles. 500GB drives are well
under $100 and 1TB drives are under 200. Every processing operation I do
always has the input and output on separate spindles. This increases
throughput significantly.
>> [D:\cdrecord]d:\cdrecord\mkisofs -split-output -dvd-video -o L:\temp\GULP.iso g: \GULP
>
>> dvddao -s 4 -e -n --lock i -d 0,1,0 u:\image.iso
>
> I had to modify a couple of things.
>
> To use ASPIROUT.SYS, I had to add
> --aspidriver aspirou$
Any reason for not loading aspinkk as well? The two can coexist without problems.
cdrecord also supports DVD and BluRay writing.
ftp://ftp.berlios.de/pub/cdrecord/alpha/
Cdrecord introduced DVD writing in February 1998 - 11 years ago.
The related code was made OpenSource 3 years ago.
You seem to use an extremely outdated version of cdrecord.
--
EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
j...@cs.tu-berlin.de (uni)
schi...@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
No need to (unless you have a very old computer; mine is close to
9years old). Just remove -o FILENAME, and pipe to dvddao.
>> dvddao -s 4 -e -n --lock i -d 0,1,0 u:\image.iso
>
> I had to modify a couple of things.
>
> To use ASPIROUT.SYS, I had to add
> --aspidriver aspirou$
Remove the source specifier as well for piping. You may want to
`nice' mkisofs higher; with my version of `nice', the syntax is
nice -t -n -29 mkisofs .....
(it is timecritical, with slot 1 less than dvddao itself).
Hope this helps,
Ilya
Do not know what you are talking about. The last 1.5GB drive I bought
was $104 (free delivery - came in 36hours).
> Any reason for not loading aspinkk as well? The two can coexist without problems.
I did not. The less driver, the less the chance of the problems
(unless aspinkk is much less buggy; I have no idea...).
Yours,
Ilya
Cdrecord supports to write DVDs since February 1998.
The related code parts became OpenSource on May 15th 2006.
>> I'd been using a Win98 box and Nero for DVD burning, but that box
>> recently died and I don't know that I want to fix it.
>
>The latest cdrecord that supports writing DVD is available here:
><http://froloff.homeip.net/zips/cdrtools-2.01.01a37-os2-bin.zip>
a37 is from January 2008 and since then, a lot of bug fixes happened.
It makes sense top upgrade to a newer version. As since then, there have also
been some code restructurings, it makes sense to check whether it still
compiles. I expect a new "stable" release soon.
smake-1.2a41 fails detecting __int64,
From configure,
...
checking size of unsigned long long...
checking size of unsigned __int64... 0
checking size of unsigned char *...
...
From config.log
...
configure:3817: checking for type long long
configure:3829: gcc -c conftest.c 1>&5
configure:3849: checking for type __int64
configure:3861: gcc -c conftest.c 1>&5
configure: In function 'main':
configure:3857: error: '__int64' undeclared (first use in this function)
configure:3857: error: (Each undeclared identifier is reported only once
configure:3857: error: for each function it appears in.)
configure:3857: error: expected ';' before 'i'
configure: failed program was:
#line 3854 "configure"
#include "confdefs.h"
int main() {
__int64 i;
; return 0; }
configure:3881: checking for prototypes
...
Resulting in
...
+ gcc -O -c -Iinclude -I. -DSCHILY_BUILD -DSCHILY_PRINT
-DNO_FLOATINGPOINT -DNO_SCANSTACK -DNO_USG_STDIO make.c
make.c:1920:18: error: operator '>' has no left operand
...
gcc: make.o: No such file or directory
make: *** [all] Error 1
Dave
Attempting to compile cdrtools-2.01.01a58-pre dies here,
==> COMPILING "format.o"
format.c:327:19: error: operator '==' has no left operand
format.c:331:19: error: operator '==' has no left operand
format.c:335:19: error: operator '==' has no left operand
format.c: In function 'format':
format.c:339: error: expected ';' before 'sizeof'
format.c:346:22: error: operator '==' has no left operand
format.c:350:22: error: operator '==' has no left operand
format.c:354:22: error: operator '==' has no left operand
format.c:358: error: expected ';' before 'sizeof'
format.c:314: error: label 'getmode' used but not defined
smake: Operation not permitted. *** Code 1 from command line for target
'format.o'.
smake: Couldn't make 'all'.
smake: Leaving 'smake'[2] from directory
'I:/usr/src/cdrtools-2.01.01/libschily'
smake: Default commandline target: 'all'
Dave
> You seem to use an extremely outdated version of cdrecord.
I mis-spoke. I meant to refer to "ADC", not "cdrecord".
Dave, since you do a lot of this sort of thing, can you estimate if this
is something that can be fixed?
Al S.
Sure, these are problems with the build system. I think for some reason
it is not figuring out the size (in bytes) of various types. If nothing
else they can be filled in by hand.
It is also not finding some DOS* functions which is probably leading
underscore problems.
What else I'm not sure. Since we have the Author's attention hopefully
these problems can be fixed.
Dave
>smake-1.2a41 fails detecting __int64,
> From configure,
>...
>checking size of unsigned long long...
>checking size of unsigned __int64... 0
>checking size of unsigned char *...
>...
> From config.log
>...
>configure:3817: checking for type long long
>configure:3829: gcc -c conftest.c 1>&5
>configure:3849: checking for type __int64
>configure:3861: gcc -c conftest.c 1>&5
>configure: In function 'main':
>configure:3857: error: '__int64' undeclared (first use in this function)
>configure:3857: error: (Each undeclared identifier is reported only once
>configure:3857: error: for each function it appears in.)
>configure:3857: error: expected ';' before 'i'
>configure: failed program was:
>#line 3854 "configure"
>#include "confdefs.h"
The test for __int64 is _expected_ to fail on all platforms
but Win32/Microsoft C
The most well known problem on OS2 is GNU make.
GNU make mas many bugs on platforms that use <CR><LF> as
line delimiter and on platforms that use '\\' as file name delimiter.
If you don't have smake, I recommend you to download the complete
schily source sonsolidation from:
ftp://ftp.berlios.de/pub/schily/
it automatically compiles smake first before continuing with the rest.
If you have problems to get a correct value for SIZEOF_SIZE_T,
there must be a problem in the system include include files that
needs a workaround.
I have a OS/2 installation somewhere on an old machine.
If you cannot fix this by your own, could you provide me with a
HDD image that I can use on VirtualBox?
As the basic framework is aware of portability, it should be no big deal
to find the reason and to indroduce a fix.
I do have an older version of smake which was failing exactly the same.
Our port of GNU make is also much better then in the past.
Anyways the problem seems to have been in my environment which after
cleaning up and trying schily-dist-preliminary-6.tar.bz2 smake is built
fine and eventually run into problems with cdrtools, see my other reply.
Daveschily-dist-preliminary-6.tar.gzschily-dist-preliminary-6.tar.gz
Seems to have been a problem with my environment. Now I'm getting much
further.
Configure fails to detect DosSetPriority and DosAllocSharedMem. The fix
would be to define INCL_DOSMEMMGR for DosAllocSharedMem and define
INCL_DOSPROCESS for DosSetPriority then in both cases include <os2.h>.
Really I think that these checks should just be dropped and take it for
granted that these functions are available.
I needed this patch to get anywhere, I'm surprised that it worked on EMX
in the past as usually we need to include os2.h after some defines
diff -ru cdrtools-2.01.01.orig/libscg/scsi-os2.c
cdrtools-2.01.01/libscg/scsi-os2.c
--- cdrtools-2.01.01.orig/libscg/scsi-os2.c Sun Nov 26 09:12:56 2006
+++ cdrtools-2.01.01/libscg/scsi-os2.c Sat Feb 21 22:28:44 2009
@@ -44,6 +44,14 @@
/*#define DEBUG*/
/* For AspiRouter */
+
+#define INCL_DOSMEMMGR
+#define INCL_DOSDEVICES
+#define INCL_DOSDEVIOCTL
+#define INCL_DOSFILEMGR
+#define INCL_DOSSEMAPHORES
+#include <os2.h>
+
#include "scg/srb_os2.h"
/*
@@ -63,15 +71,6 @@
#define PAG_READ 0x0001
#define PAG_WRITE 0x0002
#define PAG_COMMIT 0x0010
-
-typedef unsigned long LHANDLE;
-typedef unsigned long ULONG;
-typedef unsigned char *PSZ;
-typedef unsigned short USHORT;
-typedef unsigned char UCHAR;
-
-typedef LHANDLE HFILE;
-typedef ULONG HEV;
#define MAX_SCG 16 /* Max # of SCSI controllers */
#define MAX_TGT 16
With this patch and commenting out the BOOL typedef in os2emx.h
(unsigned long) cdrtools compiles fine on EMX and excepting cdda2wav
mostly fine on klibc. I'm getting this weird error with klibc,
I:\usr\src\cdrtools-2.01.01\cdda2wav >smake
==> CONFIGURING LOCAL RULES "OBJ/i386-os2-gcc/local.cnf"
loading cache ./config.cache
configure: error: can not run ../../config.sub
smake: Operation not permitted. *** Code 1 from command line for target
'OBJ/i386-os2-gcc/local.cnf'.
smake: No such file or directory. Can not open 'OBJ/i386-os2-gcc/local.cnf'.
I'll look at this again in the morning and try a couple of test burns.
>
> I have a OS/2 installation somewhere on an old machine.
We are now using klibc (http://svn.netlabs.org/libc/wiki) which is a
fork of EMX and doesn't run under OS/2 v3 or earlier so your OS/2
install may be to old.
Klibc is more up to date compared to EMX and includes things like large
file support, symlinks support in libc and more up to date headers as
well as newer versions of GCC.
>
> If you cannot fix this by your own, could you provide me with a
> HDD image that I can use on VirtualBox?
>
Unluckily my CPU is to old to run OS/2 under VirtualBox, besides only
the newest release candidate of eCS will install under vbox which I
currently don't own.
Dave
Do you have an idea why configure has this problem?
Note that the autoconf test just checks whether these functions
are available in libc (or whatever is your local default lib).
A big problem with EMX/OS2 reliability I remember is that after some time
(which may even happen durig compilation) I received file not found
errors for files that definitely exist. Only a reboot did help. Is it possible
that the "cofigure" script now increased in length so that this
problem already hits while the config script is run?
Does os2.h exist on every os2 version?
>With this patch and commenting out the BOOL typedef in os2emx.h
Where is the file os2emx.h?
>(unsigned long) cdrtools compiles fine on EMX and excepting cdda2wav
>mostly fine on klibc. I'm getting this weird error with klibc,
Does the cdrecord you compiled support shared memory?
>I:\usr\src\cdrtools-2.01.01\cdda2wav >smake
> ==> CONFIGURING LOCAL RULES "OBJ/i386-os2-gcc/local.cnf"
>loading cache ./config.cache
>configure: error: can not run ../../config.sub
>smake: Operation not permitted. *** Code 1 from command line for target
>'OBJ/i386-os2-gcc/local.cnf'.
>smake: No such file or directory. Can not open 'OBJ/i386-os2-gcc/local.cnf'.
>
>I'll look at this again in the morning and try a couple of test burns.
This may be a result from using an old smake.
I needed to change something in amek while introducing a workaround for
a GNU make bug in the makefile system. Try to call "sh MKLINKS" in the
cdda2wav directory manually.
>> I have a OS/2 installation somewhere on an old machine.
>
>We are now using klibc (http://svn.netlabs.org/libc/wiki) which is a
>fork of EMX and doesn't run under OS/2 v3 or earlier so your OS/2
>install may be to old.
>Klibc is more up to date compared to EMX and includes things like large
>file support, symlinks support in libc and more up to date headers as
>well as newer versions of GCC.
OK, the last time I did see more work on os2 related things is 5 years ago.
I know that my os2 partition was old at that time...
Is there a chance to get a preconfigured image of a more recent
system for VirtualBox from somewhere?
>>
>> If you cannot fix this by your own, could you provide me with a
>> HDD image that I can use on VirtualBox?
>>
>
>Unluckily my CPU is to old to run OS/2 under VirtualBox, besides only
>the newest release candidate of eCS will install under vbox which I
>currently don't own.
What do you understand by too old?
Are aou talking about Vanderpool and Pacifica?
> A big problem with EMX/OS2 reliability I remember is that after some time
> (which may even happen durig compilation) I received file not found
> errors for files that definitely exist. Only a reboot did help. Is it possible
> that the "cofigure" script now increased in length so that this
> problem already hits while the config script is run?
That sounds to me more like something is leaking file handles but there is a way
to increase the default available with EMX by using SET EMXOPT=-h1024 (pick a
number, the default is about 40 or 80 depending on the version of OS/2 in use).
> >Unluckily my CPU is to old to run OS/2 under VirtualBox, besides only
> >the newest release candidate of eCS will install under vbox which I
> >currently don't own.
>
> What do you understand by too old?
>
> Are aou talking about Vanderpool and Pacifica?
To run OS/2 under VirtualBox requires that your cpu implement VTx or the AMD
equivalent.
--
Trevor Hemsley, Brighton, UK
Trevor dot Hemsley at ntlworld dot com
As I said below, usually the functions are usually only enabled if os2.h
is included with the appropriate defines first. Here is the official
documentation, http://cyberkinetica.homeunix.net/os2tk45/cp1/. The entry
Header Files mention the requirement and the entries on the functions
list the correct defines.
>
> Note that the autoconf test just checks whether these functions
> are available in libc (or whatever is your local default lib).
As far as I'm aware on most OS/2 libc's the functions are only available
after including os2.h. Here is an error,
configure:11697: checking for DosAllocSharedMem
configure:11725: gcc -o conftest.exe -Zcrtdll -O -D__OS2
-Llibs/i386-os2-gcc
-L/opt/schily/lib conftest.c 1>&5
F:/XFREE86/TMP/ccMR8k8i.o: Undefined symbol _DosAllocSharedMem
referenced from text segment
>
> A big problem with EMX/OS2 reliability I remember is that after some time
> (which may even happen durig compilation) I received file not found
> errors for files that definitely exist. Only a reboot did help. Is it possible
> that the "cofigure" script now increased in length so that this
> problem already hits while the config script is run?
I haven't seen this problem.
It exists with all compilers.
>
>> With this patch and commenting out the BOOL typedef in os2emx.h
>
> Where is the file os2emx.h?
The EMX (klibc) version of os2.h includes os2emx.h or depending on an
environment variable os2tk.h, which is the official toolkit.
>
>> (unsigned long) cdrtools compiles fine on EMX and excepting cdda2wav
>> mostly fine on klibc. I'm getting this weird error with klibc,
>
> Does the cdrecord you compiled support shared memory?
With a couple of more patches and editing xconfig.h to define Dos* I
think that klibc supports shared memory. EMX seems to work with no patches.
>
>> I:\usr\src\cdrtools-2.01.01\cdda2wav>smake
>> ==> CONFIGURING LOCAL RULES "OBJ/i386-os2-gcc/local.cnf"
>> loading cache ./config.cache
>> configure: error: can not run ../../config.sub
>> smake: Operation not permitted. *** Code 1 from command line for target
>> 'OBJ/i386-os2-gcc/local.cnf'.
>> smake: No such file or directory. Can not open 'OBJ/i386-os2-gcc/local.cnf'.
>>
>> I'll look at this again in the morning and try a couple of test burns.
>
> This may be a result from using an old smake.
>
> I needed to change something in amek while introducing a workaround for
> a GNU make bug in the makefile system. Try to call "sh MKLINKS" in the
> cdda2wav directory manually.
The above problem is due to my shell not understanding symlinks.
Manually copying works.
...
Dave
diff -ru cdrtools-2.01.01.orig/cdda2wav/cdda2wav.c
cdrtools-2.01.01/cdda2wav/cdda2wav.c
--- cdrtools-2.01.01.orig/cdda2wav/cdda2wav.c Mon Feb 16 15:36:08 2009
+++ cdrtools-2.01.01/cdda2wav/cdda2wav.c Sun Feb 22 13:10:54 2009
@@ -99,6 +99,11 @@
#endif
#endif
+#ifdef HAVE_DOSALLOCSHAREDMEM
+#define INCL_DOSMEMMGR
+#include <os2.h>
+#endif
+
#include "mytype.h"
#include "sndconfig.h"
diff -ru cdrtools-2.01.01.orig/cdda2wav/semshm.c
cdrtools-2.01.01/cdda2wav/semshm.c
--- cdrtools-2.01.01.orig/cdda2wav/semshm.c Sat Feb 7 13:33:08 2009
+++ cdrtools-2.01.01/cdda2wav/semshm.c Sun Feb 22 17:12:16 2009
@@ -96,6 +96,11 @@
#endif
#endif
+#ifdef HAVE_DOSALLOCSHAREDMEM
+#define INCL_DOSMEMMGR
+#include <os2.h>
+#endif
+
#include "mytype.h"
#include "interface.h"
#include "ringbuff.h"
diff -ru cdrtools-2.01.01.orig/cdrecord/fifo.c
cdrtools-2.01.01/cdrecord/fifo.c
--- cdrtools-2.01.01.orig/cdrecord/fifo.c Sat Feb 7 13:34:04 2009
+++ cdrtools-2.01.01/cdrecord/fifo.c Sun Feb 22 13:11:28 2009
@@ -86,6 +86,11 @@
#include "cdrecord.h"
#include "xio.h"
+#ifdef HAVE_DOSALLOCSHAREDMEM
+#define INCL_DOSMEMMGR
+#include <os2.h>
+#endif
+
#ifdef DEBUG
#ifdef XDEBUG
FILE *ef;
diff -ru cdrtools-2.01.01.orig/libscg/scsi-os2.c
cdrtools-2.01.01/libscg/scsi-os2.c
--- cdrtools-2.01.01.orig/libscg/scsi-os2.c Sun Nov 26 09:12:56 2006
+++ cdrtools-2.01.01/libscg/scsi-os2.c Sun Feb 22 12:41:26 2009
@@ -46,6 +46,13 @@
/* For AspiRouter */
#include "scg/srb_os2.h"
+#define INCL_DOSMEMMGR
+#define INCL_DOSDEVICES
+#define INCL_DOSDEVIOCTL
+#define INCL_DOSFILEMGR
+#define INCL_DOSSEMAPHORES
+#include <os2.h>
+
/*
* Warning: you may change this source, but if you do that
* you need to change the _scg_version and _scg_auth* string below.
@@ -63,15 +70,6 @@
> As far as I'm aware on most OS/2 libc's the functions are only available
> after including os2.h. Here is an error,
>
> configure:11697: checking for DosAllocSharedMem
> configure:11725: gcc -o conftest.exe -Zcrtdll -O -D__OS2
> -Llibs/i386-os2-gcc
> -L/opt/schily/lib conftest.c 1>&5
> F:/XFREE86/TMP/ccMR8k8i.o: Undefined symbol _DosAllocSharedMem
> referenced from text segment
Joerg, if this puzzles you, it is just (one of) misfeatures of post-EMX
ports of gcc: by default, they prepend the underscore (even in OMF
format builds). So when your application mentions DosFoo() in C code,
the object file's entry point resolves to _DosFoo().
However, the shipped libraries do not contain _DosFoo(), but only
DosFoo(). To "fix" this, one needs to declare DosFoo() in a special
way, so that compiler does not prepend underscore.
Hope this helps,
Ilya