Changed prescription for safe loading of tray before xorrisofs add-on session

This commit is contained in:
2018-11-11 14:43:43 +01:00
parent ff68bda006
commit b8ee16af4a
9 changed files with 286 additions and 186 deletions

View File

@ -205,12 +205,7 @@ then a new image is composed from scratch.
superblock address on the intended medium.
Both values can be inquired from optical media by help of burn
programs and cdrecord option -msinfo. xorriso itself can obtain it
in its cdrecord emulation. Do not let it load the drive, but
rather do this manually or by a program like dd which reads a few
bytes. Only then it is sure that the device driver knows the true
readable size of the medium.
dd if=/dev/... count=1 >/dev/null 2>&1
in its cdrecord emulation.
values=$(xorriso -as cdrecord dev=/dev/... -msinfo)
echo $values
@ -1530,21 +1525,31 @@ The first session is written like this:
/tree1=prepared_for_iso/tree1 \
| xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
Follow-up sessions are written like this:
Follow-up sessions are written like this (the run of dd is only to
give demons a chance to spoil it):
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ xorrisofs -M /dev/sr0 -C $m -graft-points \
/tree2=prepared_for_iso/tree2 \
| xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
Always eject the drive tray between sessions. The old sessions get
read via /dev/sr0. Its device driver might not be aware of the changed
content before it loads the medium again. In this case the previous
session would not be loaded and the new session would contain only the
newly added files.
For the same reason do not let xorriso -as cdrecord load the medium, but
rather do this manually or by a program that reads from /dev/sr0.
Always eject the drive tray between sessions.
The run of xorriso -as mkisofs will read old sessions via the CD-ROM
driver of /dev/sr0. This driver might not be aware of the changed
content as long as the medium is not loaded again. In this case the
previous session would not be properly assessed by xorriso and the new
session would contain only the newly added files.
Some systems have not enough patience with automatic tray loading and
some demons may interfere with a first CD-ROM driver read attempt from a
freshly loaded medium.
When loading the tray manually, wait 10 seconds after the drive has
stopped blinking.
A safe automatic way seems to be a separate run of xorriso for loading
the tray with proper waiting, and a subsequent run of dd which shall
offer itself to any problems caused by demons assessing the changed
drive status. If this does not help, insert a run of "sleep 10" between
xorriso and dd.

File: xorrisofs.info, Node: ExGrowisofs, Next: ExIncBackup, Prev: ExMkisofs, Up: Examples
@ -1597,11 +1602,11 @@ get excluded explicitly.
the two disk trees to the medium is desired. Begin with a blank medium
and update it until he run fails gracefully due to lack of remaining
space on the old one.
Do not let xorriso -as cdrecord load the medium, but rather do this
manually or by a program that reads from /dev/sr0.
Always eject the drive tray between sessions. A run of dd shall give
demons a chance to spoil the first read on freshly loaded media.
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ load_opts=
$ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
$ xorrisofs $load_opts -o - --for_backup -m '*.o' -m '*.swp' \
@ -1676,11 +1681,11 @@ With the first session:
With the second session, option -old-root refers to /session1 and the
new -root is /session2.
Do not let xorriso -as cdrecord load the medium, but rather do this
manually or by a program that reads from /dev/sr0.
Always eject the drive tray between sessions. A run of dd shall give
demons a chance to spoil the first read on freshly loaded media.
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ load_opts=
$ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
$ xorrisofs $load_opts -root /session2 -old-root /session1 \
@ -1989,7 +1994,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -c El Torito boot catalog name: Bootable. (line 114)
* -C set load address and write address offset: Loading. (line 25)
* -cdrecord-params set load address and write address offset: Loading.
(line 46)
(line 41)
* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 72)
* -checksum_algorithm_template choose .template checksums: Jigdo.
(line 78)
@ -2387,31 +2392,31 @@ Node: Insert3770
Node: Xorriso5616
Node: Options6762
Node: Loading7489
Node: SetInsert9789
Node: SetProduct14198
Node: SetCompl19769
Node: SetExtras22361
Node: SetHide33656
Node: ImageId34960
Node: Bootable39242
Node: SystemArea45528
Node: Charset62894
Node: Jigdo63919
Node: Miscellaneous68196
Node: Examples69841
Node: ExSimple70335
Node: ExGraft70818
Node: ExMkisofs72118
Node: ExGrowisofs73384
Node: ExIncBackup74574
Node: ExIncBckAcc77735
Node: ExBootable79424
Node: Files83606
Node: Environ84701
Node: Seealso85472
Node: Bugreport86123
Node: Legal86716
Node: CommandIdx87613
Node: ConceptIdx103480
Node: SetInsert9531
Node: SetProduct13940
Node: SetCompl19511
Node: SetExtras22103
Node: SetHide33398
Node: ImageId34702
Node: Bootable38984
Node: SystemArea45270
Node: Charset62636
Node: Jigdo63661
Node: Miscellaneous67938
Node: Examples69583
Node: ExSimple70077
Node: ExGraft70560
Node: ExMkisofs71860
Node: ExGrowisofs73669
Node: ExIncBackup74859
Node: ExIncBckAcc78036
Node: ExBootable79741
Node: Files83923
Node: Environ85018
Node: Seealso85789
Node: Bugreport86440
Node: Legal87033
Node: CommandIdx87930
Node: ConceptIdx103797

End Tag Table