cannot use growisofs to write iso image
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dvd+rw-tools (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
% lsb_release -rd
Description: Ubuntu 18.04.2 LTS
Release: 18.04
% apt-cache policy dvd+rw-tools
dvd+rw-tools:
Installed: 7.1-12
Candidate: 7.1-12
Version table:
*** 7.1-12 500
500 http://
100 /var/lib/
%
The man page says:
To use growisofs to write a pre-mastered ISO-image to a DVD:
growisofs -dvd-compat -Z /dev/dvd=image.iso
So having downloaded the iso image I wanted, I ran:
growisofs -speed=1 -dvd-compat -Z /dev/sr0=
expecting this to create a bootable Xenial installation DVD.
Instead it created a DVD which was not bootable; mounting it showed a single file "ubuntu_1.iso" clearly an 8.3-truncated version of the input filename. Along the way it showed what it was doing:
genisoimage ubuntu-
.. so it looks like genisoimage is always getting called, and is creating a new iso image with the supplied iso as a simple file inside it.
As a workaround, I found that replacing genisoimage with a symlink to /bin/cat allowed me to use the same growisofs invocation to create the bootable DVD I wanted.
Hi,
this looks as if the '=' in /dev/sr0= ubuntu- 16.04.6- desktop- amd64.iso
is interpreted by the shell parser as whitespace.
I get the message about genisoimage only if i do
growisofs -speed=1 -dvd-compat -Z /dev/sr0 ubuntu- 16.04.6- desktop- i386.iso
Then it says
About to execute 'genisoimage ubuntu- 16.04.6- desktop- i386.iso | builtin_dd of=/dev/sr4 obs=32k seek=0'
and lets genisoimage pack up the .iso file as only data file of a new ISO
filesystem which it then burns to DVD.
Without option -R or -J this yields the dull short file name.
If i run
growisofs -speed=1 -dvd-compat -Z /dev/sr0= ubuntu- 16.04.6- desktop- i386.iso
i get to see
About to execute 'builtin_dd if=ubuntu- 16.04.6- desktop- i386.iso of=/dev/sr4 obs=32k seek=0'
and the desired plain burn without genisoimage gets performed.
If i run with both, '=' and ' '
growisofs -speed=1 -dvd-compat -use-the- force-luke= notray -Z /dev/sr0= ubuntu- 16.04.6- desktop- i386.iso
i get
:-( unable to open64( "",O_RDONLY) : No such file or directory
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -
So somehow your shell parser and/or growisofs manage to neatly separate 16.04.6- desktop- amd64.iso before they get used as
/dev/sr0 from ubuntu-
parameters for genisoimage and "buildin_dd".
To test the shell parser you could do:
for i in /dev/sr0= ubuntu- 16.04.6- desktop- amd64.iso ; do echo $i ; done
It should put out a single line
/dev/ sr0=ubuntu- 16.04.6- desktop- amd64.iso
If you see two lines 16.04.6- desktop- amd64.iso
/dev/sr0
ubuntu-
then the '=' was interpreted as white space.
growisofs itself is fewly maintained. If you get fed up with your smart
cat trick, be invited to try my programs cdrskin and xorrecord for image
burning.
Have a nice day :)
Thomas