From 9ac9a216293e916235c95cb27a9b781825db9cd7 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Fri, 31 Jul 2015 16:23:08 +0000 Subject: [PATCH] New command -modesty_on_drive, new -as cdrecord -immed, minbuf=, modesty_on_drive= --- xorriso/base_obj.c | 6 + xorriso/emulators.c | 18 +- xorriso/opts_d_h.c | 30 +- xorriso/opts_i_o.c | 94 +- xorriso/parse_exec.c | 16 +- xorriso/text_io.c | 24 + xorriso/write_run.c | 6 + xorriso/xorrecord.1 | 60 +- xorriso/xorrecord.info | 688 +++--- xorriso/xorrecord.texi | 66 +- xorriso/xorriso.1 | 102 +- xorriso/xorriso.h | 18 +- xorriso/xorriso.info | 4414 +++++++++++++++++------------------ xorriso/xorriso.texi | 104 +- xorriso/xorriso_private.h | 10 + xorriso/xorriso_timestamp.h | 2 +- 16 files changed, 2936 insertions(+), 2722 deletions(-) diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index fa9fa5a0..45f48018 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -242,6 +242,12 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->alignment= 0; m->do_stream_recording= 0; m->dvd_obs= 0; + m->modesty_on_drive= 0; + m->min_buffer_usec= -1; + m->max_buffer_usec= -1; + m->buffer_timeout_sec= -1; + m->min_buffer_percent= 65; + m->max_buffer_percent= 95; m->stdio_sync= 0; m->stdio_sync_is_default= 1; m->keep_boot_image= 0; diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 89512785..ec9d1caf 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -78,6 +78,9 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag) "\t-isosize\tUse iso9660 file system size for next data track", "\t-pad\t\tpadsize=30k", "\t-nopad\t\tDo not pad", +"\tminbuf=\t\tKeep drive buffer hungry", +"\tmodesty_on_drive=\tLike minbuf=, but with more parameters", +"\t-immed\t\tEquivalent to minbuf=75", "\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE", "\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE", "\tstream_recording=on|number\ttry to get full speed on DVD-RAM, BD", @@ -120,10 +123,10 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv, "timeout=", "debug=", "kdebug=", "kd=", "driver=", "ts=", "pregap=", "defpregap=", "mcn=", "isrc=", "index=", "textfile=", "pktsize=", "cuefile=", - "gracetime=", "minbuf=", + "gracetime=", "assert_write_lba=", "fifo_start_at=", "dev_translation=", - "drive_scsi_dev_family=", "fallback_program=", "modesty_on_drive=", + "drive_scsi_dev_family=", "fallback_program=", "tao_to_sao_tsize=", "direct_write_amount=", "msifile=", @@ -332,6 +335,17 @@ no_volunteer:; strncmp(argpt, "stream_recording=", 17)==0) { cpt= strchr(argpt, '=')+1; Xorriso_option_stream_recording(xorriso, cpt, 0); + + } else if(strcmp(argpt, "-immed") == 0) { + Xorriso_option_modesty_on_drive(xorriso, "75", 0); + + } else if(strncmp(argpt, "-minbuf=", 8) == 0 || + strncmp(argpt, "minbuf=", 7) == 0 || + strncmp(argpt, "-modesty_on_drive=", 18) == 0 || + strncmp(argpt, "modesty_on_drive=", 17) == 0) { + cpt= strchr(argpt, '=') + 1; + Xorriso_option_modesty_on_drive(xorriso, cpt, 0); + } else if(strncmp(argpt, "-stdio_sync=", 12)==0 || strncmp(argpt, "stdio_sync=", 11)==0) { cpt= strchr(argpt, '=') + 1; diff --git a/xorriso/opts_d_h.c b/xorriso/opts_d_h.c index be912f3e..59df8c46 100644 --- a/xorriso/opts_d_h.c +++ b/xorriso/opts_d_h.c @@ -1644,7 +1644,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -rom_toc_scan \"on\"|\"force\"|\"off\"[:\"emul_on\"|\"emul_off\"]", " [:\"emul_wide\"|\"emul_narrow\"]", " Enable scanning for ISO sessions on read-only drives/media", -" resp. on overwriteable media with emulated TOC.", +" and on overwriteable media with emulated TOC.", " -calm_drive \"in\"|\"out\"|\"all\"|\"on\"|\"off\"", " Reduce drive noise until it gets actually used again.", " -assert_volid pattern severity", @@ -1660,21 +1660,21 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -local_charset name", " Override system assumption of the local character set name.", " -hardlinks mode[:mode ...]", -" Enable resp. disable recording and restoring of hard links.", +" Enable or disable recording and restoring of hard links.", " Modes are \"on\", \"off\", \"perform_update\",", " \"without_update\", \"discard_extract\",", " \"cheap_sorted_extract\", \"normal_extract\"", " -acl \"on\"|\"off\"", -" Enable resp. disable reading and writing of ACLs.", +" Enable or disable reading and writing of ACLs.", " -xattr \"on\"|\"off\"", -" Enable resp. disable reading and writing of xattr.", +" Enable or disable reading and writing of xattr.", " -for_backup", " Shortcut for: -hardlinks on -acl on -xattr on -md5 on", " -disk_dev_ino \"on\"|\"ino_only\"|\"off\"", -" Enable resp. disable recording of disk file dev_t and ino_t", +" Enable or disable recording of disk file dev_t and ino_t", " and their use in file comparison.", " -md5 \"on\"|\"all\"|\"off\"", -" Enable resp. disable processing of MD5 checksums.", +" Enable or disable processing of MD5 checksums.", " -scdbackup_tag list_path record_name", " Enable production of scdbackup tag with -md5 on", " -ban_stdio_write", @@ -1684,7 +1684,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -data_cache_size number_of_tiles blocks_per_tile", " Adjust size and granularity of the data read cache.", " -blank [\"force:\"]\"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"", -" Blank medium resp. invalidate ISO image on medium.", +" Blank medium or invalidate ISO image on medium.", " Prefix \"force:\" overrides medium evaluation.", " -close_damaged \"as_needed\"|\"force\"", " Close track and session of damaged medium.", @@ -1794,7 +1794,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -list_speeds Show media specific list of write speed descriptors.", "", " -list_profiles \"in\"|\"out\"|\"all\"", -" Show list of media types supported by indev resp. outdev.", +" Show list of media types supported by indev and/or outdev.", " -print_size Print the foreseeable consumption by next -commit.", "", " -tell_media_space", @@ -1827,7 +1827,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) "iso_rr_path is the Rock Ridge name of a file object in the ISO image.", "pathspec is either a disk_path or (if allowed) a pair: iso_rr_path=disk_path", "Commands marked by [***] have variable length parameter lists and perform", -"pattern expansion if enabled by -iso_rr_pattern resp. -disk_pattern.", +"pattern expansion if enabled by -iso_rr_pattern or -disk_pattern.", "", " -pathspecs \"on\"|\"off\" Allow or disallow pathspecs of form ", " iso_rr_path=disk_path . Only \"off\" allows eventual", @@ -1836,7 +1836,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " Insert the given files or directory trees from", " filesystem into the ISO image. Much like mkisofs.", " -add_plainly \"none\"|\"unknown\"|\"dashed\"|\"any\"", -" Whether to add lonely arguments as pathspec resp. disk_path.", +" Whether to add lonely arguments as pathspec or disk_path.", " -path_list disk_path", " Like -add but read the pathspecs from file disk_path.", " -quoted_path_list disk_path", @@ -2028,6 +2028,11 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " Set the burn speed. Default is \"max\" = maximum speed.", " -stream_recording \"on\"|\"off\"", " Try to circumvent slow checkread on DVD-RAM, BD-RE, BD-R.", +" -modesty_on_drive [\"on\"|\"off\"|min_percent_number]", +" [:\"min_percent=\"number][:\"max_percent=\"number]", +" [:\"min_usec=\"number][:\"max_usec\"=number]", +" [:\"timeout_sec=\"number]", +" Keep drive buffer hungry to ease concurrent burn run.", " -dvd_obs \"default\"|\"32k\"|\"64k\"", " Set number of bytes per DVD/BD write operation.", " -stdio_sync \"on\"|\"off\"|\"end\"|number", @@ -2036,8 +2041,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -fs number[\"k\"|\"m\"]", " Set the size of the fifo buffer. (Default is 4m)", " -eject \"in\"|\"out\"|\"all\"", -" Immediately eject the medium in -indev, resp. -outdev,", -" resp. both.", +" Immediately eject the medium in -indev, -outdev, or both.", "", "Navigation commands:", "", @@ -2273,7 +2277,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag) " -print_mark text", " Print a text to mark channel.", " -prompt text", -" Wait for Enter key resp. for a line of input at stdin.", +" Wait for Enter key or for a line of input at stdin.", " -sleep number", " Do nothing during the given number of seconds.", " -errfile_log mode path|channel", diff --git a/xorriso/opts_i_o.c b/xorriso/opts_i_o.c index 6191c305..091fa1f5 100644 --- a/xorriso/opts_i_o.c +++ b/xorriso/opts_i_o.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2013 Thomas Schmitt, + Copyright 2007-2015 Thomas Schmitt, Provided under GPL version 2 or later. @@ -799,6 +799,94 @@ ex:; } +int Xorriso_option_modesty_on_drive(struct XorrisO *xorriso, char *mode, + int flag) +{ + char *npt, *cpt, *ppt; + int l, num, set_min; + + npt= cpt= mode; + for(; npt!=NULL; cpt= npt+1) { + npt= strchr(cpt,':'); + if(npt==NULL) + l= strlen(cpt); + else + l= npt-cpt; + if(l == 0) + continue; + if(l == 3 && strncmp(cpt, "off", l) == 0) { + xorriso->modesty_on_drive= 0; + } else if(l == 1 && strncmp(cpt, "0", l) == 0) { + xorriso->modesty_on_drive= 0; + } else if(l == 2 && strncmp(cpt, "on", l) == 0) { + xorriso->modesty_on_drive= 1; + } else if(l == 1 && strncmp(cpt, "1", l) == 0) { + xorriso->modesty_on_drive= 1; + } else if(l == 2 && strncmp(cpt, "-1", l) == 0) { + ; + } else if(*cpt >= '1' && *cpt <= '9') { + ppt= cpt; + set_min= 2; +set_size_percent:; + sscanf(ppt, "%d", &num); + if(num == -1) { + ; + } else if(num < 25) { +bad_percent:; + sprintf(xorriso->info_text, "-modesty_on_drive: percentage out of range [25 to 100]"); + Text_shellsafe(cpt, xorriso->info_text, 1); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + return(0); + } else if(num > 100) { + goto bad_percent; + } + if(set_min == 2) { + xorriso->modesty_on_drive= 1; + } + if(set_min) + xorriso->min_buffer_percent= num; + else + xorriso->max_buffer_percent= num; + } else if(l >= 12 && strncmp(cpt, "min_percent=", 12) == 0) { + ppt= cpt + 12; + set_min= 1; + goto set_size_percent; + } else if(l >= 12 && strncmp(cpt, "max_percent=", 12) == 0) { + ppt= cpt + 12; + set_min= 0; + goto set_size_percent; + } else if(l >= 8 && strncmp(cpt, "min_usec=", 8) == 0) { + ppt= cpt + 8; + set_min= 1; +set_sec:; + sscanf(ppt, "%d", &num); + if(num < 0) + num= 0; + if(set_min == 1) + xorriso->min_buffer_usec= num; + else if(set_min == 0) + xorriso->max_buffer_percent= num; + else + xorriso->buffer_timeout_sec= num; + } else if(l >= 8 && strncmp(cpt, "max_usec=", 8) == 0) { + ppt= cpt + 8; + set_min= 0; + goto set_sec; + } else if(l >= 11 && strncmp(cpt, "timeout_sec=", 11) == 0) { + ppt= cpt + 11; + set_min= -1; + goto set_sec; + } else { + sprintf(xorriso->info_text, "-modesty_on_drive: unknown mode "); + Text_shellsafe(cpt, xorriso->info_text, 1); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + return(0); + } + } + return(1); +} + + /* Options -mount , -mount_cmd , -session_string */ /* @param bit0= -mount_cmd: print mount command to result channel rather than performing it @@ -1151,7 +1239,7 @@ int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag) } -/* Option -not_leaf , (-hide_disk_leaf resp. -as mkisofs -hide) */ +/* Option -not_leaf , (-hide_disk_leaf , -as mkisofs -hide) */ /* @param flag bit0-bit5= hide rather than adding to disk_exclusions bit0= add to iso_rr_hidings bit1= add to joliet_hidings @@ -1323,7 +1411,7 @@ ex:; } -/* Option -not_paths , (-hide_disk_paths resp. -as mkisofs -hide) */ +/* Option -not_paths , (-hide_disk_paths , -as mkisofs -hide) */ /* @param flag bit0= add to iso_rr_hidings rather than disk_exclusions bit1= add to joliet_hidings rather than disk_exclusions bit2= enable disk pattern expansion regardless of -disk_pattern diff --git a/xorriso/parse_exec.c b/xorriso/parse_exec.c index c7e01ea1..f0a0ce93 100644 --- a/xorriso/parse_exec.c +++ b/xorriso/parse_exec.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2013 Thomas Schmitt, + Copyright 2007-2015 Thomas Schmitt, Provided under GPL version 2 or later. @@ -526,7 +526,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv, "iso_rr_pattern","follow","format","fs","gid","grow_blindly","hardlinks", "hfsplus","history","indev","in_charset","joliet", "list_delimiter","list_extras","list_profiles","local_charset", - "mark","md5","mount_opts","not_leaf","not_list","not_mgt", + "mark","md5","mount_opts","modesty_on_drive", + "not_leaf","not_list","not_mgt", "options_from_file","osirrox","outdev","out_charset","overwrite", "pacifier","padding","path_list","pathspecs","pkt_output", "preparer_id","print","print_info","print_mark","prompt", @@ -728,6 +729,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso, "abstract_file", "biblio_file", "preparer_id", "application_use", "out_charset", "read_mkisofsrc", "uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs", + "modesty_on_drive", "stdio_sync", "dummy", "fs", "close", "padding", "write_type", "grow_blindly", "pacifier", "scdbackup_tag", @@ -1456,6 +1458,13 @@ next_command:; (*idx)++; ret= Xorriso_option_md5(xorriso, arg1, 0); + } else if(strcmp(cmd,"mkdir")==0 || strcmp(cmd,"mkdiri")==0) { + ret= Xorriso_option_mkdiri(xorriso, argc, argv, idx, 0); + + } else if(strcmp(cmd, "modesty_on_drive")==0) { + (*idx)++; + ret= Xorriso_option_modesty_on_drive(xorriso, arg1, 0); + } else if(strcmp(cmd, "mount") == 0 || strcmp(cmd, "mount_cmd") == 0) { (*idx)+= 4; if((*idx)>argc) { @@ -1484,9 +1493,6 @@ next_command:; } else if(strcmp(cmd,"mv")==0 || strcmp(cmd,"mvi")==0) { ret= Xorriso_option_mvi(xorriso, argc, argv, idx, 0); - } else if(strcmp(cmd,"mkdir")==0 || strcmp(cmd,"mkdiri")==0) { - ret= Xorriso_option_mkdiri(xorriso, argc, argv, idx, 0); - } else if(strcmp(cmd,"named_pipe_loop")==0) { if((*idx) + 3 < argc) arg4= argv[(*idx) + 3]; diff --git a/xorriso/text_io.c b/xorriso/text_io.c index 43be2df9..e1787418 100644 --- a/xorriso/text_io.c +++ b/xorriso/text_io.c @@ -3349,6 +3349,30 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) if(!(is_default && no_defaults)) Xorriso_status_result(xorriso,filter,fp,flag&2); + is_default= (xorriso->modesty_on_drive == 0 && + xorriso->min_buffer_usec == -1 && + xorriso->max_buffer_usec == -1 && + xorriso->buffer_timeout_sec == -1 && + xorriso->min_buffer_percent == 65 && + xorriso->max_buffer_percent == 95); + if(xorriso->modesty_on_drive == 0) + strcpy(mode, "off"); + else if(xorriso->modesty_on_drive == 1) + strcpy(mode, "on"); + else + sprintf(mode, "%d", xorriso->modesty_on_drive); + sprintf(mode + strlen(mode), ":min_percent=%d", xorriso->min_buffer_percent); + sprintf(mode + strlen(mode), ":max_percent=%d", xorriso->max_buffer_percent); + if(xorriso->buffer_timeout_sec >= 0) + sprintf(mode + strlen(mode), ":timeout_sec=%d", xorriso->buffer_timeout_sec); + if(xorriso->min_buffer_usec >= 0) + sprintf(mode + strlen(mode), ":min_usec=%d", xorriso->min_buffer_usec); + if(xorriso->max_buffer_usec >= 0) + sprintf(mode + strlen(mode), ":max_usec=%d", xorriso->max_buffer_usec); + sprintf(line,"-modesty_on_drive %s\n", mode); + if(!(is_default && no_defaults)) + Xorriso_status_result(xorriso,filter,fp,flag&2); + is_default= (xorriso->dvd_obs == 0); strcpy(mode, "default"); if(xorriso->dvd_obs == 32768 || xorriso->dvd_obs == 65536) diff --git a/xorriso/write_run.c b/xorriso/write_run.c index c1e26351..43e1e754 100644 --- a/xorriso/write_run.c +++ b/xorriso/write_run.c @@ -165,6 +165,12 @@ int Xorriso_make_write_options( if(xorriso->write_speed != -2) burn_drive_set_speed(drive, 0, xorriso->write_speed); + burn_drive_set_buffer_waiting(drive, xorriso->modesty_on_drive, + xorriso->min_buffer_usec, + xorriso->max_buffer_usec, + xorriso->buffer_timeout_sec, + xorriso->min_buffer_percent, + xorriso->max_buffer_percent); if(xorriso->do_stream_recording == 1) stream_mode= 1; else if(xorriso->do_stream_recording == 2) diff --git a/xorriso/xorrecord.1 b/xorriso/xorrecord.1 index 5538ae18..2235eefd 100644 --- a/xorriso/xorrecord.1 +++ b/xorriso/xorrecord.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRECORD 1 "Version 1.4.1, May 17, 2015" +.TH XORRECORD 1 "Version 1.4.1, Jul 30, 2015" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -100,8 +100,8 @@ device file. On Solaris, the user needs r\-permission and privilege "sys_devices", which is usually gained by running \fBxorrecord\fR via command pfexec. .br -These permissions resp. privileges are needed already for listing a drive. -So it might be necessary to get the overview as superuser resp. via pfexec. +These permissions or privileges are needed already for listing a drive. +So it might be necessary to get the overview as superuser or via pfexec. .br \fBxorrecord\fR does not perform cdrecord option \-scanbus and does not accept the addresses of form Bus,Target,Lun which are told by \-scanbus. @@ -128,7 +128,7 @@ to generic xorriso command mode. See \fBman xorriso\fR for its description. Other than in xorriso command mode, the sequence of the cdrecord emulation options does not matter. All pending actions get performed in a fixed sequence before the program -run ends resp. before cdrecord emulation ends. +run ends or before cdrecord emulation ends. .SS .br .SH OPTIONS @@ -471,6 +471,16 @@ MMC drives usually activate their own idea of speed and take the speed value given by the burn program only as a hint for their own decision. .TP +\fBminbuf=percentage\fR +Equivalent to: +.br + modesty_on_drive= +.TP +\fB\-immed\fR +Equivalent to: +.br + modesty_on_drive=75 +.TP \fB\-eject\fR Eject the drive tray after alll other work is done. .TP @@ -490,7 +500,7 @@ Afterwards end emulation without performing any drive operation. \fB\-v\fR Increase program verbosity by one level. There are four verbosity levels from nearly silent to debugging verbosity. The both highest levels can -be enabled by repeated \-v or by \-vv resp. \-vvv. +be enabled by repeated \-v or by \-vv or by \-vvv. .TP \fB\-V\fR Log SCSI commands and drive replies to standard error. @@ -569,6 +579,44 @@ size. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, option stream_recording=, and on compile time options. .TP +\fBmodesty_on_drive=parameter[:parameters]\fR +Control whether the drive buffer shall be kept from getting completely filled. +Parameter "on" (or "1") keeps the program from trying to write to the burner +drive while its buffer is in danger to be filled over a given limit. +If this filling is exceeded then the program will wait until the filling +reaches a given low percentage value. +.br +This can ease the load on operating system and drive controller and thus help +with achieving better input bandwidth if disk and burner are not on independent +controllers (like hda and hdb). It may also help with simultaneous burns on +different burners with Linux kernels like 3.16. On the other hand it increases +the risk of buffer underflow and thus reduced write speed. +.br +Some burners are not suitable because they +report buffer fill with granularity too coarse in size or time, +or expect their buffer to be filled to the top before they go to full speed. +.br +Parameters "off" or "0" disable this feature. +.br +The threshhold for beginning to wait is given by parameter "max_percent=". +Parameter "min_percent=" defines the threshhold for resuming transmission. +Percentages are permissible in the range of 25 to 100. Numbers in this +range without a prepended name are interpreted as "on:min_percent=". +.br +E.g.: modesty_on_drive=75 +.br +The optimal values depend on the buffer behavior of the drive. +.br +There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". +Read the description of burn_drive_set_buffer_waiting() in libburn.h, +before setting them to non\-default values. +.br +Parameters, which are not mentioned with a modesty_on_drive= option, +stay unchanged. +Default is: +.br + modesty_on_drive=off:min_percent=65:max_percent=95 +.TP \fBwrite_start_address=value\fR Set the block address on overwritable media where to start writing the track. With DVD+RW, DVD\-RAM or BD\-RE, byte_offset must be aligned to 2 kiB blocks, @@ -759,7 +807,7 @@ please send electronic mail to the public list . If more privacy is desired, mail to . .br Please describe what you expect \fBxorriso\fR to do, -the program arguments resp. commands by which you tried to achieve it, +the program arguments or dialog commands by which you tried to achieve it, the messages of \fBxorriso\fR, and the undesirable outcome of your program run. .br diff --git a/xorriso/xorrecord.info b/xorriso/xorrecord.info index 3d1cbc26..4279e3bb 100644 --- a/xorriso/xorrecord.info +++ b/xorriso/xorrecord.info @@ -1,16 +1,15 @@ -This is xorrecord.info, produced by makeinfo version 4.8 from -./xorrecord.texi. +This is xorrecord.info, produced by makeinfo version 5.2 from +xorrecord.texi. -INFO-DIR-SECTION Archiving -START-INFO-DIR-ENTRY -* Xorrecord: (xorrecord). Emulates CD/DVD/BD program cdrecord -END-INFO-DIR-ENTRY - xorrecord - Emulation of CD/DVD/BD program cdrecord by program -xorriso +xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso Copyright (C) 2011 - 2015 Thomas Schmitt Permission is granted to distrubute this text freely. +INFO-DIR-SECTION Archiving +START-INFO-DIR-ENTRY +* Xorrecord: (xorrecord). Emulates CD/DVD/BD program cdrecord +END-INFO-DIR-ENTRY  File: xorrecord.info, Node: Top, Next: Overview, Up: (dir) @@ -18,8 +17,7 @@ File: xorrecord.info, Node: Top, Next: Overview, Up: (dir) xorrecord 1.4.1 *************** -xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso - +xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso * Menu: * Overview:: Overview @@ -41,14 +39,14 @@ File: xorrecord.info, Node: Overview, Next: Standards, Prev: Top, Up: Top 1 Overview ********** -`xorrecord' writes preformatted data to CD, DVD, and BD media. +'xorrecord' writes preformatted data to CD, DVD, and BD media. -It understands some options of program cdrecord from cdrtools by Joerg -Schilling. Its implementation is part of program xorriso which shares -no source code with cdrtools, but rather makes use of libburn for + It understands some options of program cdrecord from cdrtools by +Joerg Schilling. Its implementation is part of program xorriso which +shares no source code with cdrtools, but rather makes use of libburn for communicating with the drive. -Another, more complete cdrecord emulator is program *cdrskin* which + Another, more complete cdrecord emulator is program *cdrskin* which uses the same burn functions as *xorrecord*, but is able to burn audio CDs and to handle CD-TEXT. @@ -58,39 +56,39 @@ File: xorrecord.info, Node: Standards, Next: Drive, Prev: Overview, Up: Top 2 MMC, Session, Track, Media types ********************************** -*MMC* is a standard out of the SCSI family which defines the -interaction between computers and optical drives. Since more than a -decade all CD, DVD, or BD recorders obey this standard regardless by -what bus cabling they are attached to the computer. libburn relies on -this standard compliance and on the capability of the operating system -to perform SCSI transactions over the particular bus cabling. +*MMC* is a standard out of the SCSI family which defines the interaction +between computers and optical drives. Since more than a decade all CD, +DVD, or BD recorders obey this standard regardless by what bus cabling +they are attached to the computer. libburn relies on this standard +compliance and on the capability of the operating system to perform SCSI +transactions over the particular bus cabling. A *Session* is a data region on an optical disc which usually gets -written in a single sweep. It contains at least one *Track* which is a -contiguous string of readable blocks. `xorrecord' produces a single +written in a single sweep. It contains at least one *Track* which is a +contiguous string of readable blocks. 'xorrecord' produces a single session with a single data track which consists of blocks with 2048 -bytes each. It chooses the write mode automatically according to media +bytes each. It chooses the write mode automatically according to media type, medium state, and option -multi. On CD media there are other track types, like audio, and particular write modes like TAO and SAO. CD and DVD- media can put more than one -track into a session. Some of these features can be addressed by +track into a session. Some of these features can be addressed by program *cdrskin*. -MMC describes several recordable *media types* which roughly form two + MMC describes several recordable *media types* which roughly form two families. *Sequentially recordable media* are CD-R, CD-RW, DVD-R, DVD-R DL, -DVD-RW, DVD+R, DVD+R DL, BD-R. Except DVD-R DL they can store more -than one session if there is still unwritten space and if the previous -session was written with option *-multi*. CD-RW and DVD-RW can be +DVD-RW, DVD+R, DVD+R DL, BD-R. Except DVD-R DL they can store more than +one session if there is still unwritten space and if the previous +session was written with option *-multi*. CD-RW and DVD-RW can be blanked in order to be re-usable from scratch. -*Overwritable media* are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE. -They offer a single session with a single track for random access -writing. There is no need to blank overwritable media before re-use. +*Overwritable media* are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE. They +offer a single session with a single track for random access writing. +There is no need to blank overwritable media before re-use. DVD-RW media are sold in sequentially recordable state but can be -formatted once to become overwritable. See options +formatted once to become overwritable. See options *blank=format_overwrite* and *blank=deformat*. If ISO 9660 filesystems are to be stored on overwritable media, then it is possible to emulate multiple sessions, by using option -*-grow_overwriteable_iso*. In this case, the need for blanking before +*-grow_overwriteable_iso*. In this case, the need for blanking before re-use is emulated too.  @@ -100,21 +98,22 @@ File: xorrecord.info, Node: Drive, Next: Xorriso, Prev: Standards, Up: Top ********************************** The drives, CD, DVD, or BD burners, are accessed via file addresses -which are specific to libburn and the operating system. Those addresses -get listed by a run of `xorrecord --devices' or `xorriso -device_links'. +which are specific to libburn and the operating system. Those addresses +get listed by a run of 'xorrecord --devices' or 'xorriso -device_links'. + On GNU/Linux, FreeBSD, and NetBSD, the user needs rw-permission for the device file. On Solaris, the user needs r-permission and privilege -"sys_devices", which is usually gained by running `xorrecord' via +"sys_devices", which is usually gained by running 'xorrecord' via command pfexec. -These permissions resp. privileges are needed already for listing a -drive. So it might be necessary to get the overview as superuser resp. -via pfexec. -`xorrecord' does not perform cdrecord option -scanbus and does not +These permissions or privileges are needed already for listing a drive. +So it might be necessary to get the overview as superuser or via pfexec. + +'xorrecord' does not perform cdrecord option -scanbus and does not accept the addresses of form Bus,Target,Lun which are told by -scanbus. If support for these addresses is necessary, consider to use program cdrskin. -It is possible to let `xorrecord' work on emulated drives. Their + It is possible to let 'xorrecord' work on emulated drives. Their addresses begin by prefix "stdio:" followed by a file address. The emulated media behavior depends on the file type. See man xorriso for details. @@ -128,16 +127,15 @@ File: xorrecord.info, Node: Xorriso, Next: Options, Prev: Drive, Up: Top 4 Relation to program xorriso ***************************** -`xorrecord' is actually a command mode of program *xorriso*, which gets +'xorrecord' is actually a command mode of program *xorriso*, which gets entered either by xorriso command "-as cdrecord" or by starting the program by one of the names "xorrecord", "cdrecord", "wodim", or "cdrskin". This command mode can be left by argument "--" which leads to generic -xorriso command mode. See *man xorriso* for its description. Other +xorriso command mode. See *man xorriso* for its description. Other than in xorriso command mode, the sequence of the cdrecord emulation options does not matter. All pending actions get performed in a fixed -sequence before the program run ends resp. before cdrecord emulation -ends. +sequence before the program run ends or before cdrecord emulation ends.  File: xorrecord.info, Node: Options, Next: Examples, Prev: Xorriso, Up: Top @@ -166,25 +164,24 @@ File: xorrecord.info, Node: DriveAddr, Next: Inquire, Prev: Options, Up: Opt permissions to use them or if the drive is in use by another program. Each accessible drive is shown by a line like: - 0 -dev '/dev/sr0' rwrw- : 'TSSTcorp' 'CDDVDW SH-S203B' - The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the + 0 -dev '/dev/sr0' rwrw- : 'TSSTcorp' 'CDDVDW SH-S203B' + The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the name of the vendor (in this case: Toshiba Samsung Storage Technologies Corporation), 'CDDVDW SH-S203B' is the model name (in this case: a DVD burner). Afterwards end emulation without performing any further drive operation. - dev=drive_address Set the libburn address of the drive to be used. - E.g. on GNU/Linux: dev=/dev/sr0 - E.g. on FreeBSD: dev=/dev/cd0 - E.g. on NetBSD: dev=/dev/rcd0d - E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 + E.g. on GNU/Linux: dev=/dev/sr0 + E.g. on FreeBSD: dev=/dev/cd0 + E.g. on NetBSD: dev=/dev/rcd0d + E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 See also above "Drive preparation and addressing". The medium in the drive should not be mounted or be otherwise in use. This option will only get into effect if a track source, a blank= - option, or a drive inquiry option is given. Else it will lead to a + option, or a drive inquiry option is given. Else it will lead to a SORRY event and normally cause a non-zero exit value.  @@ -197,28 +194,25 @@ File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Opt -inq Print to standard output: vendor, model name, and firmware revision of the drive. - -checkdrive Print unconditionally that the drive supports burnfree, SAO, and - TAO. Also print the output of option -inq. - + TAO. Also print the output of option -inq. -atip Print the output of -checkdrive, the most capable profile of the medium in the drive, the list of profiles which are supported by - the drive, whether it is erasable (i.e. can be blanked), the media + the drive, whether it is erasable (i.e. can be blanked), the media manufacturer, and the medium product name. Profiles are usage models, which are often tied to a particular - media type (e.g. CD-RW), but may also apply to a family of media. - E.g. profile CD-ROM applies to all CD media which contain data. - + media type (e.g. CD-RW), but may also apply to a family of media. + E.g. profile CD-ROM applies to all CD media which contain data. -toc - Print a table of content of the medium in the drive. The output is + Print a table of content of the medium in the drive. The output is not compatible to cdrecord option -toc, but rather the one of - `xorriso' command -toc. It lists the address, vendor, model name, + 'xorriso' command -toc. It lists the address, vendor, model name, and firmware revision of the drive. About the medium it tells product name and manufacturer, whether there is already content written, and if so, whether the medium is - closed or appendable. Appendable media can take another session. + closed or appendable. Appendable media can take another session. The amount of readable and writable data is told. If there are sessions, then their start block address and size is reported. If a session contains an ISO 9660 filesystem, then its Volume Id is @@ -226,25 +220,23 @@ File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Opt address is reported. If not option *-grow_overwriteable_iso* is given or no ISO 9660 file system is present on the medium, then overwritable media are - reported as being blank. This is due to the fact that they can be - written from scratch without further preparation, and that MMC - does not distinguish between data written by the most previous - burn run and older data which have not been overwritten by that - burn run. Consequently, these media are reported with 0 readable - blocks, although all their writable blocks normally are readable, - too. - + reported as being blank. This is due to the fact that they can be + written from scratch without further preparation, and that MMC does + not distinguish between data written by the most previous burn run + and older data which have not been overwritten by that burn run. + Consequently, these media are reported with 0 readable blocks, + although all their writable blocks normally are readable, too. -msinfo Print the argument text for option -C of programs mkisofs, - genisoimage, or xorrisofs. It consists of two numbers separated by + genisoimage, or xorrisofs. It consists of two numbers separated by a comma. The first number tells the first block of the first track of the - last recorded session. This is also the address used by default - when operating systems mount a medium with e.g. ISO 9660 + last recorded session. This is also the address used by default + when operating systems mount a medium with e.g. ISO 9660 filesystem. The second number tells the next writable address, where - `xorrecord' will begin to write the next session. - This option is only valid for written, appendable media. In all + 'xorrecord' will begin to write the next session. + This option is only valid for written, appendable media. In all other cases it will yield no output text but will abort the program with non-zero exit value. @@ -256,55 +248,59 @@ File: xorrecord.info, Node: SetBurn, Next: Verbous, Prev: Inquire, Up: Optio A burn run requires exactly one track source address argument, which tells from where to read the data wich shall be put into the - upcomming session. The medium state must be either blank or + upcomming session. The medium state must be either blank or appendable. Track source may be "-" for standard input or the address of a - readable file of any type except directories. Nearly all media + readable file of any type except directories. Nearly all media types accept a track source with unpredictable byte count, like standard input or named pipes. Nevertheless, DVD-R DL and DVD-RW blanked by mode deformat_quickest demand exact in-advance reservation of the track size, so that they either need to be read from a source of predictable length, or need to be accompanied by option *tsize=* or by option *-isosize*. - Several options expect a size value as argument. A number with a + Several options expect a size value as argument. A number with a trailing letter "b" or without a trailing letter is a plain byte - count. Other trailing letters cause multiplication of the given + count. Other trailing letters cause multiplication of the given number by a scaling factor: "k" or "K" = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s" or "S" = 2048 - E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 bytes. + E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 + bytes. blank=mode Blank a CD-RW or DVD-RW to make it re-usable from scratch. Format a DVD-RW, DVD+RW, DVD-RAM, BD-R, or BD-RE if not yet formatted. This operation normally makes any recorded data on the medium unreadable. It is combinable with burning in the same run of - `xorrecord', or it may be performed without a track source, - leaving the medium empty. + 'xorrecord', or it may be performed without a track source, leaving + the medium empty. The mode given with blank= selects the particular behavior: as_needed - Try to make the media ready for writing from scratch. If it needs - formatting, then format it. If it is not blank, then try to apply + Try to make the media ready for writing from scratch. If it needs + formatting, then format it. If it is not blank, then try to apply blank=fast. It is a reason to abort if the medium cannot assume - thoroughly writeable state, e.g. if it is a non-blank write-once. - This leaves unformatted DVD-RW in unformatted blank state. To - format DVD-RW use blank=format_overwrite. Blank unformatted BD-R + thoroughly writeable state, e.g. if it is a non-blank write-once. + This leaves unformatted DVD-RW in unformatted blank state. To + format DVD-RW use blank=format_overwrite. Blank unformatted BD-R stay unformatted. (Note: blank=as_needed is not an original cdrecord option.) all Blank an entire CD-RW or an unformatted DVD-RW. + fast Minimally blank an entire CD-RW or blank an unformatted DVD-RW. + deformat Like blank=all but with the additional ability to blank - overwriteable DVD-RW. This will destroy their formatting and make + overwriteable DVD-RW. This will destroy their formatting and make them sequentially recordable. (Note: blank=deformat is not an original cdrecord options) + deformat_quickest Like blank=deformat but blanking DVD-RW only minimally. This is faster than full blanking but yields media incapable of writing @@ -312,144 +308,132 @@ blank=mode either. (Note: blank=deformat_quickest is not an original cdrecord option.) + format_overwrite - Format a DVD-RW to "Restricted Overwrite". The user should bring + Format a DVD-RW to "Restricted Overwrite". The user should bring some patience. Format unformatted DVD+RW, BD-RE or blank BD-R to their default size. It is not mandatory to do this with DVD+RW and BD-RE media, because they will get formatted automatically on the first write attempt. - BD-R media may be written in unformatted state. This keeps + BD-R media may be written in unformatted state. This keeps disabled the replacement of bad blocks and enables full nominal - write speed. Once BD-R media are written, they cannot be formatted + write speed. Once BD-R media are written, they cannot be formatted any more. For re-formatting already formatted media or for formatting with non-default size, use program *xorriso* with command *-format*. (Note: blank=format_overwrite is not an original cdrecord options) + help Print a short overview of blank modes to standard error output. Afterwards end emulation without performing any drive operation. - -multi This option keeps CD, unformatted DVD-R[W], DVD+R, or BD-R appendable after the current session has been written. Without it - the disc gets closed and may not be written any more - unless it - is a -RW and gets blanked, which causes loss of its content. + the disc gets closed and may not be written any more - unless it is + a -RW and gets blanked, which causes loss of its content. This option cannot be applied to DVD-R DL or to DVD-RW which were - blanked by mode "deformat_quickest". Option -multi_if_possible may + blanked by mode "deformat_quickest". Option -multi_if_possible may automatically recognize and handle this situation. In order to have all filesystem content accessible, the eventual ISO-9660 filesystem of a follow-up session needs to be prepared in - a special way by the filesystem formatter program. mkisofs, + a special way by the filesystem formatter program. mkisofs, genisoimage, and xorrisofs expect particular info about the - situation which can be retrieved by `xorrecord' option -msinfo. + situation which can be retrieved by 'xorrecord' option -msinfo. With overwriteable DVD or BD media, -multi cannot mark the end of the session. So when adding a new session, this end has to be determined from the payload. Currently only ISO-9660 filesystems - can be used that way. See option *-grow_overwriteable_iso*. - + can be used that way. See option *-grow_overwriteable_iso*. -dummy Try to perform the drive operations without actually affecting the - inserted media. There is no warranty that this will work with a - particular combination of drive and media. Blanking is prevented - reliably, though. To avoid inadverted real burning, -dummy - refuses burn runs on anything but CD-R[W], DVD-R[W], or emulated + inserted media. There is no warranty that this will work with a + particular combination of drive and media. Blanking is prevented + reliably, though. To avoid inadverted real burning, -dummy refuses + burn runs on anything but CD-R[W], DVD-R[W], or emulated stdio-drives. - -waiti Wait until input data is available at stdin or EOF occurs at stdin. Only then begin to access any drives. One should use this if xorrisofs is working at the end of a pipe where the feeder process reads from the drive before it starts - writing its output into xorrisofs. Example: - xorrisofs ... -C 0,12800 -M /dev/sr0 ... | \ - xorrecord dev=/dev/sr0 ... -waiti - + writing its output into xorrisofs. Example: + xorrisofs ... -C 0,12800 -M /dev/sr0 ... | \ + xorrecord dev=/dev/sr0 ... -waiti - This option works even if standard input is not the track source. If no process is piping in, then the Enter key of your terminal - will act as trigger for `xorrecord'. Note that this input line + will act as trigger for 'xorrecord'. Note that this input line will not be consumed by cdrskin if standard input is not the track - source. It will end up as shell command, usually. - + source. It will end up as shell command, usually. tsize=size - Announce the exact size of the track source. This is necessary with - DVD-R DL media and with quickest blanked DVD-RW, if the size - cannot be determined in advance from the track source. E.g. if it + Announce the exact size of the track source. This is necessary + with DVD-R DL media and with quickest blanked DVD-RW, if the size + cannot be determined in advance from the track source. E.g. if it is standard input or a named pipe. - If the track source does not deliver the predicted amount of - bytes, the remainder of the track is padded with zeros. This is - not considered an error. If on the other hand the track source - delivers more than the announced bytes then the track on media - gets truncated to the predicted size and xorrecord exits with - non-zero value. - + If the track source does not deliver the predicted amount of bytes, + the remainder of the track is padded with zeros. This is not + considered an error. If on the other hand the track source + delivers more than the announced bytes then the track on media gets + truncated to the predicted size and xorrecord exits with non-zero + value. -isosize Try to obtain the track size from the content of the track source. This works only if the track source bears an ISO 9660 filesystem. Any other track source content will cause the burn run to abort. If the track source is not a regular file or block device, then this option will work only if the program's fifo size is at least - 64k. See option fs=. - + 64k. See option fs=. padsize=size Add the given amount of trailing zeros to the upcomming track. - This feature can be disabled by size 0. Default is 300 kB in order + This feature can be disabled by size 0. Default is 300 kB in order to work around a problem with GNU/Linux which often fails to read the last few blocks of a CD track which was written in write mode - TAO. TAO is used by `xorrecord' if the track size cannot be + TAO. TAO is used by 'xorrecord' if the track size cannot be predicted or if the CD medium is not blank but appendable. - -nopad The same as padsize=0. - -pad - The same as padsize=15s. This was once sufficient with older - GNU/Linux kernels. Meanwhile one should at least use padsize=128k, + The same as padsize=15s. This was once sufficient with older + GNU/Linux kernels. Meanwhile one should at least use padsize=128k, if not padsize=300k. - -data Explicitely announce that the track source shall be recorded as - data track, and not as audio track. This option has no effect with - `xorrecord', because there is no support for other track formats + data track, and not as audio track. This option has no effect with + 'xorrecord', because there is no support for other track formats anyway. - -tao Explicitely demand that write type TAO shall be used for CD, or Incremental for DVD-R. Normally the program will choose the write type according to the given medium state, option -multi, and track - source. Demanding it explicitely prevents the start of a write + source. Demanding it explicitely prevents the start of a write run, if it is not appropriate to the situation. - -sao - Explicitely demand that write type SAO shall be used for CD, or - DAO for DVD-R. This might prevent the write run, if it is not + Explicitely demand that write type SAO shall be used for CD, or DAO + for DVD-R. This might prevent the write run, if it is not appropriate to the situation. - -dao Alias of -sao. - fs=size Set the size of the program fifo buffer to the given value rather than the default of 4m. The fifo buffers a temporary surplus of track source data in order - to provide the drive with a steady stream during times of - temporary lack of track source supply. + to provide the drive with a steady stream during times of temporary + lack of track source supply. Other than cdrecord, xorrecord enables drive buffer underrun - protection by default and does not wait with writing until the - fifo is full for a first time. On very old CD drives and slow + protection by default and does not wait with writing until the fifo + is full for a first time. On very old CD drives and slow computers, this might cause aborted burn runs. In this case, consider to use program *cdrskin* for CD burning. DVD and BD drives tolerate buffer underrun without problems. The larger the fifo, the longer periods of poor source supply can - be compensated. But a large fifo can deprive the operating system + be compensated. But a large fifo can deprive the operating system of read cache for better filesystem performance. - speed=value - Set the write speed. Default is 0 = maximum speed. Speed can be + Set the write speed. Default is 0 = maximum speed. Speed can be given in media type dependent x-speed numbers or as a desired throughput per second in MMC compliant kB (= 1000) or MB (= 1000 - kB). Media x-speed factor can be set explicity by appending "c" - for CD, "d" for DVD, "b" for BD. "x" is optional. + kB). Media x-speed factor can be set explicity by appending "c" for + CD, "d" for DVD, "b" for BD. "x" is optional. Example speeds: 706k = 706kB/s = 4c = 4xCD 5540k = 5540kB/s = 4d = 4xDVD @@ -460,7 +444,12 @@ speed=value MMC drives usually activate their own idea of speed and take the speed value given by the burn program only as a hint for their own decision. - +minbuf=percentage + Equivalent to: + modesty_on_drive= +-immed + Equivalent to: + modesty_on_drive=75 -eject Eject the drive tray after alll other work is done. @@ -475,16 +464,14 @@ File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: O Print to standard output a line beginning by "Cdrecord 2.01-Emulation Copyright" and further lines which report the version of xorriso and its - supporting libraries. They also state the license under which the + supporting libraries. They also state the license under which the program is provided, and disclaim any warranty, to the extent permitted by law. Afterwards end emulation without performing any drive operation. - -v - Increase program verbosity by one level. There are four verbosity - levels from nearly silent to debugging verbosity. The both highest - levels can be enabled by repeated -v or by -vv resp. -vvv. - + Increase program verbosity by one level. There are four verbosity + levels from nearly silent to debugging verbosity. The both highest + levels can be enabled by repeated -v or by -vv or by -vvv. -V Log SCSI commands and drive replies to standard error. This might be of interest if *xorrecord* and a particular drive or medium do @@ -494,8 +481,7 @@ File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: O Please do not add such a log to a bug report on the first hand, unless you want to point out a particular deviation from said specs, or if you get asked for this log by a maintainer of - `xorrecord' who feels in charge for your bug report. - + 'xorrecord' who feels in charge for your bug report. -help Print a sparse list of program options to standard error and declare not to be cdrecord. @@ -510,69 +496,93 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up: --no_rc Only if used as first command line argument this option prevents - reading and interpretation of startup files. See section FILES + reading and interpretation of startup files. See section FILES below. - --grow_overwriteable_iso Enable emulation of multi-session writing on overwriteable media - which contain an ISO 9660 filesystem. This emulation is learned + which contain an ISO 9660 filesystem. This emulation is learned from growisofs -M but adapted to the usage model of xorrecord -msinfo xorrisofs -C -M | xorrecord -waiti -multi - for sequential media. -grow_overwriteable_iso does not hamper the use of true - multi-session media. I.e. it is possible to use the same - `xorrecord' options with both kinds of media and to achieve - similar results if ISO 9660 filesystem images are to be written. - This option implies option -isosize and therefore demands that the - track source is a ISO 9660 filesystem image. + multi-session media. I.e. it is possible to use the same + 'xorrecord' options with both kinds of media and to achieve similar + results if ISO 9660 filesystem images are to be written. This + option implies option -isosize and therefore demands that the track + source is a ISO 9660 filesystem image. With overwriteable media and no option blank=fast|all present it - expands an eventual ISO 9660 filesystem on media. It is assumed + expands an eventual ISO 9660 filesystem on media. It is assumed that this image's inner size description points to the end of the valuable data. Overwriteable media with a recognizable ISO 9660 - size will be regarded as appendable rather than as blank. I.e. - options -msinfo and -toc will work. -toc will always show a - single session with its size increasing with every added ISO 9660 - image. - + size will be regarded as appendable rather than as blank. I.e. + options -msinfo and -toc will work. -toc will always show a single + session with its size increasing with every added ISO 9660 image. --multi_if_possible - Apply option -multi if the medium is suitable. Not suitable are + Apply option -multi if the medium is suitable. Not suitable are DVD-R DL and DVD-RW, which were blanked with mode "deformat_quickest". Not all drives correctly recognize such fast-blanked DVD-RW which need "on". If there is well founded suspicion that a burn run failed due to -multi, then this causes a re-try without -multi. - stream_recording="on"|"off"|number Mode "on" requests that compliance to the desired speed setting is - preferred over management of write errors. With DVD-RAM and BD + preferred over management of write errors. With DVD-RAM and BD this can bring effective write speed near to the nominal write speed of the media. But it will also disable the automatic use of - replacement blocks if write errors occur. It might as well be + replacement blocks if write errors occur. It might as well be disliked or ignored by the drive. If a number is given, then error management stays enabled for all - byte addresses below that number. Any number below 16s is the same + byte addresses below that number. Any number below 16s is the same as "off". - dvd_obs="default"|"32k"|"64k" - Linux specific: Set the number of bytes to be transmitted with - each write operation to DVD or BD media. Tracks get padded up to - the next multiple of this write size. A number of 64 KB may - improve throughput with bus systems which show latency problems. - The default depends on media type, option stream_recording=, and - on compile time options. - + Linux specific: Set the number of bytes to be transmitted with each + write operation to DVD or BD media. Tracks get padded up to the + next multiple of this write size. A number of 64 KB may improve + throughput with bus systems which show latency problems. The + default depends on media type, option stream_recording=, and on + compile time options. +modesty_on_drive=parameter[:parameters] + Control whether the drive buffer shall be kept from getting + completely filled. Parameter "on" (or "1") keeps the program from + trying to write to the burner drive while its buffer is in danger + to be filled over a given limit. If this filling is exceeded then + the program will wait until the filling reaches a given low + percentage value. + This can ease the load on operating system and drive controller and + thus help with achieving better input bandwidth if disk and burner + are not on independent controllers (like hda and hdb). It may also + help with simultaneous burns on different burners with Linux + kernels like 3.16. On the other hand it increases the risk of + buffer underflow and thus reduced write speed. + Some burners are not suitable because they report buffer fill with + granularity too coarse in size or time, or expect their buffer to + be filled to the top before they go to full speed. + Parameters "off" or "0" disable this feature. + The threshhold for beginning to wait is given by parameter + "max_percent=". Parameter "min_percent=" defines the threshhold + for resuming transmission. Percentages are permissible in the + range of 25 to 100. Numbers in this range without a prepended name + are interpreted as "on:min_percent=". + E.g.: modesty_on_drive=75 + The optimal values depend on the buffer behavior of the drive. + There are also timing parameters "timeout_sec=", "min_usec=", + "max_usec=". Read the description of + burn_drive_set_buffer_waiting() in libburn.h, before setting them + to non-default values. + Parameters, which are not mentioned with a modesty_on_drive= + option, stay unchanged. Default is: + modesty_on_drive=off:min_percent=65:max_percent=95 write_start_address=value Set the block address on overwritable media where to start writing the track. With DVD+RW, DVD-RAM or BD-RE, byte_offset must be aligned to 2 kiB blocks, but better is 32 kiB on DVD and 64 kiB on - BD. With formatted DVD-RW 32 kiB alignment is mandatory. + BD. With formatted DVD-RW 32 kiB alignment is mandatory. Other media are not suitable for this option. - stdio_sync="on"|"off"|number Set the number of bytes after which to force output to emulated stdio: drives. This forcing keeps the memory from being clogged - with lots of pending data for slow devices. Default "on" is the + with lots of pending data for slow devices. Default "on" is the same as "16m". Forced output can be disabled by "off".  @@ -629,10 +639,10 @@ File: xorrecord.info, Node: ExFormat, Next: ExDeformat, Prev: ExBlank, Up: E $ xorrecord -v dev=/dev/sr0 blank=format_overwrite -eject -This command may also be used to format BD-R media before first use, in -order to enable handling of write errors. Several hundred MB of spare -blocks will be reserved and write runs on such media will perform with -less than half nominal speed. + This command may also be used to format BD-R media before first use, +in order to enable handling of write errors. Several hundred MB of +spare blocks will be reserved and write runs on such media will perform +with less than half nominal speed.  File: xorrecord.info, Node: ExDeformat, Next: ExIsoSingle, Prev: ExFormat, Up: Examples @@ -650,8 +660,8 @@ File: xorrecord.info, Node: ExIsoSingle, Next: ExIsoMulti, Prev: ExDeformat, ============================================ -$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ -blank=as_needed -eject padsize=300k my_image.iso +$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ blank=as_needed -eject +padsize=300k my_image.iso  File: xorrecord.info, Node: ExIsoMulti, Next: ExIsoFly, Prev: ExIsoSingle, Up: Examples @@ -662,38 +672,38 @@ File: xorrecord.info, Node: ExIsoMulti, Next: ExIsoFly, Prev: ExIsoSingle, U This is possible with all media except minimally blanked DVD-RW and DVD-R DL, which cannot do multi-session. The first session is written like in the previous example, except that -option -multi is used. It will contain the files of hard disk directory +option -multi is used. It will contain the files of hard disk directory ./tree1 under the ISO 9660 directory /dir1: -$ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1 + $ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1 $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ -multi -grow_overwriteable_iso \ blank=as_needed -eject padsize=300k image_1.iso -For the second session xorrisofs needs to know the -msinfo numbers of -the medium. Further it will read data from the medium by using the + For the second session xorrisofs needs to know the -msinfo numbers of +the medium. Further it will read data from the medium by using the system's read-only CD-ROM driver. It is advised to load the tray manually or via dd by the CD-ROM driver, -rather than letting xorrecord do this by its own SCSI driver. Many +rather than letting xorrecord do this by its own SCSI driver. Many system CD-ROM drivers do not take notice of xorrecord's activities. -$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 + $ dd if=/dev/sr0 count=1 >/dev/null 2>&1 Now get the -msinfo numbers: $ m=$(xorrecord dev=/dev/sr0 -msinfo) -and use them with xorrisofs to add ./tree2 to the image as /dir2: + and use them with xorrisofs to add ./tree2 to the image as /dir2: -$ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \ + $ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \ -J -graft-points /dir2=./tree2 -Now burn the new session onto the same medium. This time without + Now burn the new session onto the same medium. This time without blanking: -$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ + $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ -multi -grow_overwriteable_iso \ -eject padsize=300k image_2.iso -Operating systems which mount this medium will read the superblock of + Operating systems which mount this medium will read the superblock of the second session and show both directories /dir1 and /dir2.  @@ -702,19 +712,19 @@ File: xorrecord.info, Node: ExIsoFly, Next: ExAfio, Prev: ExIsoMulti, Up: Ex 6.8 Write ISO 9660 session on-the-fly ===================================== -It is possible to combine the run of *xorrisofs* and `xorrecord' in a +It is possible to combine the run of *xorrisofs* and 'xorrecord' in a pipeline without storing the ISO 9660 image as file on hard disk: -$ xorrisofs -M /dev/sr0 -C $m \ + $ xorrisofs -M /dev/sr0 -C $m \ -J -graft-points /dir2=./tree2 \ | xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ -waiti -multi -grow_overwriteable_iso \ -eject padsize=300k - -This is also the main use case of program *xorriso* itself, where this -run would look like: + This is also the main use case of program *xorriso* itself, where +this run would look like: -$ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \ + $ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \ -map ./tree2 /dir2 -commit_eject all  @@ -724,24 +734,24 @@ File: xorrecord.info, Node: ExAfio, Prev: ExIsoFly, Up: Examples ============================================ This is possible with all media except minimally blanked DVD-RW and -DVD-R DL. Since the compressed output stream is of very variable -speed, a larger fifo is advised. Nevertheless, this example is not -suitable for very old CD drives which have no underrun protection and -thus would abort the burn run on temporary data shortage. +DVD-R DL. Since the compressed output stream is of very variable speed, +a larger fifo is advised. Nevertheless, this example is not suitable +for very old CD drives which have no underrun protection and thus would +abort the burn run on temporary data shortage. -$ find . | afio -oZ - | \ + $ find . | afio -oZ - | \ xorrecord -v dev=/dev/sr0 speed=12 fs=64m \ -multi padsize=300k - -afio archives do not contain references to absolute data block -addresses. So they need no special precautions for multi-session. One + afio archives do not contain references to absolute data block +addresses. So they need no special precautions for multi-session. One may get the session start addresses by option -toc, and then use dd -option skip= to begin reading at one of those addresses. E.g. for +option skip= to begin reading at one of those addresses. E.g. for listing its content: -$ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ - + $ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ - -afio will know when the end of the archive is reached. + afio will know when the end of the archive is reached.  File: xorrecord.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top @@ -752,17 +762,18 @@ File: xorrecord.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top 7.1 Startup Files ================= -If not -no_rc is given as the first argument then `xorrecord' attempts + +If not -no_rc is given as the first argument then 'xorrecord' attempts on startup to read and execute lines from the following files: -/etc/default/xorriso + /etc/default/xorriso /etc/opt/xorriso/rc /etc/xorriso/xorriso.conf $HOME/.xorrisorc -The files are read in the sequence given here, but none of them is -required to exist. The lines are not interpreted as `xorrecord' options -but as generic *xorriso* commands. See man xorriso. + The files are read in the sequence given here, but none of them is +required to exist. The lines are not interpreted as 'xorrecord' options +but as generic *xorriso* commands. See man xorriso.  File: xorrecord.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top @@ -772,10 +783,8 @@ File: xorrecord.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top For generic xorriso command mode xorriso(1) - Formatting track sources for xorrecord xorrisofs(1), mkisofs(8), genisoimage(8), afio(1), star(1) - Other programs which burn sessions to optical media growisofs(1), cdrecord(1), wodim(1), cdrskin(1) @@ -785,15 +794,15 @@ File: xorrecord.info, Node: Bugreport, Next: Legal, Prev: Seealso, Up: Top 9 Reporting bugs **************** -To report bugs, request help, or suggest enhancements for `xorriso', +To report bugs, request help, or suggest enhancements for 'xorriso', please send electronic mail to the public list . If more privacy is desired, mail to . -Please describe what you expect `xorriso' to do, the program arguments -resp. commands by which you tried to achieve it, the messages of -`xorriso', and the undesirable outcome of your program run. + Please describe what you expect 'xorriso' to do, the program +arguments or dialog commands by which you tried to achieve it, the +messages of 'xorriso', and the undesirable outcome of your program run. -Expect to get asked more questions before solutions can be proposed. + Expect to get asked more questions before solutions can be proposed.  File: xorrecord.info, Node: Legal, Next: CommandIdx, Prev: Bugreport, Up: Top @@ -811,15 +820,15 @@ for libburnia-project.org ============== Copyright (c) 2011 - 2015 Thomas Schmitt -Permission is granted to distribute this text freely. It shall only be -modified in sync with the technical properties of xorriso. If you make +Permission is granted to distribute this text freely. It shall only be +modified in sync with the technical properties of xorriso. If you make use of the license to derive modified versions of xorriso then you are entitled to modify this text under that same license. 10.3 Credits ============ -`xorriso' is in part based on work by Vreixo Formoso who provides +'xorriso' is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman and Ben Jansens who once founded libburn. @@ -835,47 +844,49 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T [index] * Menu: -* --devices get list of drives: DriveAddr. (line 8) -* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord. - (line 13) -* --multi_if_possible apply -multi if medium is suitable: NonCdrecord. - (line 35) -* --no_rc do not execute xorriso startup files: NonCdrecord. - (line 8) -* -atip inquire medium state: Inquire. (line 16) -* -checkdrive inquire drive CD capabilities: Inquire. (line 12) -* -dao explicitely set write type SAO/DAO: SetBurn. (line 178) -* -data explicitely announce a data track: SetBurn. (line 160) -* -dummy control write simulation: SetBurn. (line 102) -* -eject finally eject drive tray: SetBurn. (line 214) -* -help print sparse overview of options: Verbous. (line 33) -* -inq inquire drive identifiers: Inquire. (line 8) -* -isosize obtain track size from ISO 9660 superblock: SetBurn. - (line 136) -* -msinfo retrieve multi-session info: Inquire. (line 48) -* -multi keep media appendable after burn run: SetBurn. (line 84) -* -nopad disable adding of bytes to end of track: SetBurn. (line 152) -* -pad add 15 blocks to end of track: SetBurn. (line 155) -* -sao explicitely set write type SAO/DAO: SetBurn. (line 173) -* -tao explicitely set write type TAO: SetBurn. (line 166) -* -toc inquire medium content: Inquire. (line 25) -* -v increase program verbosity: Verbous. (line 17) -* -V log SCSI command transactions to stderr: Verbous. (line 22) -* -version report emulation and xorriso version: Verbous. (line 8) -* -waiti access drive only after stdin delivers data: SetBurn. - (line 110) -* blank= make media re-usabable or format media: SetBurn. (line 27) -* dev= address the drive to be used: DriveAddr. (line 22) -* dvd_obs= set write transaction payload size: NonCdrecord. (line 54) -* fs= set program fifo size: SetBurn. (line 181) -* padsize= add bytes to end of track: SetBurn. (line 144) -* speed= set write speed: SetBurn. (line 197) -* stdio_sync= control stdio buffer: NonCdrecord. (line 69) -* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. - (line 43) -* tsize= set a fixed track size: SetBurn. (line 124) -* write_start_address= set block address for write start: NonCdrecord. - (line 62) +* --devices get list of drives: DriveAddr. (line 8) +* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord. + (line 12) +* --multi_if_possible apply -multi if medium is suitable: NonCdrecord. + (line 32) +* --no_rc do not execute xorriso startup files: NonCdrecord. (line 8) +* -atip inquire medium state: Inquire. (line 14) +* -checkdrive inquire drive CD capabilities: Inquire. (line 11) +* -dao explicitely set write type SAO/DAO: SetBurn. (line 172) +* -data explicitely announce a data track: SetBurn. (line 157) +* -dummy control write simulation: SetBurn. (line 106) +* -eject finally eject drive tray: SetBurn. (line 211) +* -help print sparse overview of options: Verbous. (line 30) +* -immed keep drive buffer hungry: SetBurn. (line 208) +* -inq inquire drive identifiers: Inquire. (line 8) +* -isosize obtain track size from ISO 9660 superblock: SetBurn. + (line 137) +* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 56) +* -msinfo retrieve multi-session info: Inquire. (line 43) +* -multi keep media appendable after burn run: SetBurn. (line 89) +* -nopad disable adding of bytes to end of track: SetBurn. (line 151) +* -pad add 15 blocks to end of track: SetBurn. (line 153) +* -sao explicitely set write type SAO/DAO: SetBurn. (line 168) +* -tao explicitely set write type TAO: SetBurn. (line 162) +* -toc inquire medium content: Inquire. (line 22) +* -v increase program verbosity: Verbous. (line 16) +* -V log SCSI command transactions to stderr: Verbous. (line 20) +* -version report emulation and xorriso version: Verbous. (line 8) +* -waiti access drive only after stdin delivers data: SetBurn. + (line 113) +* blank= make media re-usabable or format media: SetBurn. (line 28) +* dev= address the drive to be used: DriveAddr. (line 21) +* dvd_obs= set write transaction payload size: NonCdrecord. (line 49) +* fs= set program fifo size: SetBurn. (line 174) +* minbuf= keep drive buffer hungry: SetBurn. (line 205) +* padsize= add bytes to end of track: SetBurn. (line 144) +* speed= set write speed: SetBurn. (line 189) +* stdio_sync= control stdio buffer: NonCdrecord. (line 93) +* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. + (line 39) +* tsize= set a fixed track size: SetBurn. (line 126) +* write_start_address= set block address for write start: NonCdrecord. + (line 87)  File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -886,89 +897,92 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top [index] * Menu: -* Accessing drive, wait for stdin, -waiti: SetBurn. (line 110) +* Accessing drive, wait for stdin, -waiti: SetBurn. (line 113) * Bugs, reporting: Bugreport. (line 6) -* Data track, announce, -data: SetBurn. (line 160) -* Defect management, control, stream_recording=: NonCdrecord. (line 43) -* Drive, address, dev=: DriveAddr. (line 22) +* Data track, announce, -data: SetBurn. (line 157) +* Defect management, control, stream_recording=: NonCdrecord. (line 39) +* Drive, address, dev=: DriveAddr. (line 21) * Drive, get list of, --devices: DriveAddr. (line 8) -* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 12) +* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 11) * Drive, inquire identifiers, -inq: Inquire. (line 8) -* Eject, the tray, -eject: SetBurn. (line 214) +* Eject, the tray, -eject: SetBurn. (line 211) * Examples: Examples. (line 6) -* Fifo, set size, fs=: SetBurn. (line 181) +* Fifo, set size, fs=: SetBurn. (line 174) * Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord. - (line 43) + (line 39) * Media types, _definiton: Standards. (line 23) -* Media, blank, blank=: SetBurn. (line 27) -* Media, format, blank=: SetBurn. (line 27) -* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 35) -* Media, keep appendable, -multi: SetBurn. (line 84) -* Media, make re-usable, blank=: SetBurn. (line 27) -* medium content, inquire, -toc: Inquire. (line 25) -* medium state, inquire, -atip: Inquire. (line 16) +* Media, blank, blank=: SetBurn. (line 28) +* Media, format, blank=: SetBurn. (line 28) +* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 32) +* Media, keep appendable, -multi: SetBurn. (line 89) +* Media, make re-usable, blank=: SetBurn. (line 28) +* medium content, inquire, -toc: Inquire. (line 22) +* medium state, inquire, -atip: Inquire. (line 14) * MMC, _definiton: Standards. (line 6) -* multi-session info, retrieve, -msinfo: Inquire. (line 48) +* multi-session info, retrieve, -msinfo: Inquire. (line 43) * Multi-session, emulate ISO 9660, --grow_overwriteable_iso: NonCdrecord. - (line 13) -* Options, overview, -help: Verbous. (line 33) + (line 12) +* Options, overview, -help: Verbous. (line 30) * Overwritable media, _definiton: Standards. (line 30) * Padding, at end of track, padsize=: SetBurn. (line 144) -* Padding, disable, -nopad: SetBurn. (line 152) -* Padding, insufficient old, -pad: SetBurn. (line 155) +* Padding, disable, -nopad: SetBurn. (line 151) +* Padding, insufficient old, -pad: SetBurn. (line 153) * Problems, reporting: Bugreport. (line 6) -* SCSI commands, log, -V: Verbous. (line 22) +* SCSI commands, log, -V: Verbous. (line 20) * Sequentially recordable media, _definiton: Standards. (line 25) * Session, _definiton: Standards. (line 12) -* Speed, set for writing, speed=: SetBurn. (line 197) +* Speed, set for writing, speed=: SetBurn. (line 189) * Startup files, do not execute, --no_rc: NonCdrecord. (line 8) -* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 136) -* Track size, set fixed, tsize=: SetBurn. (line 124) +* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 137) +* Track size, set fixed, tsize=: SetBurn. (line 126) * Track, _definiton: Standards. (line 13) -* Transaction size, set, dvd_obs=: NonCdrecord. (line 54) -* Tray, eject, -eject: SetBurn. (line 214) -* Verbosity, increase, -v: Verbous. (line 17) -* Verbosity, SCSI commands, -V: Verbous. (line 22) +* Transaction size, set, dvd_obs=: NonCdrecord. (line 49) +* Tray, eject, -eject: SetBurn. (line 211) +* Verbosity, increase, -v: Verbous. (line 16) +* Verbosity, SCSI commands, -V: Verbous. (line 20) * Version, report, -version: Verbous. (line 8) -* Write simulation , control, -dummy: SetBurn. (line 102) +* Write simulation , control, -dummy: SetBurn. (line 106) * Write start address, set, write_start_address=: NonCdrecord. - (line 62) -* Write type, SAO/DAO, -dao: SetBurn. (line 178) -* Write type, SAO/DAO, -sao: SetBurn. (line 173) -* Write type, TAO, -tao: SetBurn. (line 166) -* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 69) + (line 87) +* Write type, SAO/DAO, -dao: SetBurn. (line 172) +* Write type, SAO/DAO, -sao: SetBurn. (line 168) +* Write type, TAO, -tao: SetBurn. (line 162) +* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 93) +* Write, drive buffer, -immed: SetBurn. (line 208) +* Write, drive buffer, minbuf=: SetBurn. (line 205) +* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 56) * xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, options: Options. (line 6)  Tag Table: -Node: Top401 -Node: Overview1111 -Node: Standards1685 -Node: Drive3837 -Node: Xorriso5170 -Node: Options5881 -Node: DriveAddr6249 -Node: Inquire7611 -Node: SetBurn10481 -Node: Verbous20781 -Node: NonCdrecord22331 -Node: Examples25876 -Node: ExDevices26537 -Node: ExMedium26755 -Node: ExBlank27018 -Node: ExFormat27239 -Node: ExDeformat27753 -Node: ExIsoSingle28020 -Node: ExIsoMulti28304 -Node: ExIsoFly29910 -Node: ExAfio30573 -Node: Files31554 -Node: Seealso32101 -Node: Bugreport32466 -Node: Legal33047 -Node: CommandIdx33974 -Node: ConceptIdx37106 +Node: Top395 +Node: Overview1103 +Node: Standards1683 +Node: Drive3845 +Node: Xorriso5176 +Node: Options5885 +Node: DriveAddr6253 +Node: Inquire7618 +Node: SetBurn10487 +Node: Verbous20940 +Node: NonCdrecord22490 +Node: Examples27889 +Node: ExDevices28550 +Node: ExMedium28768 +Node: ExBlank29031 +Node: ExFormat29252 +Node: ExDeformat29770 +Node: ExIsoSingle30037 +Node: ExIsoMulti30321 +Node: ExIsoFly31955 +Node: ExAfio32626 +Node: Files33624 +Node: Seealso34180 +Node: Bugreport34543 +Node: Legal35134 +Node: CommandIdx36063 +Node: ConceptIdx39339  End Tag Table diff --git a/xorriso/xorrecord.texi b/xorriso/xorrecord.texi index 80691666..2ca86e53 100644 --- a/xorriso/xorrecord.texi +++ b/xorriso/xorrecord.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRECORD 1 "Version 1.4.1, May 17, 2015" +@c man .TH XORRECORD 1 "Version 1.4.1, Jul 30, 2015" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -196,8 +196,8 @@ device file. On Solaris, the user needs r-permission and privilege "sys_devices", which is usually gained by running @command{xorrecord} via command pfexec. @* -These permissions resp. privileges are needed already for listing a drive. -So it might be necessary to get the overview as superuser resp. via pfexec. +These permissions or privileges are needed already for listing a drive. +So it might be necessary to get the overview as superuser or via pfexec. @* @command{xorrecord} does not perform cdrecord option -scanbus and does not accept the addresses of form Bus,Target,Lun which are told by -scanbus. @@ -228,7 +228,7 @@ to generic xorriso command mode. See @strong{man xorriso} for its description. Other than in xorriso command mode, the sequence of the cdrecord emulation options does not matter. All pending actions get performed in a fixed sequence before the program -run ends resp. before cdrecord emulation ends. +run ends or before cdrecord emulation ends. @c man .SS @node Options, Examples, Xorriso, Top @chapter Options @@ -648,6 +648,20 @@ MMC drives usually activate their own idea of speed and take the speed value given by the burn program only as a hint for their own decision. @c man .TP +@item minbuf=percentage +@kindex minbuf= keep drive buffer hungry +@cindex Write, drive buffer, minbuf= +Equivalent to: +@* + modesty_on_drive= +@c man .TP +@item -immed +@kindex -immed keep drive buffer hungry +@cindex Write, drive buffer, -immed +Equivalent to: +@* + modesty_on_drive=75 +@c man .TP @item -eject @kindex -eject finally eject drive tray @cindex Eject, the tray, -eject @@ -679,7 +693,7 @@ Afterwards end emulation without performing any drive operation. @cindex Verbosity, increase, -v Increase program verbosity by one level. There are four verbosity levels from nearly silent to debugging verbosity. The both highest levels can -be enabled by repeated -v or by -vv resp. -vvv. +be enabled by repeated -v or by -vv or by -vvv. @c man .TP @item -V @kindex -V log SCSI command transactions to stderr @@ -779,6 +793,46 @@ size. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, option stream_recording=, and on compile time options. @c man .TP +@item modesty_on_drive=parameter[:parameters] +@kindex -modesty_on_drive keep drive buffer hungry +@cindex Write, drive buffer, modesty_on_drive= +Control whether the drive buffer shall be kept from getting completely filled. +Parameter "on" (or "1") keeps the program from trying to write to the burner +drive while its buffer is in danger to be filled over a given limit. +If this filling is exceeded then the program will wait until the filling +reaches a given low percentage value. +@* +This can ease the load on operating system and drive controller and thus help +with achieving better input bandwidth if disk and burner are not on independent +controllers (like hda and hdb). It may also help with simultaneous burns on +different burners with Linux kernels like 3.16. On the other hand it increases +the risk of buffer underflow and thus reduced write speed. +@* +Some burners are not suitable because they +report buffer fill with granularity too coarse in size or time, +or expect their buffer to be filled to the top before they go to full speed. +@* +Parameters "off" or "0" disable this feature. +@* +The threshhold for beginning to wait is given by parameter "max_percent=". +Parameter "min_percent=" defines the threshhold for resuming transmission. +Percentages are permissible in the range of 25 to 100. Numbers in this +range without a prepended name are interpreted as "on:min_percent=". +@* +E.g.: modesty_on_drive=75 +@* +The optimal values depend on the buffer behavior of the drive. +@* +There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". +Read the description of burn_drive_set_buffer_waiting() in libburn.h, +before setting them to non-default values. +@* +Parameters, which are not mentioned with a modesty_on_drive= option, +stay unchanged. +Default is: +@* + modesty_on_drive=off:min_percent=65:max_percent=95 +@c man .TP @item write_start_address=value @kindex write_start_address= set block address for write start @cindex Write start address, set, write_start_address= @@ -1057,7 +1111,7 @@ If more privacy is desired, mail to @email{scdbackup@@gmx.net}. @* @sp 1 Please describe what you expect @command{xorriso} to do, -the program arguments resp. commands by which you tried to achieve it, +the program arguments or dialog commands by which you tried to achieve it, the messages of @command{xorriso}, and the undesirable outcome of your program run. @* diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index ee6eeca8..4be8e0cc 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISO 1 "Version 1.4.1, Mai 17, 2015" +.TH XORRISO 1 "Version 1.4.1, Jul 30, 2015" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -216,7 +216,7 @@ for \fBxorriso\fR. .br Closed is the state of DVD\-ROM media and of multi\-session media which were written with command \-close on. If the drive is read\-only hardware then it will -probably show any media as closed CD\-ROM resp. DVD\-ROM. +probably show any media as closed CD\-ROM or DVD\-ROM. .br Overwriteable media assume this state in such read\-only drives or if they contain unrecognizable data in the first 32 data blocks. @@ -778,7 +778,7 @@ If an ISO image was written onto a partition with offset of 640000 blocks of 512 bytes, then it can be loaded from the base device by \-displacement 160000. .br In both cases, the ISO sessions should be self contained, i.e. not add\-on -sessions to an ISO image outside their track resp. partition. +sessions to an ISO image outside their track or partition. .TP \fB\-drive_class\fR "harmless"|"banned"|"caution"|"clear_list" disk_pattern Add a drive path pattern to one of the safety lists or make those lists empty. @@ -991,7 +991,8 @@ for substantial time after they have been used for reading. This reduces the startup time for the next drive operation but can be loud and waste energy if no i/o with the drive is expected to happen soon. .br -Modes "in", "out", "all" immediately calm down \-indev, \-outdev, resp. both. +Modes "in", "out", "all" immediately calm down \-indev, \-outdev, or both, +respectively. Mode "revoke" immediately alerts both. Mode "on" causes \-calm_drive to be performed automatically after each \-dev, \-indev, and \-outdev. Mode "off" disables this. @@ -1121,7 +1122,7 @@ as files to add, if they are not parameters to appropriate commands. \fB\-path_list\fR disk_path Like \-add but read the parameter words from file disk_path or standard input if disk_path is "\-". -The list must contain exactly one pathspec resp. disk_path pattern per line. +The list must contain exactly one pathspec or disk_path pattern per line. .TP \fB\-quoted_path_list\fR disk_path Like \-path_list but with quoted input reading rules. Lines get split into @@ -1248,7 +1249,7 @@ In case of collision merge directories with existing ones, but do not overwrite existing ISO file objects. .br The rules for generating the copy addresses are the same as with -command \-cpr (see above) resp. shell command cp \-r. Other than with \-cpr, +command \-cpr (see above) or shell command cp \-r. Other than with \-cpr, relative iso_rr_path_original will get prepended the \-cd path and not the \-cdx path. Consider to \-mkdir iso_rr_path_dest before \-cp_clone so the copy address does not depend on the number of iso_rr_path_original @@ -1333,7 +1334,7 @@ if they contain a / character, or as \-not_leaf pattern. .TP \fB\-quoted_not_list\fR disk_path Like \-not_list but with quoted input reading rules. Each word is -handled as one parameter for \-not_paths resp. \-not_leaf. +handled as one parameter for \-not_paths or \-not_leaf. .TP \fB\-follow\fR occasion[:occasion[...]] Enable or disable resolution of symbolic links and mountpoints under @@ -1426,7 +1427,7 @@ Set the threshold for automatic splitting of regular files. Such splitting maps a large disk file onto a ISO directory with several part files in it. This is necessary if the size of the disk file exceeds \-file_size_limit. Older operating systems can handle files in mounted ISO 9660 filesystems -only if they are smaller than 2 GiB resp. 4 GiB. +only if they are smaller than 2 GiB or in other cases 4 GiB. .br Default is 0 which will exclude files larger than \-file_size_limit by a FAILURE event. @@ -1558,8 +1559,8 @@ ACL entries are separated by comma or newline. If an entry is empty text or begins with "#" then it will be ignored. A valid entry has to begin by a letter out of {ugom} for "user", "group", "other", "mask". It has to contain two colons ":". A non\-empty text between those ":" gives a user id -resp. group id. After the second ":" there may be letters out of {rwx\- #}. -The first three give read, write resp. execute permission. +or group id. After the second ":" there may be letters out of {rwx\- #}. +The first three give read, write, or execute permission. Letters "\-", " " and TAB are ignored. "#" causes the rest of the entry to be ignored. Letter "X" or any other letters are not supported. Examples: .br @@ -1812,7 +1813,7 @@ All applicable \-compliance rules are taken into respect. Rule "omit_version" is always enabled, because else namespaces "joliet" and "ecma119" would cause changes with every non\-directory name. -Consider to also enable rules "no_force_dots" resp. "no_j_force_dots". +Consider to also enable rules "no_force_dots" and "no_j_force_dots". .br The namespaces use different character sets and apply further restrictions to name length, permissible characters, and mandatory name components. @@ -1840,7 +1841,7 @@ If this test is reached then the evaluation ends immediately and action is performed if the decision is "yes" or "true". See operator \-if. .br \fB\-true\fR and \fB\-false\fR : -Always match resp. match not. Evaluation goes on. +Always match or match not, respectively. Evaluation goes on. .br \fB\-sort_lba\fR : Always match. This causes \-find to perform its action in a sequence sorted by @@ -2288,7 +2289,7 @@ burn programs but you may well try some of those listed below under SEE ALSO. .TP \fB\-eject\fR "in"|"out"|"all" -Eject the medium in \-indev, resp. \-outdev, resp. both drives. +Eject the medium in \-indev, \-outdev, or both drives, respectively. Note: It is not possible yet to effectively eject disk files. .TP \fB\-commit_eject\fR "in"|"out"|"all"|"none" @@ -2424,9 +2425,9 @@ Only if the drive reports contradicting speed information there will appear \-speed 0, if it deviates from "Write speed H". .br "Read speed L" and "Read speed H" tell the minimum and maximum read speeds, -as reported by the drive. They would be chosen by \-read_speed "min" resp. -"max" if they undercut resp. surpass the built\-in limits. These are "1x" -resp. "52xCD", "24xDVD", "20xBD". +as reported by the drive. They would be chosen by \-read_speed "min" or +"max" if they undercut or surpass the built\-in limits. These are "1x", +"52xCD", "24xDVD", "20xBD". .TP \fB\-close_damaged\fR "as_needed"|"force" Try to close the upcomming track and session if the drive reported the medium @@ -2445,7 +2446,8 @@ No image changes are allowed to be pending before this command is performed. After closing was attempted, both drives are given up. .TP \fB\-list_profiles\fR "in"|"out"|"all" -Put out a list of media types supported by \-indev, resp. \-outdev, resp. both. +Put out a list of media types supported by \-indev, \-outdev, or both, +respectively. The currently recognized type is marked by text "(current)". .TP .B Settings for result writing: @@ -2837,6 +2839,44 @@ or BD media. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, on command \-stream_recording , and on compile time options. .TP +\fB\-modesty_on_drive\fR parameter[:parameters] +Control whether the drive buffer shall be kept from getting completely filled. +Parameter "on" (or "1") keeps the program from trying to write to the burner +drive while its buffer is in danger to be filled over a given limit. +If this limit is exceeded then the program will wait until the filling +reaches a given low percentage value. +.br +This can ease the load on operating system and drive controller and thus help +with achieving better input bandwidth if disk and burner are not on independent +controllers (like hda and hdb). It may also help with simultaneous burns on +different burners with Linux kernels like 3.16. On the other hand it increases +the risk of buffer underflow and thus reduced write speed. +.br +Some burners are not suitable because they +report buffer fill with granularity too coarse in size or time, +or expect their buffer to be filled to the top before they go to full speed. +.br +Parameters "off" or "0" disable this feature. +.br +The threshhold for beginning to wait is given by parameter "max_percent=". +Parameter "min_percent=" defines the threshhold for resuming transmission. +Percentages are permissible in the range of 25 to 100. Numbers in this +range without a prepended name are interpreted as "on:min_percent=". +.br +E.g.: \-modesty_on_drive 75 +.br +The optimal values depend on the buffer behavior of the drive. +.br +There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". +Read the description of burn_drive_set_buffer_waiting() in libburn.h, +before setting them to non\-default values. +.br +Parameters, which are not mentioned with a \-modesty_on_drive command, +stay unchanged. +Default is: +.br + \-modesty_on_drive off:min_percent=65:max_percent=95 +.TP \fB\-stdio_sync\fR "on"|"off"|"end"|number Set the number of bytes after which to force output to stdio: pseudo drives. This forcing keeps the memory from being clogged with lots of @@ -3306,8 +3346,8 @@ This is mutually exclusive with production of other boot blocks like MBR. .br \fBmips_discard\fR, \fBsparc_discard\fR, \fBhppa_discard\fR, \fBalpha_discard\fR -revoke any boot file declarations made for mips, mipsel, sparc, hppa, -resp. alpha. +revoke any boot file declarations made for mips/mipsel, sparc, hppa, +or alpha, respectively. This removes the ban on production of other boot blocks. .br \fBhfsplus_serial=\fRhexstring sets a string of 16 digits "0" to "9" @@ -3726,7 +3766,7 @@ before ending the program. With setting "tree" the reassuring prompt will appear for an eventual directory only once and not for each file in its whole subtree. .br -Setting "off" silently kills any kind of image file object resp. performs +Setting "off" silently kills any kind of image file object and performs above irrevocable actions. .br To really produce user prompts, command \-dialog needs to be set to "on". @@ -3842,7 +3882,7 @@ address. "%sbsector%" will be substituted by the session start sector. .br "%track%", "%session%", "%volid%" will be substituted by track number, -session number, resp. volume id of the depicted session. +session number, or volume id of the depicted session. .TP \fB\-print_size\fR Print the foreseeable consumption of 2048 byte blocks @@ -3966,8 +4006,8 @@ File type 'e' indicates the El Torito boot catalog. .br If the file has non\-trivial ACL, then a '+' is appended to the permission info. If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' -for "hfsplus", resp. 'H' for multiple hiding gets appended. -Together with ACL it is 'i', 'j', 'a', resp. 'h'. +for "hfsplus", 'H' for multiple hiding gets appended. +Together with ACL it is 'i', 'j', 'a', 'h'. .TP \fB\-lsdl\fR iso_rr_pattern [***] Like \-lsd but also list some of the file attributes. @@ -4578,7 +4618,7 @@ commands \-mkdir, \-cp_clone, \-find update_merge, and \-find rm_merge. \-root and \-old\-root set command \-disk_dev_ino to "ino_only" and \-md5 to "on", by default. \-disk_dev_ino can be set to "off" by \-\-old\-root\-no\-ino -resp. to "on" by \-\-old\-root\-devno . +or to "on" by \-\-old\-root\-devno . \-md5 can be set to "off" by \-\-old\-root\-no\-md5 . .br Not original mkisofs options are \-\-quoted_path_list , @@ -4741,7 +4781,7 @@ character device. If list_path is not empty then the record will also be appended to the data file given by this path. .br -Program scdbackup_verify will recognize and verify tag resp. record. +Program scdbackup_verify will recognize and verify tag and file record. .TP .B Scripting, dialog and program control features: .TP @@ -4886,7 +4926,7 @@ result and info channel. An empty text will cause no output at all. \fB\-prompt\fR text Show text at beginning of output line and wait for the user to hit the Enter key -resp. to send a line via stdin. +or to send a line via stdin. .TP \fB\-sleep\fR seconds Wait for the given number of seconds before perfoming the next command. @@ -4916,7 +4956,7 @@ This transport becomes visible with \-report_about "ALL". If path is not empty it gives the address of a plain text file where a log record gets appended after each session. This log can be used to determine the start_lba of a session for mount options \-o sbsector= -resp. \-s from date or volume ID. +(on GNU/Linux) or \-s (on FreeBSD) from date or volume ID. .br Record format is: timestamp start_lba size volume\-id .br @@ -5115,7 +5155,7 @@ or be "\-" to leave the according standard i/o channel unreplaced. .br xorriso will open the stdin pipe, read and execute dialog lines from it until the sender closes the pipe. The output pipes get opened depending on -mode "buffered" resp. "direct". After all lines are executed, xorriso will +mode "buffered" or "direct". After all lines are executed, xorriso will close its side of the pipes and enter a new cycle of opening, reading and executing. .br @@ -5602,7 +5642,7 @@ sums against the current file content on hard disk. This is usually much faster than the default which compares both contents directly. .br With \fBmount\fR option \fB\-o "sbsector="\fR on GNU/Linux -resp. \fB\-s\fR on FreeBSD or NetBSD +or \fB\-s\fR on FreeBSD or NetBSD it is possible to access the session trees which represent the older backup versions. With CD media, GNU/Linux mount accepts session numbers directly by its option "session=". @@ -5690,7 +5730,7 @@ $ xorriso \-abort_on NEVER \-indev /dev/sr0 \\ This can be repeated several times, if necessary with \-eject or with other \-indev drives. See the human readable part of "$HOME"/dvd_copy.map for addresses which can be used on "$HOME"/dvd_copy with mount option \-o sbsector= -resp. \-s. +or \-s. .SH FILES .SS .B Program alias names: @@ -5775,7 +5815,7 @@ please send electronic mail to the public list . If more privacy is desired, mail to . .br Please describe what you expect \fBxorriso\fR to do, -the program arguments resp. commands by which you tried to achieve it, +the program arguments or dialog commands by which you tried to achieve it, the messages of \fBxorriso\fR, and the undesirable outcome of your program run. .br diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h index beb9780e..eb808169 100644 --- a/xorriso/xorriso.h +++ b/xorriso/xorriso.h @@ -418,7 +418,7 @@ int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag); 0= off 1= in_double_quotes 2= in_quotes - 3= with_quoted_input resp. on + 3= with_quoted_input bit5= Prepend the program name as (*argv)[0], so that *argv is suitable for Xorriso_interpreter() and other calls which expect this. @@ -992,7 +992,7 @@ struct Xorriso_lsT; the redirection is ended by a call to Xorriso_pull_outlists() with the stack_handle value returned by this call. If Xorriso_option_pkt_output() is set to "on", then it will consolidate - output in the result_list of Xorriso_fetch_outlists() resp. + output in the result_list of Xorriso_fetch_outlists() and Xorriso_pull_outlists(). @param xorriso The environment handle @param stack_handle returns an id number which is unique as long as @@ -1068,8 +1068,8 @@ int Xorriso_peek_outlists(struct XorrisO *xorriso, int stack_handle, /** Disable the redirection given by stack_handle. If it was the current - receiver of messages then switch output to the next older redirection - resp. to the normal channels if no redirections are stacked any more. + receiver of messages then switch output to the next older redirection, + or to the normal channels if no redirections are stacked any more. The messages collected by the disabled redirection are handed out as two lists. Both lists have to be disposed via Xorriso_lst_destroy_all() when they are no longer needed. @@ -1097,7 +1097,7 @@ int Xorriso_pull_outlists(struct XorrisO *xorriso, int stack_handle, @param xorriso The environment handle @param result_handler Pointer to the function which shall be called with each result message. A NULL pointer causes output - to be directed to stdout resp. to be interpreted + to be directed to stdout or to be interpreted as -pkt_output format if this is enabled by Xorriso_option_pkt_output(). The function should return 1. A return value of -1 @@ -1108,7 +1108,7 @@ int Xorriso_pull_outlists(struct XorrisO *xorriso, int stack_handle, Submit NULL if result_handler is NULL. @param info_handler Pointer to the function which shall be called with each info message. A NULL pointer causes output to - be directed to stderr resp. to -as mkisofs -log-file. + be directed to stderr or to -as mkisofs -log-file. The function should return 1. A return value of -1 urges not to call again with further lines. @param info_handle The first argument of (*info_handler)(). It shall @@ -1151,7 +1151,7 @@ char *Xorriso_lst_get_text(struct Xorriso_lsT *entry, int flag); /** Obtain the address of the next item in the chain of messages. An iteration over the output of Xorriso_pull_outlists() starts at the - returned result_list resp. info_list and ends when this function returns + returned result_list or info_list and ends when this function returns NULL. @param entry The current list item @param flag unused yet, submit 0 @@ -1650,6 +1650,10 @@ int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag); int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag); +/* Command -modesty_on_drive */ +int Xorriso_option_modesty_on_drive(struct XorrisO *xorriso, char *mode, + int flag); + /* Command -mount , -mount_cmd , -session_string */ /* @param bit0= -mount_cmd: print mount command to result channel rather than performing it diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 08dea41d..b3f69e05 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -1,16 +1,16 @@ -This is xorriso.info, produced by makeinfo version 4.8 from -./xorriso.texi. +This is xorriso.info, produced by makeinfo version 5.2 from +xorriso.texi. -INFO-DIR-SECTION Archiving -START-INFO-DIR-ENTRY -* Xorriso: (xorriso). Burns ISO 9660 on CD, DVD, BD. -END-INFO-DIR-ENTRY - xorriso - creates, loads, manipulates and writes ISO 9660 filesystem +xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. Copyright (C) 2007 - 2015 Thomas Schmitt Permission is granted to distrubute this text freely. +INFO-DIR-SECTION Archiving +START-INFO-DIR-ENTRY +* Xorriso: (xorriso). Burns ISO 9660 on CD, DVD, BD. +END-INFO-DIR-ENTRY  File: xorriso.info, Node: Top, Next: Overview, Up: (dir) @@ -20,7 +20,6 @@ GNU xorriso 1.4.1 xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. - * Menu: * Overview:: Overview @@ -46,21 +45,22 @@ File: xorriso.info, Node: Overview, Next: Model, Prev: Top, Up: Top 1 Overview ********** -`xorriso' is a program which copies file objects from POSIX compliant +'xorriso' is a program which copies file objects from POSIX compliant filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows -session-wise manipulation of such filesystems. It can load the +session-wise manipulation of such filesystems. It can load the management information of existing ISO images and it writes the session results to optical media or to filesystem objects. -Vice versa `xorriso' is able to copy file objects out of ISO 9660 +Vice versa 'xorriso' is able to copy file objects out of ISO 9660 filesystems. - A special property of `xorriso' is that it needs neither an external + A special property of 'xorriso' is that it needs neither an external ISO 9660 formatter program nor an external burn program for CD, DVD or BD but rather incorporates the libraries of libburnia-project.org . 1.1 Features ============ + Operates on an existing ISO image or creates a new one. Copies files from disk filesystem into the ISO image. Copies files from ISO image to disk filesystem (see osirrox). @@ -81,7 +81,7 @@ Reads its instructions from command line arguments, dialog, and files. Provides navigation commands for interactive ISO image manipulation. Adjustable thresholds for abort, exit value, and problem reporting. -Note that `xorriso' does not write audio CDs and that it does not + Note that 'xorriso' does not write audio CDs and that it does not produce UDF filesystems which are specified for official video DVD or BD. @@ -96,19 +96,19 @@ for read-write operation but rather for being generated in a single sweep and being written to media as a *session*. The data content of the session is called filesystem *image*. - The written image in its session can then be mounted by the -operating system for being used read-only. GNU/Linux is able to mount -ISO images from block devices, which may represent optical media, other -media or via a loop device even from regular disk files. FreeBSD mounts -ISO images from devices that represent arbitrary media or from regular -disk files. + The written image in its session can then be mounted by the operating +system for being used read-only. GNU/Linux is able to mount ISO images +from block devices, which may represent optical media, other media or +via a loop device even from regular disk files. FreeBSD mounts ISO +images from devices that represent arbitrary media or from regular disk +files. - This session usage model has been extended on CD media by the -concept of *multi-session* , which allows to add information to the CD -and gives the mount programs of the operating systems the addresses of -the entry points of each session. The mount programs recognize block -devices which represent CD media and will by default mount the image in -the last session. + This session usage model has been extended on CD media by the concept +of *multi-session* , which allows to add information to the CD and gives +the mount programs of the operating systems the addresses of the entry +points of each session. The mount programs recognize block devices +which represent CD media and will by default mount the image in the last +session. This session usually contains an updated directory tree for the whole medium which governs the data contents in all recorded sessions. So in the view of the mount program all sessions of a particular medium @@ -116,32 +116,32 @@ together form a single filesystem image. Adding a session to an existing ISO image is in this text referred as *growing*. The multi-session model of the MMC standard does not apply to all media -types. But program growisofs by Andy Polyakov showed how to extend this -functionality to overwriteable media or disk files which carry valid -ISO 9660 filesystems. +types. But program growisofs by Andy Polyakov showed how to extend this +functionality to overwriteable media or disk files which carry valid ISO +9660 filesystems. - `xorriso' provides growing as well as an own method named -*modifying* which produces a completely new ISO image from the old one -and the modifications. See paragraph Creating, Growing, Modifying, -Blind Growing below. + 'xorriso' provides growing as well as an own method named *modifying* +which produces a completely new ISO image from the old one and the +modifications. See paragraph Creating, Growing, Modifying, Blind +Growing below. - `xorriso' adopts the concept of multi-session by loading an image + 'xorriso' adopts the concept of multi-session by loading an image directory tree if present, by allowing to manipulate it by several actions, and by writing the new image to the target medium. The first -session of a `xorriso' run begins by the definition of the input drive -with the ISO image or by the definition of an output drive. The -session ends by command -commit which triggers writing. A -commit is -done automatically when the program ends regularly. +session of a 'xorriso' run begins by the definition of the input drive +with the ISO image or by the definition of an output drive. The session +ends by command -commit which triggers writing. A -commit is done +automatically when the program ends regularly. After -commit a new session begins with the freshly written one as input. A new input drive can only be chosen as long as the loaded ISO -image was not altered. Pending alteration can be revoked by command +image was not altered. Pending alteration can be revoked by command -rollback. Writing a session to the target is supposed to be very expensive in terms of time and of consumed space on appendable or write-once media. -Therefore all intended manipulations of a particular ISO image should -be done in a single session. But in principle it is possible to store +Therefore all intended manipulations of a particular ISO image should be +done in a single session. But in principle it is possible to store intermediate states and to continue with image manipulations.  @@ -153,16 +153,16 @@ File: xorriso.info, Node: Media, Next: Methods, Prev: Model, Up: Top There are two families of media in the MMC standard: *Multi-session media* are CD-R, CD-RW, DVD-R, DVD+R, DVD+R/DL, BD-R, and unformatted DVD-RW. These media provide a table of content which -describes their existing sessions. See command *-toc*. +describes their existing sessions. See command *-toc*. Similar to multi-session media are DVD-R DL and minimally blanked -DVD-RW. They allow only a single session of which the size must be -known in advance. `xorriso' will write onto them only if command --close is set to "on". +DVD-RW. They allow only a single session of which the size must be known +in advance. 'xorriso' will write onto them only if command -close is +set to "on". *Overwriteable media* are DVD-RAM, DVD+RW, BD-RE, and formatted DVD-RW. They allow random write access but do not provide information about -their session history. If they contain one or more ISO 9660 sessions -and if the first session was written by `xorriso', then a table of -content can be emulated. Else only a single overall session will be +their session history. If they contain one or more ISO 9660 sessions +and if the first session was written by 'xorriso', then a table of +content can be emulated. Else only a single overall session will be visible. DVD-RW media can be formatted by -format "full". They can be made unformatted by -blank "deformat". @@ -173,31 +173,32 @@ media. These media can assume several states in which they offer different capabilities. -*Blank* media can be written from scratch. They contain no ISO image -suitable for `xorriso'. + *Blank* media can be written from scratch. They contain no ISO image +suitable for 'xorriso'. Blank is the state of newly purchased optical media. With used CD-RW and DVD-RW it can be achieved by action -blank "as_needed". Overwriteable media are considered blank if they are new or if they have -been marked as blank by `xorriso'. Action -blank "as_needed" can be +been marked as blank by 'xorriso'. Action -blank "as_needed" can be used to do this marking on overwriteable media, or to apply mandatory formatting to new media if necessary. -*Appendable* media accept further sessions. Either they are MMC + *Appendable* media accept further sessions. Either they are MMC multi-session media in appendable state, or they are overwriteable media -which contain an ISO image suitable for `xorriso'. +which contain an ISO image suitable for 'xorriso'. Appendable is the state after writing a session with command -close off. -*Closed* media cannot be written. They may contain an ISO image suitable -for `xorriso'. + + *Closed* media cannot be written. They may contain an ISO image +suitable for 'xorriso'. Closed is the state of DVD-ROM media and of multi-session media which -were written with command -close on. If the drive is read-only hardware -then it will probably show any media as closed CD-ROM resp. DVD-ROM. +were written with command -close on. If the drive is read-only hardware +then it will probably show any media as closed CD-ROM or DVD-ROM. Overwriteable media assume this state in such read-only drives or if they contain unrecognizable data in the first 32 data blocks. Read-only drives may or may not show session histories of multi-session -media. Often only the first and the last session are visible. Sometimes -not even that. Command -rom_toc_scan might or might not help in such -cases. +media. Often only the first and the last session are visible. +Sometimes not even that. Command -rom_toc_scan might or might not help +in such cases.  File: xorriso.info, Node: Methods, Next: Drives, Prev: Media, Up: Top @@ -205,31 +206,32 @@ File: xorriso.info, Node: Methods, Next: Drives, Prev: Media, Up: Top 4 Creating, Growing, Modifying, Blind Growing: ********************************************** + A new empty ISO image gets *created* if there is no input drive with a valid ISO 9660 image when the first time an output drive is defined. -This is achieved by command -dev on blank media or by command -outdev -on media in any state. -The new empty image can be populated with directories and files. -Before it can be written, the medium in the output drive must get into -blank state if it was not blank already. +This is achieved by command -dev on blank media or by command -outdev on +media in any state. +The new empty image can be populated with directories and files. Before +it can be written, the medium in the output drive must get into blank +state if it was not blank already. If there is a input drive with a valid ISO image, then this image -gets loaded as foundation for manipulations and extension. The +gets loaded as foundation for manipulations and extension. The constellation of input and output drive determines which write method will be used. They have quite different capabilities and constraints. The method of *growing* adds new data to the existing data on the -medium. These data comprise of new file content and they override the -existing ISO 9660 + Rock Ridge directory tree. It is possible to hide -files from previous sessions but they still exist on the medium and -with many types of optical media it is quite easy to recover them by -mounting older sessions. +medium. These data comprise of new file content and they override the +existing ISO 9660 + Rock Ridge directory tree. It is possible to hide +files from previous sessions but they still exist on the medium and with +many types of optical media it is quite easy to recover them by mounting +older sessions. Growing is achieved by command -dev. The write method of *modifying* produces compact filesystem images -with no outdated files or directory trees. Modifying can write its +with no outdated files or directory trees. Modifying can write its images to target media which are completely unsuitable for multi-session -operations. E.g. DVD-RW which were treated with -blank +operations. E.g. DVD-RW which were treated with -blank deformat_quickest, DVD-R DL, named pipes, character devices, sockets. On the other hand modified sessions cannot be written to appendable media but to blank media only. @@ -241,12 +243,12 @@ achieved by commands -indev and -outdev. If command -grow_blindly is set to a non-negative number and if -indev and -outdev are both set to different drives, then *blind -growing* is performed. It produces an add-on session which is ready for -being written to the given block address. This is the usage model of +growing* is performed. It produces an add-on session which is ready for +being written to the given block address. This is the usage model of mkisofs -M $indev -C $msc1,$msc2 -o $outdev which gives much room for wrong parameter combinations and should thus -only be employed if a strict distinction between ISO formatter `xorriso' -and the burn program is desired. -C $msc1,$msc2 is equivalent to: +only be employed if a strict distinction between ISO formatter 'xorriso' +and the burn program is desired. -C $msc1,$msc2 is equivalent to: -load sbsector $msc1 -grow_blindly $msc2  @@ -255,24 +257,24 @@ File: xorriso.info, Node: Drives, Next: Extras, Prev: Methods, Up: Top 5 Libburn drives **************** -Input drive, i.e. source of an existing or empty ISO image, can be any +Input drive, i.e. source of an existing or empty ISO image, can be any random access readable libburn drive: optical media with readable data, blank optical media, regular files, block devices. -Output drive, i.e. target for writing, can be any libburn drive. Some -drive types do not support the method of growing but only the methods -of modifying and blind growing. They all are suitable for newly created +Output drive, i.e. target for writing, can be any libburn drive. Some +drive types do not support the method of growing but only the methods of +modifying and blind growing. They all are suitable for newly created images. All drive file objects have to offer rw-permission to the user of -`xorriso'. Even those which will not be useable for reading an ISO +'xorriso'. Even those which will not be useable for reading an ISO image. With any type of drive object, the data are considered to be organized in blocks of 2 KiB. Access happens in terms of Logical Block Address (*LBA*) which gives the number of a particular data block. - MMC compliant (i.e. optical) drives on GNU/Linux usually get + MMC compliant (i.e. optical) drives on GNU/Linux usually get addressed by the path of their block device or of their generic -character device. E.g. +character device. E.g. -dev /dev/sr0 -dev /dev/hdc -dev /dev/sg2 @@ -289,36 +291,37 @@ drives and to then allow rw-access for the intended users. Consider to bundle the authorized users in a group like old "floppy". Filesystem objects of nearly any type can be addressed by prefix -"stdio:" and their path in the filesystem. E.g.: +"stdio:" and their path in the filesystem. E.g.: -dev stdio:/dev/sdc The default setting of -drive_class allows to address files outside the -/dev tree without that prefix. E.g.: +/dev tree without that prefix. E.g.: -dev /tmp/pseudo_drive If path leads to a regular file or to a block device then the emulated drive is random access readable and can be used for the method of -growing if it already contains a valid ISO 9660 image. Any other file -type is not readable via "stdio:" and can only be used as target for -the method of modifying or blind growing. Non-existing paths in -existing directories are handled as empty regular files. +growing if it already contains a valid ISO 9660 image. Any other file +type is not readable via "stdio:" and can only be used as target for the +method of modifying or blind growing. Non-existing paths in existing +directories are handled as empty regular files. - A very special kind of pseudo drive are open file descriptors. They + A very special kind of pseudo drive are open file descriptors. They are depicted by "stdio:/dev/fd/" and descriptor number (see man 2 open). + Addresses "-" or "stdio:/dev/fd/1" depict standard output, which normally is the output channel for result texts. To prevent a fatal intermingling of ISO image and text messages, all result texts get redirected to stderr if -*dev "-" or "stdio:/dev/fd/1" is among the start arguments of the program. Standard output is currently suitable for creating one session per -program run without dialog. Use in other situations is discouraged and +program run without dialog. Use in other situations is discouraged and several restrictions apply: It is not allowed to use standard output as pseudo drive if it was not -among the start arguments. Do not try to fool this ban via backdoor +among the start arguments. Do not try to fool this ban via backdoor addresses to stdout. If stdout is used as drive, then -use_readline is permanently disabled. Use of backdoors can cause severe memory and/or tty corruption. Be aware that especially the superuser can write into any accessible -file or device by using its path with the "stdio:" prefix. By default +file or device by using its path with the "stdio:" prefix. By default any address in the /dev tree without prefix "stdio:" will work only if it leads to a MMC drive. One may use command *-ban_stdio_write* to surely prevent this risk and @@ -335,30 +338,31 @@ File: xorriso.info, Node: Extras, Next: Processing, Prev: Drives, Up: Top *Rock Ridge* is the name of a set of additional information which enhance an ISO 9660 filesystem so that it can represent a POSIX -compliant filesystem with ownership, access permissions, symbolic -links, and other attributes. -This is what `xorriso' uses for a decent representation of the disk -files within the ISO image. `xorriso' produces Rock Ridge information -by default. It is strongly discouraged to disable this feature. +compliant filesystem with ownership, access permissions, symbolic links, +and other attributes. +This is what 'xorriso' uses for a decent representation of the disk +files within the ISO image. 'xorriso' produces Rock Ridge information +by default. It is strongly discouraged to disable this feature. - `xorriso' is not named "porriso" because POSIX only guarantees 14 -characters of filename length. It is the X/Open System Interface + 'xorriso' is not named "porriso" because POSIX only guarantees 14 +characters of filename length. It is the X/Open System Interface standard XSI which demands a file name length of up to 255 characters -and paths of up to 1024 characters. Rock Ridge fulfills this demand. +and paths of up to 1024 characters. Rock Ridge fulfills this demand. An *El Torito* boot record points the BIOS bootstrapping facility to one or more boot images, which are binary program files stored in the ISO image. The content of the boot image files is not in the scope of El Torito. Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot -images. `xorriso' is able to create or maintain an El Torito object -which makes such an image bootable. For details see command -boot_image. +images. 'xorriso' is able to create or maintain an El Torito object +which makes such an image bootable. For details see command +-boot_image. It is possible to make ISO images bootable from USB stick or other -hard-disk-like media. Several options install a *MBR* (Master Boot -Record), It may get adjusted according to the needs of the intended -boot firmware and the involved boot loaders, e.g. GRUB2 or ISOLINUX. A -MBR contains boot code and a partition table. The new MBR of a -follow-up session can get in effect only on overwriteable media. +hard-disk-like media. Several options install a *MBR* (Master Boot +Record), It may get adjusted according to the needs of the intended boot +firmware and the involved boot loaders, e.g. GRUB2 or ISOLINUX. A MBR +contains boot code and a partition table. The new MBR of a follow-up +session can get in effect only on overwriteable media. MBR is read by PC-BIOS when booting from USB stick or hard disk, and by PowerPC CHRP or PReP when booting. An MBR partiton with type 0xee indicates the presence of GPT. @@ -370,36 +374,36 @@ It is read by EFI when booting from USB stick or hard disk, and may be used for finding and mounting a HFS+ partition inside the ISO image. An *APM* (Apple Partition Map) marks the HFS+ partition. It is read by Macs for booting and for mounting. -MBR, GPT and APM are combinable. APM occupies the first 8 bytes of MBR -boot code. All three do not hamper El Torito booting from CDROM. +MBR, GPT and APM are combinable. APM occupies the first 8 bytes of MBR +boot code. All three do not hamper El Torito booting from CDROM. There is support for further facilities: MIPS Big Endian (SGI), MIPS -Little Endian (DEC), SUN SPARC, HP-PA. Those are mutually not -combinable and also not combinable with MBR, GPT, or APM. +Little Endian (DEC), SUN SPARC, HP-PA. Those are mutually not combinable +and also not combinable with MBR, GPT, or APM. -*ACL* are an advanced way of controlling access permissions to file -objects. Neither ISO 9660 nor Rock Ridge specify a way to record ACLs. + *ACL* are an advanced way of controlling access permissions to file +objects. Neither ISO 9660 nor Rock Ridge specify a way to record ACLs. So libisofs has introduced a standard conformant extension named AAIP for that purpose. It uses this extension if enabled by command *-acl*. AAIP enhanced images are supposed to be mountable normally, but one cannot expect that the mounted filesystem will show and respect the -ACLs. For now, only `xorriso' is able to retrieve those ACLs. It can +ACLs. For now, only 'xorriso' is able to retrieve those ACLs. It can bring them into effect when files get restored to an ACL enabled file system or it can print them in a format suitable for tool setfacl. Files with ACL show as group permissions the setting of entry "mask::" -if that entry exists. Nevertheless the non-listed group members get -handled according to entry "group::". When removing ACL from a file, -`xorriso' brings "group::" into effect. +if that entry exists. Nevertheless the non-listed group members get +handled according to entry "group::". When removing ACL from a file, +'xorriso' brings "group::" into effect. Recording and restoring of ACLs from and to local files works currently only on GNU/Linux and FreeBSD. - *xattr* (aka EA, or extattr) are pairs of name and value which can -be attached to file objects. AAIP is able to represent them and -`xorriso' allows to record and restore pairs which have names out of -the user namespace. I.e. those which begin with "user.", like "user.x" -or "user.whatever". Name has to be a 0 terminated string. Value may be + *xattr* (aka EA, or extattr) are pairs of name and value which can be +attached to file objects. AAIP is able to represent them and 'xorriso' +allows to record and restore pairs which have names out of the user +namespace. I.e. those which begin with "user.", like "user.x" or +"user.whatever". Name has to be a 0 terminated string. Value may be any array of bytes which does not exceed the size of 4095 bytes. xattr processing happens only if it is enabled by command *-xattr*. -As with ACL, currently only `xorriso' is able to retrieve xattr from +As with ACL, currently only 'xorriso' is able to retrieve xattr from AAIP enhanced images, to restore them to xattr capable file systems, or to print them. Recording and restoring of xattr from and to local files works currently @@ -412,11 +416,11 @@ File: xorriso.info, Node: Processing, Next: Dialog, Prev: Extras, Up: Top ******************** Commands are either actions which happen immediately or settings which -influence following actions. So their sequence does matter, unless they +influence following actions. So their sequence does matter, unless they are given as program arguments and command *-x* is among them. Commands consist of a command word, followed by zero or more parameter -words. If the list of parameter words is of variable length (indicated -by "[...]" or "[***]") then it must be terminated by either the *list +words. If the list of parameter words is of variable length (indicated +by "[...]" or "[***]") then it must be terminated by either the *list delimiter*, occur at the end of the argument list, or occur at the end of an input line. @@ -425,8 +429,9 @@ changed with the -list_delimiter command in order to allow "--" as parameter in a variable length list. However, it is advised to reset the delimiter to "--" immediately afterwards. For brevity the list delimiter is referred as "--" throughout this text. + The list delimiter is silently ignored if it appears after the -parameters of a command with a fixed list length. It is handled as +parameters of a command with a fixed list length. It is handled as normal text if it appears among the parameters of such a command. *Pattern expansion* converts a list of pattern words into a list of @@ -436,7 +441,7 @@ Pattern matching supports the usual shell parser wildcards '*' '?' '[xyz]' and respects '/' as the path separator, which may only be matched literally. Pattern expansion is a property of some particular commands and not a -general feature. It is controlled by commands -iso_rr_pattern and +general feature. It is controlled by commands -iso_rr_pattern and -disk_pattern. Commands which use pattern expansion all have variable parameter lists which are specified in this text by "[***]" rather than "[...]". @@ -446,29 +451,29 @@ Some other commands perform pattern matching unconditionally. arguments, where one argument is one word, or from quoted input lines where words are recognized similar to the quotation rules of a shell parser. -`xorriso' is not a shell, although it might appear so at first glimpse. +'xorriso' is not a shell, although it might appear so at first glimpse. Be aware that the interaction of quotation marks and pattern symbols -like "*" differs from the usual shell parsers. In `xorriso', a +like "*" differs from the usual shell parsers. In 'xorriso', a quotation mark does not make a pattern symbol literal. *Quoted input* converts whitespace-separated text into words. The double quotation mark " and the single quotation mark ' can be used to -enclose whitespace and make it part of words (e.g. of file names). Each -mark type can enclose the marks of the other type. A trailing backslash -\ outside quotations or an open quotation cause the next input line to -be appended. +enclose whitespace and make it part of words (e.g. of file names). +Each mark type can enclose the marks of the other type. A trailing +backslash \ outside quotations or an open quotation cause the next input +line to be appended. Quoted input accepts any 8-bit character except NUL (0) as the content of the quotes. Nevertheless it can be cumbersome for the user to -produce those characters directly. Therefore quoted input and program +produce those characters directly. Therefore quoted input and program arguments allow optional *Backslash Interpretation* which can represent -all 8-bit characters except NUL (0) via backslash codes as in $'...' of +all 8-bit characters except NUL (0) via backslash codes as in $'...' of bash. -This is not enabled by default. See command -backslash_codes. +This is not enabled by default. See command -backslash_codes. - When the program starts then it first looks for argument -no_rc. If + When the program starts then it first looks for argument -no_rc. If this is not present then it looks for its startup files and reads their -content as command input lines. Then it interprets the program -arguments as commands and parameters. Finally it enters dialog mode if +content as command input lines. Then it interprets the program +arguments as commands and parameters. Finally it enters dialog mode if command -dialog "on" has been executed by this point. The program ends either by command -end, or by the end of program @@ -482,28 +487,29 @@ File: xorriso.info, Node: Dialog, Next: Commands, Prev: Processing, Up: Top ******************************** Dialog mode prompts for a quoted input line, parses it into words, and -performs them as commands with their parameters. It provides assisting +performs them as commands with their parameters. It provides assisting services to make dialog more comfortable. - Readline is an enhancement for the input line. You may already know -it from the bash shell. Whether it is available in `xorriso' depends on -the availability of package readline-dev at the time when `xorriso' was + Readline is an enhancement for the input line. You may already know +it from the bash shell. Whether it is available in 'xorriso' depends on +the availability of package readline-dev at the time when 'xorriso' was built from its sourcecode. Readline allows to move the cursor over the text in the line by help of the Left and the Right arrow keys. Text may be inserted at the cursor -position. The Delete key removes the character under the cursor. Up and -Down arrow keys navigate through the history of previous input lines. +position. The Delete key removes the character under the cursor. Up +and Down arrow keys navigate through the history of previous input +lines. See info readline for more info about libreadline. Command -page activates a built-in result text pager which may be -convenient in dialog mode. After an action has output the given number +convenient in dialog mode. After an action has output the given number of terminal lines, the pager prompts the user for a line of input. -An empty line lets `xorriso' resume work until the next page is output. +An empty line lets 'xorriso' resume work until the next page is output. The single character "@" disables paging for the current action. "@@@", "x", "q", "X", or "Q" request that the current action aborts and suppress further result output. -Any other line input will be interpreted as new dialog line. The -current action is requested to abort. Afterwards, the input line is +Any other line input will be interpreted as new dialog line. The +current action is requested to abort. Afterwards, the input line is executed. Some actions apply paging to their info output, too. @@ -517,11 +523,10 @@ File: xorriso.info, Node: Commands, Next: Examples, Prev: Dialog, Up: Top ********** All command words are shown with a leading dash although this dash is -not mandatory for the command to be recognized. Nevertheless within +not mandatory for the command to be recognized. Nevertheless within command -as the dashes of the emulated commands are mandatory. Normally any number of leading dashes is ignored with command words and inner dashes are interpreted as underscores. - * Menu: * ArgSort:: Execution order of program arguments @@ -559,8 +564,8 @@ This requires the user to write commands for desired settings before the commands which shall be influenced by those settings. Many other programs support program arguments in an arbitrary ordering and perform settings and actions in a sequence at their own discretion. -xorriso provides an option to enable such a behavior at the cost of -loss of expressivity. +xorriso provides an option to enable such a behavior at the cost of loss +of expressivity. -x Enable automatic sorting of program arguments into a sequence that @@ -568,16 +573,15 @@ loss of expressivity. position among the commands which are handed over as program arguments. Note: It works only if it is given as program argument and with a - single dash (i.e. "-x"). It will not work in startup files, nor - with -options_from_file, nor in dialog mode, nor as "x" and - finally not as "--x". It affects only the commands given as - program arguments. - + single dash (i.e. "-x"). It will not work in startup files, nor + with -options_from_file, nor in dialog mode, nor as "x" and finally + not as "--x". It affects only the commands given as program + arguments. -list_arg_sorting List all xorriso commands in the order which applies if command -x is in effect. This list may also be helpful without -x for a user who ponders - over the sequence in which to put commands. Deviations from the + over the sequence in which to put commands. Deviations from the listed sorting order may well make sense, though.  @@ -587,58 +591,55 @@ File: xorriso.info, Node: AqDrive, Next: Loading, Prev: ArgSort, Up: Command ===================================== The effect of acquiring a drive may depend on several commands in the -next paragraph "Influencing the behavior of image loading". If -desired, their enabling commands have to be performed before the -commands which acquire the drive. +next paragraph "Influencing the behavior of image loading". If desired, +their enabling commands have to be performed before the commands which +acquire the drive. -dev address Set input and output drive to the same address and load an ISO image if it is present. If there is no ISO image then create a blank one. Set the image expansion method to growing. This is only allowed as long as no changes are pending in the - currently loaded ISO image. If changes are pending, then one has + currently loaded ISO image. If changes are pending, then one has to perform -commit or -rollback first. Special address string "-" means standard output, to which several - restrictions apply. See above paragraph "Libburn drives". + restrictions apply. See above paragraph "Libburn drives". An empty address string "" gives up the current device without acquiring a new one. - -indev address - Set input drive and load an ISO image if present. If the new - input drive differs from -outdev then switch from growing to - modifying or to blind growing. It depends on the setting of - -grow_blindly which of both gets activated. The same rules and - restrictions apply as with -dev. - + Set input drive and load an ISO image if present. If the new input + drive differs from -outdev then switch from growing to modifying or + to blind growing. It depends on the setting of -grow_blindly which + of both gets activated. The same rules and restrictions apply as + with -dev. -outdev address - Set output drive and if it differs from the input drive then - switch from growing to modifying or to blind growing. Unlike -dev - and -indev this action does not load a new ISO image. So it can be + Set output drive and if it differs from the input drive then switch + from growing to modifying or to blind growing. Unlike -dev and + -indev this action does not load a new ISO image. So it can be performed even if there are pending changes. - -outdev can be performed without previous -dev or -indev. In that - case an empty ISO image with no changes pending is created. It can - either be populated by help of -map, -add et.al. or it can be + -outdev can be performed without previous -dev or -indev. In that + case an empty ISO image with no changes pending is created. It can + either be populated by help of -map, -add et.al. or it can be discarded silently if -dev or -indev are performed afterwards. Special address string "-" means standard output, to which several - restrictions apply. See above paragraph "Libburn drives". + restrictions apply. See above paragraph "Libburn drives". An empty address string "" gives up the current output drive - without acquiring a new one. No writing is possible without an + without acquiring a new one. No writing is possible without an output drive. - -grow_blindly "off"|predicted_nwa If predicted_nwa is a non-negative number then perform blind growing rather than modifying if -indev and -outdev are set to different drives. "off" or "-1" switch to modifying, which is the default. predicted_nwa is the block address where the add-on session of - blind growing will finally end up. It is the responsibility of the + blind growing will finally end up. It is the responsibility of the user to ensure this final position and the presence of the older - sessions. Else the overall ISO image will not be mountable or will - produce read errors when accessing file content. `xorriso' will - write the session to the address as obtained from examining - -outdev and not necessarily to predicted_nwa. + sessions. Else the overall ISO image will not be mountable or will + produce read errors when accessing file content. 'xorriso' will + write the session to the address as obtained from examining -outdev + and not necessarily to predicted_nwa. During a run of blind growing, the input drive is given up before - output begins. The output drive is given up when writing is done. + output begins. The output drive is given up when writing is done.  File: xorriso.info, Node: Loading, Next: Insert, Prev: AqDrive, Up: Commands @@ -647,11 +648,11 @@ File: xorriso.info, Node: Loading, Next: Insert, Prev: AqDrive, Up: Commands ============================================= The following commands should normally be performed before loading an -image by acquiring an input drive. In rare cases it is desirable to +image by acquiring an input drive. In rare cases it is desirable to activate them only after image loading. -read_speed code|number[k|m|c|d|b] - Set the speed for reading. Default is "none", which avoids to send + Set the speed for reading. Default is "none", which avoids to send a speed setting command to the drive before reading begins. Further special speed codes are: "max" (or "0") selects maximum speed as announced by the drive. @@ -664,26 +665,24 @@ activate them only after image loading. 706k = 706kB/s = 4c = 4xCD 5540k = 5540kB/s = 4d = 4xDVD If there is no hint about the speed unit attached, then the medium - in the -indev will decide. Default unit is CD = 176.4k. - Depending on the drive, the reported read speeds can be - deceivingly low or high. Therefore "min" cannot become higher than - 1x speed of the involved medium type. Read speed "max" cannot - become lower than 52xCD, 24xDVD, or 20xBD, depending on the medium - type. + in the -indev will decide. Default unit is CD = 176.4k. + Depending on the drive, the reported read speeds can be deceivingly + low or high. Therefore "min" cannot become higher than 1x speed of + the involved medium type. Read speed "max" cannot become lower + than 52xCD, 24xDVD, or 20xBD, depending on the medium type. MMC drives usually activate their own idea of speed and take the speed value given by the burn program only as hint for their own decision. - -load entity id Load a particular (possibly outdated) ISO session from -dev or -indev. Usually all available sessions are shown with command -toc. - entity depicts the kind of addressing. id depicts the particular - address. The following entities are defined: - "auto" with any id addresses the last session in -toc. This is the + entity depicts the kind of addressing. id depicts the particular + address. The following entities are defined: + "auto" with any id addresses the last session in -toc. This is the default. - "session" with id being a number as of a line "ISO session", - column "Idx". + "session" with id being a number as of a line "ISO session", column + "Idx". "track" with id being a number as of a line "ISO track", column "Idx". "lba" or "sbsector" with a number as of a line "ISO ...", column @@ -693,40 +692,37 @@ activate them only after image loading. Adressing a non-existing entity or one which does not represent an ISO image will either abandon -indev or at least lead to a blank image. - If an input drive is set at the moment when -load is executed, - then the addressed ISO image is loaded immediately. Else, the - setting will be pending until the next -dev or -indev. After the - image has been loaded once, the setting is valid for -rollback - until next -dev or -indev, where it will be reset to "auto". - + If an input drive is set at the moment when -load is executed, then + the addressed ISO image is loaded immediately. Else, the setting + will be pending until the next -dev or -indev. After the image has + been loaded once, the setting is valid for -rollback until next + -dev or -indev, where it will be reset to "auto". -displacement [-]lba - Compensate a displacement of the image versus the start address - for which the image was prepared. This affects only loading of ISO - images and reading of their files. The multi-session method of - growing is not allowed as long as -displacement is non-zero. I.e. - -indev and -outdev must be different. The displacement gets reset + Compensate a displacement of the image versus the start address for + which the image was prepared. This affects only loading of ISO + images and reading of their files. The multi-session method of + growing is not allowed as long as -displacement is non-zero. I.e. + -indev and -outdev must be different. The displacement gets reset to 0 before the drive gets re-acquired after writing. Examples: - If a track of a CD starts at block 123456 and gets copied to a - disk file where it begins at block 0, then this copy can be loaded - with -displacement -123456. + If a track of a CD starts at block 123456 and gets copied to a disk + file where it begins at block 0, then this copy can be loaded with + -displacement -123456. If an ISO image was written onto a partition with offset of 640000 blocks of 512 bytes, then it can be loaded from the base device by -displacement 160000. - In both cases, the ISO sessions should be self contained, i.e. not - add-on sessions to an ISO image outside their track resp. - partition. - + In both cases, the ISO sessions should be self contained, i.e. not + add-on sessions to an ISO image outside their track or partition. -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern Add a drive path pattern to one of the safety lists or make those - lists empty. There are three lists defined which get tested in - the following sequence: + lists empty. There are three lists defined which get tested in the + following sequence: If a drive address path matches the "harmless" list then the drive - will be accepted. If it is not a MMC device then the prefix - "stdio:" will be prepended automatically. This list is empty by + will be accepted. If it is not a MMC device then the prefix + "stdio:" will be prepended automatically. This list is empty by default. Else if the path matches the "banned" list then the drive will not - be accepted by `xorriso' but rather lead to a FAILURE event. This + be accepted by 'xorriso' but rather lead to a FAILURE event. This list is empty by default. Else if the path matches the "caution" list and if it is not a MMC device, then its address must have the prefix "stdio:" or it will @@ -735,132 +731,125 @@ activate them only after image loading. By default these are all paths which do not begin with directory "/dev". A path matches a list if one of its parent paths or itself matches - a list entry. Address prefix "stdio:" or "mmc:" will be ignored + a list entry. Address prefix "stdio:" or "mmc:" will be ignored when testing for matches. By pseudo-class "clear_list" and pseudo-patterns "banned", "caution", "harmless", or "all", the lists may be made empty. E.g.: -drive_class clear_list banned One will normally define the -drive_class lists in one of the - `xorriso' Startup Files. + 'xorriso' Startup Files. Note: This is not a security feature but rather a bumper for the - superuser to prevent inadverted mishaps. For reliably blocking + superuser to prevent inadverted mishaps. For reliably blocking access to a device file you have to deny its rw-permissions in the filesystem. - -assert_volid pattern severity Refuse to load ISO images with volume IDs which do not match the - given search pattern. When refusing an image, give up the input + given search pattern. When refusing an image, give up the input drive and issue an event of the given severity (like FAILURE, see - -abort_on). An empty search pattern accepts any image. + -abort_on). An empty search pattern accepts any image. This command does not hamper the creation of an empty image from blank input media and does not discard an already loaded image. - -in_charset character_set_name - Set the character set from which to convert file names when - loading an image. See paragraph "Character sets" for more - explanations. When loading the written image after -commit the - setting of -out_charset will be copied to -in_charset. - + Set the character set from which to convert file names when loading + an image. See paragraph "Character sets" for more explanations. + When loading the written image after -commit the setting of + -out_charset will be copied to -in_charset. -auto_charset "on"|"off" Enable or disable recording and interpretation of the output character set name in an xattr attribute of the image root - directory. If enabled and if a recorded character set name is + directory. If enabled and if a recorded character set name is found, then this name will be used as name of the input character set when reading an image. Note that the default output charset is the local character set of - the terminal where `xorriso' runs. Before attributing this local - character set to the produced ISO image, check whether the - terminal properly displays all intended filenames, especially - exotic national characters. - + the terminal where 'xorriso' runs. Before attributing this local + character set to the produced ISO image, check whether the terminal + properly displays all intended filenames, especially exotic + national characters. -hardlinks mode[:mode...] Enable or disable loading and recording of hardlink relations. In default mode "off", iso_rr files lose their inode numbers at - image load time. Each iso_rr file object which has no inode number + image load time. Each iso_rr file object which has no inode number at image generation time will get a new unique inode number if -compliance is set to new_rr. Mode "on" preserves inode numbers from the loaded image if such numbers were recorded. When committing a session it searches for families of iso_rr files which stem from the same disk file, have - identical content filtering and have identical properties. The + identical content filtering and have identical properties. The family members all get the same inode number. Whether these numbers are respected at mount time depends on the operating system. Command -lsl displays hardlink counts if "lsl_count" is enabled. This can slow down the command substantially after changes to the - ISO image have been made. Therefore the default is "no_lsl_count". + ISO image have been made. Therefore the default is "no_lsl_count". + Commands -update and -update_r track splits and fusions of hard links in filesystems which have stable device and inode numbers. This can cause automatic last minute changes before the session - gets written. Command -hardlinks "perform_update" may be used to - do these changes earlier, e.g. if you need to apply filters to all + gets written. Command -hardlinks "perform_update" may be used to + do these changes earlier, e.g. if you need to apply filters to all updated files. Mode "without_update" avoids hardlink processing during update commands. Use this if your filesystem situation does not allow -disk_dev_ino "on". - `xorriso' commands which extract files from an ISO image try to - hardlink files with identical inode number. The normal scope of - this operation is from image load to image load. One may give up + 'xorriso' commands which extract files from an ISO image try to + hardlink files with identical inode number. The normal scope of + this operation is from image load to image load. One may give up the accumulated hard link addresses by -hardlinks "discard_extract". A large number of hardlink families may exhaust -temp_mem_limit if not -osirrox "sort_lba_on" and -hardlinks "cheap_sorted_extract" - are both in effect. This restricts hard linking to other files - restored by the same single extract command. -hardlinks + are both in effect. This restricts hard linking to other files + restored by the same single extract command. -hardlinks "normal_extract" re-enables wide and expensive hardlink accumulation. -acl "on"|"off" - Enable or disable processing of ACLs. If enabled, then `xorriso' + Enable or disable processing of ACLs. If enabled, then 'xorriso' will obtain ACLs from disk file objects, store ACLs in the ISO image using the libisofs specific AAIP format, load AAIP data from ISO images, test ACL during file comparison, and restore ACLs to - disk files when extracting them from ISO images. See also - commands -getfacl, -setfacl. - + disk files when extracting them from ISO images. See also commands + -getfacl, -setfacl. -xattr "on"|"off" Enable or disable processing of xattr attributes in user namespace. - If enabled, then `xorriso' will handle xattr similar to ACL. See + If enabled, then 'xorriso' will handle xattr similar to ACL. See also commands -getfattr, -setfattr and above paragraph about xattr. - -md5 "on"|"all"|"off"|"load_check_off" Enable or disable processing of MD5 checksums for the overall - session and for each single data file. If enabled then images with + session and for each single data file. If enabled then images with checksum tags get loaded only if the tags of superblock and - directory tree match properly. The MD5 checksums of data files and + directory tree match properly. The MD5 checksums of data files and whole session get loaded from the image if there are any. With commands -compare and -update the recorded MD5 of a file will - be used to avoid content reading from the image. Only the disk file - content will be read and compared with that MD5. This can save - much time if -disk_dev_ino "on" is not suitable. - At image generation time they are computed for each file which - gets its data written into the new session. The checksums of files + be used to avoid content reading from the image. Only the disk + file content will be read and compared with that MD5. This can + save much time if -disk_dev_ino "on" is not suitable. + At image generation time they are computed for each file which gets + its data written into the new session. The checksums of files which have their data in older sessions get copied into the new - session. Superblock, tree and whole session get a checksum tag + session. Superblock, tree and whole session get a checksum tag each. Mode "all" will additionally check during image generation whether the checksum of a data file changed between the time when its - reading began and the time when it ended. This implies reading + reading began and the time when it ended. This implies reading every file twice. Mode "load_check_off" together with "on" or "all" will load recorded MD5 sums but not test the recorded checksum tags of superblock and directory tree. This is necessary if growisofs was used as burn program, because it does not overwrite the superblock checksum tag of the first session. Therefore load_check_off is in - effect when `xorriso' -as mkisofs option -M is performed. + effect when 'xorriso' -as mkisofs option -M is performed. The test can be re-enabled by mode "load_check_on". Checksums can be exploited via commands -check_md5, -check_md5_r, via find actions get_md5, check_md5, and via -check_media. - -for_backup Enable all extra features which help to produce or to restore backups with highest fidelity of file properties. Currently this is a shortcut for: -hardlinks on -acl on -xattr on -md5 on. - -disk_dev_ino "on"|"ino_only"|"off" Enable or disable processing of recorded file identification - numbers (dev_t and ino_t). If enabled they are stored as xattr and - allow to substantially accelerate file comparison. The root node - gets a global start timestamp. If during comparison a file with + numbers (dev_t and ino_t). If enabled they are stored as xattr and + allow to substantially accelerate file comparison. The root node + gets a global start timestamp. If during comparison a file with younger timestamps is found in the ISO image, then it is suspected to have inconsistent content. If device numbers and inode numbers of the disk filesystems are @@ -870,84 +859,79 @@ activate them only after image loading. any of mtime, ctime, device number or inode number have changed. Mode "ino_only" replaces the precondition that device numbers are stable by the precondition that mount points in the compared tree - always lead to the same filesystems. Use this if mode "on" always + always lead to the same filesystems. Use this if mode "on" always sees all files changed. - The speed advantage appears only if the loaded session was - produced with -disk_dev_ino "on" too. + The speed advantage appears only if the loaded session was produced + with -disk_dev_ino "on" too. Note that -disk_dev_ino "off" is totally in effect only if -hardlinks is "off", too. - -rom_toc_scan "on"|"force"|"off"[:"emul_off"][:"emul_wide"] Read-only drives do not tell the actual media type but show any - media as ROM (e.g. as DVD-ROM). The session history of MMC - multi-session media might be truncated to first and last session - or even be completely false. (The emulated history of - overwriteable media is not affected by this.) + media as ROM (e.g. as DVD-ROM). The session history of MMC + multi-session media might be truncated to first and last session or + even be completely false. (The emulated history of overwriteable + media is not affected by this.) To have in case of failure a chance of getting the session history - and especially the address of the last session, there is a scan - for ISO 9660 filesystem headers which might help but also might - yield worse results than the drive's table of content. At its end - it can cause read attempts to invalid addresses and thus ugly - drive behavior. Setting "on" enables that scan for alleged - read-only media. + and especially the address of the last session, there is a scan for + ISO 9660 filesystem headers which might help but also might yield + worse results than the drive's table of content. At its end it can + cause read attempts to invalid addresses and thus ugly drive + behavior. Setting "on" enables that scan for alleged read-only + media. Some operating systems are not able to mount the most recent - session of multi-session DVD or BD. If on such a system `xorriso' + session of multi-session DVD or BD. If on such a system 'xorriso' has no own MMC capabilities then it may still find that session - from a scanned table of content. Setting "force" handles any media + from a scanned table of content. Setting "force" handles any media like a ROM medium with setting "on". - On the other hand the emulation of session history on - overwriteable media can hamper reading of partly damaged media. - Setting "off:emul_off" disables the elsewise trustworthy - table-of-content scan for those media. + On the other hand the emulation of session history on overwriteable + media can hamper reading of partly damaged media. Setting + "off:emul_off" disables the elsewise trustworthy table-of-content + scan for those media. The table-of-content scan on overwriteable media normally searches only up to the end of the session that is pointed to by the superblock at block 0. Setting "on:emul_wide" lets the scan continue up to the end of the medium. This may be useful after copying a medium with -check_media patch_lba0=on when not the last session was loaded. - -calm_drive "in"|"out"|"all"|"revoke"|"on"|"off" - Reduce drive noise until it is actually used again. Some drives + Reduce drive noise until it is actually used again. Some drives stay alert for substantial time after they have been used for - reading. This reduces the startup time for the next drive - operation but can be loud and waste energy if no i/o with the - drive is expected to happen soon. - Modes "in", "out", "all" immediately calm down -indev, -outdev, - resp. both. Mode "revoke" immediately alerts both. Mode "on" - causes -calm_drive to be performed automatically after each -dev, - -indev, and -outdev. Mode "off" disables this. - + reading. This reduces the startup time for the next drive + operation but can be loud and waste energy if no i/o with the drive + is expected to happen soon. + Modes "in", "out", "all" immediately calm down -indev, -outdev, or + both, respectively. Mode "revoke" immediately alerts both. Mode + "on" causes -calm_drive to be performed automatically after each + -dev, -indev, and -outdev. Mode "off" disables this. -ban_stdio_write - Allow for writing only the usage of MMC optical drives. Disallow - to write the result into files of nearly arbitrary type. Once - set, this command cannot be revoked. - + Allow for writing only the usage of MMC optical drives. Disallow + to write the result into files of nearly arbitrary type. Once set, + this command cannot be revoked. -early_stdio_test "on"|"appendable_wo"|"off" If enabled by "on" then regular files and block devices get tested - for effective access permissions. This implies to try opening - those files for writing, which otherwise will happen only later - and only if actual writing is desired. + for effective access permissions. This implies to try opening + those files for writing, which otherwise will happen only later and + only if actual writing is desired. The test result is used for classifying the pseudo drives as - overwriteable, read-only, write-only, or uselessly empty. This may + overwriteable, read-only, write-only, or uselessly empty. This may lead to earlier detection of severe problems, and may avoid some less severe error events. Mode "appendable_wo" is like "on" with the additional property that non-empty write-only files are regarded as appendable rather than blank. - -data_cache_size number_of_tiles blocks_per_tile Set the size and granularity of the data cache which is used when ISO images are loaded and when file content is read from ISO - images. The cache consists of several tiles, which each consists - of several blocks. A larger cache reduces the need for tiles being - read multiple times. Larger tiles might additionally improve the - data throughput from the drive, but can be wasteful if the data - are scattered over the medium. + images. The cache consists of several tiles, which each consists + of several blocks. A larger cache reduces the need for tiles being + read multiple times. Larger tiles might additionally improve the + data throughput from the drive, but can be wasteful if the data are + scattered over the medium. Larger cache sizes help best with image loading from MMC drives. They are an inferior alternative to -osirrox option "sort_lba_on". - blocks_per_tile must be a power of 2. E.g. 16, 32, or 64. The - overall cache size must not exceed 1 GiB. The default values can - be restored by parameter "default" instead of one or both of the + blocks_per_tile must be a power of 2. E.g. 16, 32, or 64. The + overall cache size must not exceed 1 GiB. The default values can be + restored by parameter "default" instead of one or both of the numbers. Currently the default is 32 tiles of 32 blocks = 2 MiB.  @@ -958,28 +942,26 @@ File: xorriso.info, Node: Insert, Next: SetInsert, Prev: Loading, Up: Comman The following commands expect file addresses of two kinds: *disk_path* is a path to an object in the local filesystem tree. *iso_rr_path* is -the Rock Ridge name of a file object in the ISO image. If no Rock -Ridge information is recorded in the loaded ISO image, then you will -see ISO 9660 names which are of limited length and character set. If -no Rock Ridge information shall be stored in an emerging ISO image, then -their names will get mapped to such restricted ISO 9660 (aka ECMA-119) -names. +the Rock Ridge name of a file object in the ISO image. If no Rock Ridge +information is recorded in the loaded ISO image, then you will see ISO +9660 names which are of limited length and character set. If no Rock +Ridge information shall be stored in an emerging ISO image, then their +names will get mapped to such restricted ISO 9660 (aka ECMA-119) names. Note that in the ISO image you are as powerful as the superuser. Access permissions of the existing files in the image do not apply to -your write operations. They are intended to be in effect with the +your write operations. They are intended to be in effect with the read-only mounted image. - If the iso_rr_path of a newly inserted file leads to an existing -file object in the ISO image, then the following collision handling -happens: + If the iso_rr_path of a newly inserted file leads to an existing file +object in the ISO image, then the following collision handling happens: If both objects are directories then they get merged by recursively inserting the subobjects from filesystem into ISO image. If other file types collide then the setting of command *-overwrite* decides. Renaming of files has similar collision handling, but directories can -only be replaced, not merged. Note that if the target directory exists, +only be replaced, not merged. Note that if the target directory exists, then -mv inserts the source objects into this directory rather than -attempting to replace it. Command -move, on the other hand, would +attempting to replace it. Command -move, on the other hand, would attempt to replace it. The commands in this section alter the ISO image and not the local @@ -995,12 +977,11 @@ filesystem. Setting "ls" enables it only for those which are marked by "disk_pattern [***]". Default is "ls". - -add pathspec [...] | disk_path [***] Insert the given files or directory trees from filesystem into the ISO image. If -pathspecs is set to "on" then pattern expansion is always - disabled and character '=' has a special meaning. It separates the + disabled and character '=' has a special meaning. It separates the ISO image path from the disk path: iso_rr_path=disk_path The separator '=' can be escaped by '\'. If iso_rr_path does not @@ -1010,87 +991,77 @@ filesystem. disk path. If in this case the word does not begin with '/' then -cdx is prepended to the disk_path and -cd is prepended to the iso_rr_path. - If -pathspecs is set to "off" then -disk_pattern expansion - applies, if enabled. The resulting words are used as both, - iso_rr_path and disk path. Relative path words get prepended the - setting of -cdx to disk_path and the setting of -cd to iso_rr_path. - + If -pathspecs is set to "off" then -disk_pattern expansion applies, + if enabled. The resulting words are used as both, iso_rr_path and + disk path. Relative path words get prepended the setting of -cdx + to disk_path and the setting of -cd to iso_rr_path. -add_plainly mode If set to mode "unknown" then any command word that does not begin with "-" and is not recognized as known command will be subject to - a virtual -add command. I.e. it will be used as pathspec or as + a virtual -add command. I.e. it will be used as pathspec or as disk_path and added to the image. If enabled, -disk_pattern expansion applies to disk_paths. Mode "dashed" is similar to "unknown" but also adds unrecognized command words even if they begin with "-". Mode "any" announces that all further words are to be added as - pathspecs or disk_paths. This does not work in dialog mode. - Mode "none" is the default. It prevents any words from being + pathspecs or disk_paths. This does not work in dialog mode. + Mode "none" is the default. It prevents any words from being understood as files to add, if they are not parameters to appropriate commands. - -path_list disk_path Like -add but read the parameter words from file disk_path or standard input if disk_path is "-". The list must contain exactly - one pathspec resp. disk_path pattern per line. - + one pathspec or disk_path pattern per line. -quoted_path_list disk_path - Like -path_list but with quoted input reading rules. Lines get - split into parameter words for -add. Whitespace outside quotes is + Like -path_list but with quoted input reading rules. Lines get + split into parameter words for -add. Whitespace outside quotes is discarded. - -map disk_path iso_rr_path - Insert file object disk_path into the ISO image as iso_rr_path. If + Insert file object disk_path into the ISO image as iso_rr_path. If disk_path is a directory then its whole sub tree is inserted into the ISO image. - -map_single disk_path iso_rr_path - Like -map, but if disk_path is a directory then its sub tree is - not inserted. - + Like -map, but if disk_path is a directory then its sub tree is not + inserted. -map_l disk_prefix iso_rr_prefix disk_path [***] - Perform -map with each of the disk_path parameters. iso_rr_path + Perform -map with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix. - -update disk_path iso_rr_path - Compare file object disk_path with file object iso_rr_path. If + Compare file object disk_path with file object iso_rr_path. If they do not match, then perform the necessary image manipulations - to make iso_rr_path a matching copy of disk_path. By default this + to make iso_rr_path a matching copy of disk_path. By default this comparison will imply lengthy content reading before a decision is - made. Commands -disk_dev_ino or -md5 may accelerate comparison if + made. Commands -disk_dev_ino or -md5 may accelerate comparison if they were already in effect when the loaded session was recorded. If disk_path is a directory and iso_rr_path does not exist yet, - then the whole subtree will be inserted. Else only directory + then the whole subtree will be inserted. Else only directory attributes will be updated. - -update_r disk_path iso_rr_path - Like -update but working recursively. I.e. all file objects below + Like -update but working recursively. I.e. all file objects below both addresses get compared whether they have counterparts below - the other address and whether both counterparts match. If there is + the other address and whether both counterparts match. If there is a mismatch then the necessary update manipulation is done. - Note that the comparison result may depend on command -follow. Its + Note that the comparison result may depend on command -follow. Its setting should always be the same as with the first adding of disk_path as iso_rr_path. - If iso_rr_path does not exist yet, then it gets added. If + If iso_rr_path does not exist yet, then it gets added. If disk_path does not exist, then iso_rr_path gets deleted. - -update_l disk_prefix iso_rr_prefix disk_path [***] Perform -update_r with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix. - -cut_out disk_path byte_offset byte_count iso_rr_path Map a byte interval of a regular disk file into a regular file in the ISO image. This may be necessary if the disk file is larger than a single medium, or if it exceeds the traditional limit of 2 GiB - 1 for old operating systems, or the limit of 4 GiB - 1 for - newer ones. Only the newest Linux kernels seem to read properly + newer ones. Only the newest Linux kernels seem to read properly files >= 4 GiB - 1. A clumsy remedy for this limit is to backup file pieces and to - concatenate them at restore time. A well tested chopping size is + concatenate them at restore time. A well tested chopping size is 2047m. It is permissible to request a higher byte_count than - available. The resulting file will be truncated to the correct + available. The resulting file will be truncated to the correct size of a final piece. To request a byte_offset higher than available yields no file in the ISO image but a SORRY event. E.g: -cut_out /my/disk/file 0 2047m \ @@ -1100,58 +1071,53 @@ filesystem. -cut_out /my/disk/file 4094m 2047m \ /file/part_3_of_3_at_4094m_with_2047m_of_5753194821 While command -split_size is set larger than 0, and if all pieces - of a file reside in the same ISO directory with no other files, - and if the names look like above, then their ISO directory will be - recognized and handled like a regular file. This affects commands + of a file reside in the same ISO directory with no other files, and + if the names look like above, then their ISO directory will be + recognized and handled like a regular file. This affects commands -compare*, -update*, and overwrite situations. See command -split_size for details. - -cpr disk_path [***] iso_rr_path Insert the given files or directory trees from filesystem into the ISO image. The rules for generating the ISO addresses are similar as with - shell command cp -r. Nevertheless, directories of the iso_rr_path - are created if necessary. Especially a not yet existing iso_rr_path - will be handled as directory if multiple disk_paths are present. - The leafnames of the multiple disk_paths will be grafted under that - directory as would be done with an existing directory. + shell command cp -r. Nevertheless, directories of the iso_rr_path + are created if necessary. Especially a not yet existing + iso_rr_path will be handled as directory if multiple disk_paths are + present. The leafnames of the multiple disk_paths will be grafted + under that directory as would be done with an existing directory. If a single disk_path is present then a non-existing iso_rr_path will get the same type as the disk_path. If a disk_path does not begin with '/' then -cdx is prepended. If the iso_rr_path does not begin with '/' then -cd is prepended. - -mkdir iso_rr_path [...] Create empty directories if they do not exist yet. Existence as - directory generates a WARNING event, existence as other file - causes a FAILURE event. - + directory generates a WARNING event, existence as other file causes + a FAILURE event. -lns target_text iso_rr_path Create a symbolic link with address iso_rr_path which points to target_text. iso_rr_path may not exist yet. Hint: Command -clone produces the ISO equivalent of a hard link. - -clone iso_rr_path_original iso_rr_path_copy Create a copy of the ISO file object iso_rr_path_original with the - new address iso_rr_path_copy. If the original is a directory then - copy all files and directories underneath. If iso_rr_path_original + new address iso_rr_path_copy. If the original is a directory then + copy all files and directories underneath. If iso_rr_path_original is a boot catalog file, then it gets not copied but is silently ignored. - The copied ISO file objects have the same attributes. Copied data + The copied ISO file objects have the same attributes. Copied data files refer to the same content source as their originals. The copies may then be manipulated independendly of their originals. This command will refuse execution if the address iso_rr_path_copy already exists in the ISO tree. - -cp_clone iso_rr_path_original [***] iso_rr_path_dest Create copies of one or more ISO file objects as with command - -clone. In case of collision merge directories with existing - ones, but do not overwrite existing ISO file objects. + -clone. In case of collision merge directories with existing ones, + but do not overwrite existing ISO file objects. The rules for generating the copy addresses are the same as with - command -cpr (see above) resp. shell command cp -r. Other than - with -cpr, relative iso_rr_path_original will get prepended the - -cd path and not the -cdx path. Consider to -mkdir - iso_rr_path_dest before -cp_clone so the copy address does not - depend on the number of iso_rr_path_original parameters. + command -cpr (see above) or shell command cp -r. Other than with + -cpr, relative iso_rr_path_original will get prepended the -cd path + and not the -cdx path. Consider to -mkdir iso_rr_path_dest before + -cp_clone so the copy address does not depend on the number of + iso_rr_path_original parameters.  File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands @@ -1160,30 +1126,29 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands =============================== -file_size_limit value [value [...]] -- - Set the maximum permissible size for a single data file. The - values get summed up for the actual limit. If the only value is - "off" then the file size is not limited by `xorriso'. Default is - a limit of 100 extents, 4g -2k each: + Set the maximum permissible size for a single data file. The + values get summed up for the actual limit. If the only value is + "off" then the file size is not limited by 'xorriso'. Default is a + limit of 100 extents, 4g -2k each: -file_size_limit 400g -200k -- When mounting ISO 9660 filesystems, old operating systems can - handle only files up to 2g -1 --. Newer ones are good up to 4g -1 + handle only files up to 2g -1 --. Newer ones are good up to 4g -1 --. You need quite a new Linux kernel to read correctly the final bytes of a file >= 4g if its size is not aligned to 2048 byte blocks. - `xorriso''s own data read capabilities are not affected by - operating system size limits. Such limits apply to mounting only. + 'xorriso''s own data read capabilities are not affected by + operating system size limits. Such limits apply to mounting only. Nevertheless, the target filesystem of an -extract must be able to take the file size. - -not_mgt code[:code[...]] Control the behavior of the exclusion lists. Exclusion processing happens before disk_paths get mapped to the - ISO image and before disk files get compared with image files. - The absolute disk path of the source is matched against the - -not_paths list. The leafname of the disk path is matched against - the patterns in the -not_leaf list. If a match is detected then - the disk path will not be regarded as an existing file and not be - added to the ISO image. + ISO image and before disk files get compared with image files. The + absolute disk path of the source is matched against the -not_paths + list. The leafname of the disk path is matched against the + patterns in the -not_leaf list. If a match is detected then the + disk path will not be regarded as an existing file and not be added + to the ISO image. Several codes are defined. The _on/_off settings persist until they are revoked by their_off/_on counterparts. "erase" empties the lists which were accumulated by -not_paths and @@ -1193,7 +1158,7 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands invalidating the lists and settings. "on" re-enables exclusion processing. "param_off" applies exclusion processing only to paths below - disk_path parameter of commands. I.e. explicitly given disk_paths + disk_path parameter of commands. I.e. explicitly given disk_paths are exempted from exclusion processing. "param_on" applies exclusion processing to command parameters as well as to files below such parameters. @@ -1202,39 +1167,33 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands "subtree_on" additionally excludes parameter paths which lead to a file address below any -not_paths item. "ignore_off" treats excluded disk files as if they were missing. - I.e. they get reported with -compare and deleted from the image + I.e. they get reported with -compare and deleted from the image with -update. "ignore_on" keeps excluded files out of -compare or -update activities. - -not_paths disk_path [***] Add the given paths to the list of excluded absolute disk paths. If a given path is relative, then the current -cdx is prepended to form an absolute path. Pattern matching, if enabled, happens at definition time and not when exclusion checks are made. (Do not forget to end the list of disk_paths by "--") - -not_leaf pattern Add a single shell parser style pattern to the list of exclusions - for disk leafnames. These patterns are evaluated when the + for disk leafnames. These patterns are evaluated when the exclusion checks are made. - -not_list disk_path - Read lines from disk_path and use each of them either as - -not_paths parameter, if they contain a / character, or as - -not_leaf pattern. - + Read lines from disk_path and use each of them either as -not_paths + parameter, if they contain a / character, or as -not_leaf pattern. -quoted_not_list disk_path - Like -not_list but with quoted input reading rules. Each word is - handled as one parameter for -not_paths resp. -not_leaf. - + Like -not_list but with quoted input reading rules. Each word is + handled as one parameter for -not_paths or -not_leaf. -follow occasion[:occasion[...]] Enable or disable resolution of symbolic links and mountpoints - under disk_paths. This applies to actions -add, -du*x, -ls*x, + under disk_paths. This applies to actions -add, -du*x, -ls*x, -findx, -concat, and to -disk_pattern expansion. There are three kinds of follow decisison to be made: *link* is the hop from a symbolic link to its target file object - for the purpose of reading. I.e. not for command -concat. If + for the purpose of reading. I.e. not for command -concat. If enabled then symbolic links are handled as their target file objects, else symbolic links are handled as themselves. *mount* is the hop from one filesystem to another subordinate @@ -1242,74 +1201,72 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands any other directory, else mountpoints are handled as empty directories if they are encountered in directory tree traversals. *concat* is the hop from a symbolic link to its target file object - for the purpose of writing. I.e. for command -concat. This is a + for the purpose of writing. I.e. for command -concat. This is a security risk ! Less general than above occasions: *pattern* is mount and link hopping, but only during -disk_pattern expansion. *param* is link hopping for parameter words (after eventual pattern expansion). If enabled then -ls*x will show the link targets - rather than the links themselves. -du*x, -findx, and -add will + rather than the links themselves. -du*x, -findx, and -add will process the link targets but not follow links in an eventual directory tree below the targets (unless "link" is enabled). - Occasions can be combined in a colon separated list. All occasions + Occasions can be combined in a colon separated list. All occasions mentioned in the list will then lead to a positive follow decision. - *off* prevents any positive follow decision. Use it if no other + + *off* prevents any positive follow decision. Use it if no other occasion applies. Shortcuts: *default* is equivalent to "pattern:mount:limit=100". - *on* always decides positive. Equivalent to "link:mount:concat". + *on* always decides positive. Equivalent to "link:mount:concat". Not an occasion but an optional setting is: *limit=* which sets the maximum number of link hops. A link hop consists of a sequence of symbolic links and a final - target of different type. Nevertheless those hops can loop. + target of different type. Nevertheless those hops can loop. Example: - $ ln -s .. uploop + $ ln -s .. uploop Link hopping has a built-in loop detection which stops hopping at - the first repetition of a link target. Then the repeated link is + the first repetition of a link target. Then the repeated link is handled as itself and not as its target. Regrettably one can construct link networks which cause exponential workload before their loops get detected. The number given with "limit=" can curb this workload at the risk of truncating an intentional sequence of link hops. - -pathspecs "on"|"off" - Control parameter interpretation with `xorriso' actions -add and + Control parameter interpretation with 'xorriso' actions -add and -path_list. "on" enables pathspecs of the form *target=source* like with program mkisofs -graft-points. It also disables -disk_pattern expansion for command -add. "off" disables pathspecs of the form target=source and re-enables -disk_pattern expansion. - -overwrite "on"|"nondir"|"off" Allow or disallow to overwrite existing files in the ISO image by files with the same name. With setting "off", name collisions cause FAILURE events. With setting "nondir", only directories are protected by such events, other existing file types get treated with -rm before the new file - gets added. Setting "on" allows automatic -rm_r. I.e. a + gets added. Setting "on" allows automatic -rm_r. I.e. a non-directory can replace an existing directory and all its subordinates. If restoring of files is enabled, then the overwrite rule applies to the target file objects on disk as well, but "on" is downgraded to "nondir". - -split_size number["k"|"m"] - Set the threshold for automatic splitting of regular files. Such + Set the threshold for automatic splitting of regular files. Such splitting maps a large disk file onto a ISO directory with several part files in it. This is necessary if the size of the disk file - exceeds -file_size_limit. Older operating systems can handle - files in mounted ISO 9660 filesystems only if they are smaller - than 2 GiB resp. 4 GiB. + exceeds -file_size_limit. Older operating systems can handle files + in mounted ISO 9660 filesystems only if they are smaller than 2 GiB + or in other cases 4 GiB. Default is 0 which will exclude files larger than -file_size_limit - by a FAILURE event. A well tested -split_size is 2047m. Sizes + by a FAILURE event. A well tested -split_size is 2047m. Sizes above -file_size_limit are not permissible. While command -split_size is set larger than 0 such a directory with split file pieces will be recognized and handled like a regular file by commands -compare* , -update*, and in overwrite - situations. There are -ossirox parameters "concat_split_on" and + situations. There are -ossirox parameters "concat_split_on" and "concat_split_off" which control the handling when files get restored to disk. In order to be recognizable, the names of the part files have to @@ -1321,8 +1278,8 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands digits are interpreted as decimal, even if leading zeros are present. E.g: /file/part_1_of_3_at_0_with_2047m_of_5753194821 - No other files are allowed in the directory. All parts have to be - present and their numbers have to be plausible. E.g. byte_count + No other files are allowed in the directory. All parts have to be + present and their numbers have to be plausible. E.g. byte_count must be valid as -cut_out parameter and their contents may not overlap. @@ -1338,149 +1295,131 @@ whether they stem from the loaded image or were newly inserted. -iso_rr_pattern "on"|"ls"|"off" Set the pattern expansion mode for the iso_rr_path parameters of several commands which support this feature. - Setting "off" disables pattern expansion for all commands which - are marked in this man page by "iso_rr_path [***]" or - "iso_rr_pattern [***]". + Setting "off" disables pattern expansion for all commands which are + marked in this man page by "iso_rr_path [***]" or "iso_rr_pattern + [***]". Setting "on" enables it for all those commands. Setting "ls" enables it only for those which are marked by "iso_rr_pattern [***]". Default is "on". - -rm iso_rr_path [***] Delete the given files from the ISO image. Note: This does not free any space on the -indev medium, even if the deletion is committed to that same medium. The image size will shrink if the image is written to a different medium in modification mode. - -rm_r iso_rr_path [***] Delete the given files or directory trees from the ISO image. See also the note with command -rm. - -rmdir iso_rr_path [***] Delete empty directories. - -move iso_rr_path iso_rr_path Rename the file given by the first (origin) iso_rr_path to the second (destination) iso_rr_path. Deviate from rules of shell command mv by not moving the origin file underneath an existing - destination directory. The origin file will rather replace such a + destination directory. The origin file will rather replace such a directory, if this is allowed by command -overwrite. - -mv iso_rr_path [***] iso_rr_path - Rename the given file objects in the ISO tree to the last - parameter in the list. Use the same rules as with shell command mv. + Rename the given file objects in the ISO tree to the last parameter + in the list. Use the same rules as with shell command mv. If pattern expansion is enabled and if the last parameter contains wildcard characters then it must match exactly one existing file address, or else the command fails with a FAILURE event. - -chown uid iso_rr_path [***] - Set ownership of file objects in the ISO image. uid may either be + Set ownership of file objects in the ISO image. uid may either be a decimal number or the name of a user known to the operating system. - -chown_r uid iso_rr_path [***] Like -chown but affecting all files below eventual directories. - -chgrp gid iso_rr_path [***] - Set group attribute of file objects in the ISO image. gid may + Set group attribute of file objects in the ISO image. gid may either be a decimal number or the name of a group known to the operating system. - -chgrp_r gid iso_rr_path [***] Like -chgrp but affecting all files below eventual directories. - -chmod mode iso_rr_path [***] - Equivalent to shell command chmod in the ISO image. mode is - either an octal number beginning with "0" or a comma separated - list of statements of the form [ugoa]*[+-=][rwxst]* . + Equivalent to shell command chmod in the ISO image. mode is either + an octal number beginning with "0" or a comma separated list of + statements of the form [ugoa]*[+-=][rwxst]* . Like: go-rwx,u+rwx . *Personalities*: u=user, g=group, o=others, a=all *Operators*: + adds given permissions, - revokes given permissions, = revokes all old permissions and then adds the given ones. - *Permissions*: r=read, w=write, x=execute|inspect, - s=setuid|setgid, t=sticky bit + *Permissions*: r=read, w=write, x=execute|inspect, s=setuid|setgid, + t=sticky bit For octal numbers see man 2 stat. - -chmod_r mode iso_rr_path [***] Like -chmod but affecting all files below eventual directories. - -setfacl acl_text iso_rr_path [***] - Attach the given ACL to the given iso_rr_paths. If the files + Attach the given ACL to the given iso_rr_paths. If the files already have ACLs, then those get deleted before the new ones get - into effect. If acl_text is empty, or contains the text "clear" - or the text "--remove-all", then the existing ACLs will be removed - and no new ones will be attached. Any other content of acl_text - will be interpreted as a list of ACL entries. It may be in the - long multi-line format as put out by -getfacl but may also be + into effect. If acl_text is empty, or contains the text "clear" or + the text "--remove-all", then the existing ACLs will be removed and + no new ones will be attached. Any other content of acl_text will + be interpreted as a list of ACL entries. It may be in the long + multi-line format as put out by -getfacl but may also be abbreviated as follows: - ACL entries are separated by comma or newline. If an entry is - empty text or begins with "#" then it will be ignored. A valid + ACL entries are separated by comma or newline. If an entry is + empty text or begins with "#" then it will be ignored. A valid entry has to begin by a letter out of {ugom} for "user", "group", - "other", "mask". It has to contain two colons ":". A non-empty - text between those ":" gives a user id resp. group id. After the + "other", "mask". It has to contain two colons ":". A non-empty + text between those ":" gives a user id or group id. After the second ":" there may be letters out of {rwx- #}. The first three - give read, write resp. execute permission. Letters "-", " " and - TAB are ignored. "#" causes the rest of the entry to be ignored. - Letter "X" or any other letters are not supported. Examples: + give read, write, or execute permission. Letters "-", " " and TAB + are ignored. "#" causes the rest of the entry to be ignored. + Letter "X" or any other letters are not supported. Examples: g:toolies:rw,u:lisa:rw,u:1001:rw,u::wr,g::r,o::r,m::rw group:toolies:rw-,user::rw-,group::r--,other::r--,mask::rw- - A valid entry may be prefixed by "d", some following characters - and ":". This indicates that the entry goes to the "default" ACL + A valid entry may be prefixed by "d", some following characters and + ":". This indicates that the entry goes to the "default" ACL rather than to the "access" ACL. Example: u::rwx,g::rx,o::,d:u::rwx,d:g::rx,d:o::,d:u:lisa:rwx,d:m::rwx - -setfacl_r acl_text iso_rr_path [***] Like -setfacl but affecting all files below eventual directories. - -setfacl_list disk_path - Read the output of -getfacl_r or shell command getfacl -R and - apply it to the iso_rr_paths as given in lines beginning with "# - file:". This will change ownership, group and ACL of the given - files. If disk_path is "-" then lines are read from standard - input. Line "@" ends the list, "@@@" aborts without changing the - pending iso_rr_path. + Read the output of -getfacl_r or shell command getfacl -R and apply + it to the iso_rr_paths as given in lines beginning with "# file:". + This will change ownership, group and ACL of the given files. If + disk_path is "-" then lines are read from standard input. Line "@" + ends the list, "@@@" aborts without changing the pending + iso_rr_path. Since -getfacl and getfacl -R strip leading "/" from file paths, the setting of -cd does always matter. - -setfattr [-]name value iso_rr_path [***] Attach the given xattr pair of name and value to the given iso_rr_paths. If the given name is prefixed by "-", then the pair - with that name gets removed from the xattr list. If name is + with that name gets removed from the xattr list. If name is "--remove-all" then all user namespace xattr of the given - iso_rr_paths get deleted. In case of deletion, value must be an + iso_rr_paths get deleted. In case of deletion, value must be an empty text. - Only names from the user namespace are allowed. I.e. a name has to - begin with "user.", like "user.x" or "user.whatever". - Values and names undergo the normal input processing of `xorriso'. - See also command -backslash_codes. Other than with command + Only names from the user namespace are allowed. I.e. a name has + to begin with "user.", like "user.x" or "user.whatever". + Values and names undergo the normal input processing of 'xorriso'. + See also command -backslash_codes. Other than with command -setfattr_list, the byte value 0 cannot be expressed via -setfattr. - -setfattr_r [-]name value iso_rr_path [***] Like -setfattr but affecting all files below eventual directories. - -setfattr_list disk_path Read the output of -getfattr_r or shell command getfattr -Rd and apply it to the iso_rr_paths as given in lines beginning with "# - file:". All previously existing user space xattr of the given + file:". All previously existing user space xattr of the given iso_rr_paths will be deleted. If disk_path is "-" then lines are read from standard input. - Since -getfattr and getfattr -Rd strip leading "/" from file - paths, the setting of -cd does always matter. + Since -getfattr and getfattr -Rd strip leading "/" from file paths, + the setting of -cd does always matter. Empty input lines and lines which begin by "#" will be ignored - (except "# file:"). Line "@" ends the list, "@@@" aborts without - changing the pending iso_rr_path. Other input lines must have the + (except "# file:"). Line "@" ends the list, "@@@" aborts without + changing the pending iso_rr_path. Other input lines must have the form name="value" - Name must be from user namespace. I.e. user.xyz where xyz should - consist of printable characters only. The separator "=" is not - allowed in names. Value may contain any kind of bytes. It must be - in quotes. Trailing whitespace after the end quote will be - ignored. Non-printables bytes and quotes must be represented as - \XYZ by their octal 8-bit code XYZ. Use code \000 for 0-bytes. - + Name must be from user namespace. I.e. user.xyz where xyz should + consist of printable characters only. The separator "=" is not + allowed in names. Value may contain any kind of bytes. It must be + in quotes. Trailing whitespace after the end quote will be + ignored. Non-printables bytes and quotes must be represented as + \XYZ by their octal 8-bit code XYZ. Use code \000 for 0-bytes. -alter_date type timestring iso_rr_path [***] - Alter the date entries of files in the ISO image. type may be one + Alter the date entries of files in the ISO image. type may be one of the following: "a" sets access time, updates ctime. "m" sets modification time, updates ctime. @@ -1489,7 +1428,7 @@ whether they stem from the loaded image or were newly inserted. "c" sets the ctime. timestring may be in the following formats (see also section EXAMPLES): - As expected by program date: MMDDhhmm[[CC]YY][.ss]] + As expected by program date: MMDDhhmm[[CC]YY][.ss]] As produced by program date: [Day] MMM DD hh:mm:ss [TZON] YYYY Relative times counted from current clock time: @@ -1498,7 +1437,7 @@ whether they stem from the loaded image or were newly inserted. "y"=365.25d plus 1d added to multiplication result. Absolute seconds counted from Jan 1 1970: =Number - `xorriso''s own timestamps: + 'xorriso''s own timestamps: YYYY.MM.DD[.hh[mm[ss]]] scdbackup timestamps: YYMMDD[.hhmm[ss]] @@ -1506,23 +1445,21 @@ whether they stem from the loaded image or were newly inserted. ECMA-119 volume timestamps: YYYYMMDDhhmmsscc These are normally given as GMT. The suffix "LOC" causes local - timezone conversion. E.g. 2013010720574700, 2013010720574700LOC. + timezone conversion. E.g. 2013010720574700, 2013010720574700LOC. The last two digits cc (centiseconds) will be ignored, but must be present in order to make the format recognizable. Example: -alter_date m-c 2013.11.27.103951 /file1 /file2 - - -alter_date_r type timestring iso_rr_path [***] Like -alter_date but affecting all files below eventual directories. - -hide hide_state iso_rr_path [***] Prevent the names of the given files from showing up in the directory trees of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. The data content of such hidden files will be - included in the resulting image, even if they do not show up in - any directory. But you will need own means to find nameless data - in the image. + included in the resulting image, even if they do not show up in any + directory. But you will need own means to find nameless data in + the image. Warning: Data which are hidden from the ISO 9660 tree will not be copied by the write method of modifying. Possible values of hide_state are: "iso_rr" for hiding from ISO @@ -1544,266 +1481,266 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Commands iso_rr_path. If not used as last command in the line then the parameter list needs to get terminated by "--". - Tests are optional. If they are omitted then action is applied to - all file objects. If tests are given then they form together an + Tests are optional. If they are omitted then action is applied to + all file objects. If tests are given then they form together an expression. The action is applied only if the expression matches - the file object. Default expression operator between tests is - -and, i.e. the expression matches only if all its tests match. + the file object. Default expression operator between tests is + -and, i.e. the expression matches only if all its tests match. Available tests are: - -name pattern : + -name pattern : Matches if pattern matches the file leaf name. - -wholename pattern : + -wholename pattern : Matches if pattern matches the file path as it would be - printed by action "echo". Character '/' is not special but + printed by action "echo". Character '/' is not special but can be matched by wildcards. - -disk_name pattern : + -disk_name pattern : Like -name but testing the leaf name of the file source on disk. Can match only data files which do not stem from the - loaded image, or for directories above such data files. With + loaded image, or for directories above such data files. With directories the result can change between -find runs if their content stems from multiple sources. - -disk_path disk_path : + -disk_path disk_path : Matches if the given disk_path is equal to the path of the - file source on disk. The same restrictions apply as with + file source on disk. The same restrictions apply as with -disk_name. - -type type_letter : + -type type_letter : Matches files of the given type: "block", "char", "dir", "pipe", "file", "link", "socket", "eltorito", and "Xotic" which matches what is not matched by the other types. Only the first letter is interpreted. E.g.: -find / -type d - -damaged : + -damaged : Matches files which use data blocks marked as damaged by a - previous run of -check_media. The damage info vanishes when a + previous run of -check_media. The damage info vanishes when a new ISO image gets loaded. Note that a MD5 session mismatch marks all files of the session as damaged. If finer distinction is desired, perform -md5 off before -check_media. - -pending_data : + -pending_data : Matches files which get their content from outside the loaded ISO image. - -lba_range start_lba block_count : + -lba_range start_lba block_count : Matches files which use data blocks within the range of start_lba and start_lba+block_count-1. - -has_acl : + -has_acl : Matches files which have a non-trivial ACL. - -has_xattr : + -has_xattr : Matches files which have xattr name-value pairs from user namespace. - -has_aaip : + -has_aaip : Matches files which have ACL or any xattr. - -has_any_xattr : + -has_any_xattr : Matches files which have any xattr other than ACL. - -has_md5 : + -has_md5 : Matches data files which have MD5 checksums. - -has_hfs_crtp creator type : + -has_hfs_crtp creator type : Matches files which have the given HFS+ creator and type - attached. These are codes of 4 characters which get stored - if -hfsplus is enabled. Use a single dash '-' as wildcard - that matches any such code. E.g:. + attached. These are codes of 4 characters which get stored if + -hfsplus is enabled. Use a single dash '-' as wildcard that + matches any such code. E.g:. -has_hfs_crtp YYDN TEXT -has_hfs_crtp - - - -has_hfs_bless blessing : - Matches files which bear the given HFS+ blessing. It may be + -has_hfs_bless blessing : + Matches files which bear the given HFS+ blessing. It may be one of : "ppc_bootdir", "intel_bootfile", "show_folder", - "os9_folder", "osx_folder", "any". See also action + "os9_folder", "osx_folder", "any". See also action set_hfs_bless. - -has_filter : + -has_filter : Matches files which are filtered by -set_filter. - -hidden hide_state : + -hidden hide_state : Matches files which are hidden in "iso_rr" tree, in "joliet" - tree, in "hfsplus" tree, in all trees ("on"), or not hidden - in any tree ("off"). + tree, in "hfsplus" tree, in all trees ("on"), or not hidden in + any tree ("off"). Those which are hidden in some tree match -not -hidden "off". - -bad_outname namespace : - Matches files with names which change when converted forth - and back between the local character set and one of the - namespaces "rockridge", "joliet", "ecma119", "hfsplus". - All applicable -compliance rules are taken into respect. - Rule "omit_version" is always enabled, because else - namespaces "joliet" and "ecma119" would cause changes with - every non-directory name. Consider to also enable rules - "no_force_dots" resp. "no_j_force_dots". + -bad_outname namespace : + Matches files with names which change when converted forth and + back between the local character set and one of the namespaces + "rockridge", "joliet", "ecma119", "hfsplus". + All applicable -compliance rules are taken into respect. Rule + "omit_version" is always enabled, because else namespaces + "joliet" and "ecma119" would cause changes with every + non-directory name. Consider to also enable rules + "no_force_dots" and "no_j_force_dots". The namespaces use different character sets and apply further restrictions to name length, permissible characters, and - mandatory name components. "rockridge" uses the character - set defined by -out_charset, "joliet" uses UCS-2BE, "ecma119" - uses ASCII, "hfsplus" uses UTF-16BE. - -prune : + mandatory name components. "rockridge" uses the character set + defined by -out_charset, "joliet" uses UCS-2BE, "ecma119" uses + ASCII, "hfsplus" uses UTF-16BE. + -prune : If this test is reached and the tested file is a directory - then -find will not dive into that directory. This test + then -find will not dive into that directory. This test itself does always match. - -use_pattern "on"|"off" : - This pseudo test controls the interpretation of wildcards - with tests -name, -wholename, and -disk_name. Default is - "on". If interpretation is disabled by "off", then the - parameters of -name, -wholename, and -disk_name have to match - literally rather than as search pattern. This test itself - does always match. - -or_use_pattern "on"|"off" : - Like -use_pattern, but automatically appending the test by - -or rather than by -and. Further the test itself does never - match. So a subsequent test -or will cause its other operand + -use_pattern "on"|"off" : + This pseudo test controls the interpretation of wildcards with + tests -name, -wholename, and -disk_name. Default is "on". If + interpretation is disabled by "off", then the parameters of + -name, -wholename, and -disk_name have to match literally + rather than as search pattern. This test itself does always + match. + -or_use_pattern "on"|"off" : + Like -use_pattern, but automatically appending the test by -or + rather than by -and. Further the test itself does never + match. So a subsequent test -or will cause its other operand to be performed. - -decision "yes"|"no" : + -decision "yes"|"no" : If this test is reached then the evaluation ends immediately and action is performed if the decision is "yes" or "true". See operator -if. - -true and -false : - Always match resp. match not. Evaluation goes on. - -sort_lba : - Always match. This causes -find to perform its action in a - sequence sorted by the ISO image block addresses of the - files. It may improve throughput with actions which read data - from optical drives. Action will always get the absolute path - as parameter. + -true and -false : + Always match or match not, respectively. Evaluation goes on. + -sort_lba : + Always match. This causes -find to perform its action in a + sequence sorted by the ISO image block addresses of the files. + It may improve throughput with actions which read data from + optical drives. Action will always get the absolute path as + parameter. Available operators are: - -not : + -not : Matches if the next test or sub expression does not match. Several tests do this specifically: -undamaged, -lba_range with negative start_lba, -has_no_acl, -has_no_xattr, -has_no_aaip, -has_no_filter . - -and : + -and : Matches if both neighboring tests or expressions match. - -or : + -or : Matches if at least one of both neighboring tests or expressions matches. - -sub ... -subend or ( ... ) : + -sub ... -subend or ( ... ) : Enclose a sub expression which gets evaluated first before it is processed by neighboring operators. Normal precedence is: -not, -or , -and. - -if ... -then ... -elseif ... -then ... -else ... -endif : - Enclose one or more sub expressions. If the -if expression + -if ... -then ... -elseif ... -then ... -else ... -endif : + Enclose one or more sub expressions. If the -if expression matches, then the -then expression is evaluated as the result - of the whole expression up to -endif. Else the next -elseif + of the whole expression up to -endif. Else the next -elseif expression is evaluated and if it matches, its -then - expression. Finally in case of no match, the -else expression - is evaluated. There may be more than one -elseif. Neither + expression. Finally in case of no match, the -else expression + is evaluated. There may be more than one -elseif. Neither -else nor -elseif are mandatory. If -else is missing and would be hit, then the result is a non-match. -if-expressions are the main use case for above test -decision. - - Default action is *echo*, i.e. to print the address of the found - file. Other actions are certain `xorriso' commands which get + Default action is *echo*, i.e. to print the address of the found + file. Other actions are certain 'xorriso' commands which get performed on the found files. These commands may have specific - parameters. See also their particular descriptions. + parameters. See also their particular descriptions. - chown and chown_r - change the ownership and get the user id as parameter. E.g.: + chown and chown_r + change the ownership and get the user id as parameter. E.g.: -exec chown thomas -- - chgrp and Bchgrp_r + chgrp and Bchgrp_r change the group attribute and get the group id as parameter. E.g.: -exec chgrp_r staff -- - chmod and chmod_r + chmod and chmod_r change access permissions and get a mode string as parameter. E.g.: -exec chmod a-w,a+r -- - Balter_date and Balter_date_r - change the timestamps. They get a type character and a + Balter_date and Balter_date_r + change the timestamps. They get a type character and a timestring as parameters. E.g.: -exec alter_date "m" "Dec 30 19:34:12 2007" -- - lsdl + lsdl prints file information like shell command ls -dl. - compare + compare performs command -compare with the found file address as iso_rr_path and the corresponding file address below its - parameter disk_path_start. For this the iso_rr_path of the + parameter disk_path_start. For this the iso_rr_path of the -find command gets replaced by the disk_path_start. E.g.: -find /thomas -exec compare /home/thomas -- - update + update performs command -update with the found file address as - iso_rr_path. The corresponding file address is determined + iso_rr_path. The corresponding file address is determined like with above action "compare". - update_merge + update_merge is like update but does not delete the found file if it is - missing on disk. It may be run several times and records - with all visited files whether their counterpart on disk has - already been seen by one of the update_merge runs. Finally, - a -find run with action "rm_merge" may remove all files that - saw no counterpart on disk. + missing on disk. It may be run several times and records with + all visited files whether their counterpart on disk has + already been seen by one of the update_merge runs. Finally, a + -find run with action "rm_merge" may remove all files that saw + no counterpart on disk. Up to the next "rm_merge" or "clear_merge" all newly inserted files will get marked as having a disk counterpart. - rm + rm removes the found iso_rr_path from the image if it is not a - directory with files in it. I.e. this "rm" includes "rmdir". - rm_r + directory with files in it. I.e. this "rm" includes "rmdir". + + rm_r removes the found iso_rr_path from the image, including whole directory trees. - rm_merge - removes the found iso_rr_path if it was visited by one or - more previous actions "update_merge" and saw no counterpart - on disk in any of them. The marking from the update actions - is removed in any case. - clear_merge + rm_merge + removes the found iso_rr_path if it was visited by one or more + previous actions "update_merge" and saw no counterpart on disk + in any of them. The marking from the update actions is + removed in any case. + clear_merge removes an eventual marking from action "update_merge". - report_damage + report_damage classifies files whether they hit a data block that is marked - as damaged. The result is printed together with the address + as damaged. The result is printed together with the address of the first damaged byte, the maximum span of damages, file size, and the path of the file. - report_lba + report_lba prints files which are associated to image data blocks. It tells the logical block address, the block number, the byte - size, and the path of each file. There may be reported more + size, and the path of each file. There may be reported more than one line per file if the file has more than one section. - In this case each line has a different extent number in - column "xt". - report_sections + In this case each line has a different extent number in column + "xt". + report_sections like report_lba but telling the byte sizes of the particular sections rather than the overall byte size of the file. - getfacl + getfacl prints access permissions in ACL text form to the result channel. - setfacl - attaches ACLs after removing existing ones. The new ACL is + setfacl + attaches ACLs after removing existing ones. The new ACL is given in text form as defined with command -setfacl. E.g.: -exec setfacl u:lisa:rw,u::rw,g::r,o::-,m::rw -- - getfattr + getfattr prints xattr name-value pairs from user namespace to the result channel. - get_any_xattr - prints xattr name-value pairs from any namespace except ACL - to the result channel. This is mostly for debugging of - namespace "isofs". - list_extattr mode - prints a script to the result channel, which would use - FreeBSD command setextattr to set the file's xattr name-value - pairs of user namespace. Parameter mode controls the form of - the output of names and values. Default mode "e" prints - harmless characters in shell quotation marks, but represents - texts with octal 001 to 037 and 0177 to 0377 by an embedded - echo -e command. Mode "q" prints any characters in shell - quotation marks. This might not be terminal-safe but should - work in script files. Mode "r" uses no quotation marks. Not - safe. Mode "b" prints backslash encoding. Not suitable for - shell parsing. - E.g. -exec list_extattr e - + get_any_xattr + prints xattr name-value pairs from any namespace except ACL to + the result channel. This is mostly for debugging of namespace + "isofs". + list_extattr mode + prints a script to the result channel, which would use FreeBSD + command setextattr to set the file's xattr name-value pairs of + user namespace. Parameter mode controls the form of the + output of names and values. Default mode "e" prints harmless + characters in shell quotation marks, but represents texts with + octal 001 to 037 and 0177 to 0377 by an embedded echo -e + command. Mode "q" prints any characters in shell quotation + marks. This might not be terminal-safe but should work in + script files. Mode "r" uses no quotation marks. Not safe. + Mode "b" prints backslash encoding. Not suitable for shell + parsing. + E.g. -exec list_extattr e - Command -backslash_codes does not affect the output. - get_md5 + get_md5 prints the MD5 sum, if recorded, together with file path. - check_md5 + check_md5 compares the MD5 sum, if recorded, with the file content and reports if mismatch. E.g.: -find / -not -pending_data -exec check_md5 FAILURE -- - make_md5 - equips a data file with an MD5 sum of its content. Useful to + make_md5 + equips a data file with an MD5 sum of its content. Useful to upgrade the files in the loaded image to full MD5 coverage by the next commit with -md5 "on". E.g.: -find / -type f -not -has_md5 -exec make_md5 -- - setfattr + setfattr sets or deletes xattr name value pairs. E.g.: -find / -has_xattr -exec setfattr --remove-all " -- - set_hfs_crtp + set_hfs_crtp adds, changes, or removes HFS+ creator and type attributes. E.g.: -exec set_hfs_crtp YYDN TEXT E.g.: -find /my/dir -prune -exec set_hfs_crtp -delete - - get_hfs_crtp + get_hfs_crtp prints the HFS+ creator and type attributes together with the iso_rr_path, if the file has such attributes at all. E.g.: -exec get_hfs_crtp - set_hfs_bless - applies or removes HFS+ blessings. They are roles which can + set_hfs_bless + applies or removes HFS+ blessings. They are roles which can be attributed to up to four directories and a data file: "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder". @@ -1811,75 +1748,74 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Commands Each such role can be attributed to at most one file object. "intel_bootfile" is the one that would apply to a data file. All others apply to directories. The -find run will end as - soon as the first blessing is issued. The previous bearer of + soon as the first blessing is issued. The previous bearer of the blessing will lose it then. No file object can bear more than one blessing. E.g.: -find /my/blessed/directory -exec set_hfs_bless p Further there is blessing "none" or "n" which revokes any - blessing from the found files. This -find run will not stop + blessing from the found files. This -find run will not stop when the first match is reached. E.g.: -find / -has_hfs_bless any -exec set_hfs_bless none - get_hfs_bless - prints the HFS+ blessing role and the iso_rr_path, if the - file is blessed at all. + get_hfs_bless + prints the HFS+ blessing role and the iso_rr_path, if the file + is blessed at all. E.g.: -exec get_hfs_bless - set_filter + set_filter applies or removes filters. E.g.: -exec set_filter --zisofs -- - mkisofs_r + mkisofs_r applies the rules of mkisofs -r to the file object: user id and group id become 0, all r-permissions get granted, all w denied. If there is any x-permission, then all three x get granted. s- and t-bits get removed. - sort_weight + sort_weight attributes a LBA weight number to regular files. - The number may range from -2147483648 to 2147483647. The + The number may range from -2147483648 to 2147483647. The higher it is, the lower will be the block address of the file data in the emerging ISO image. Currently the boot catalog has a hardcoded weight of 1 billion. Normally it should occupy the block with the lowest possible address. Data files which are loaded by -indev or -dev get a weight - between 1 and 2 exp 28 = 268,435,456, depending on their - block address. This shall keep them roughly in the same order - if the write method of modifying is applied. + between 1 and 2 exp 28 = 268,435,456, depending on their block + address. This shall keep them roughly in the same order if + the write method of modifying is applied. Data files which are added by other commands get an initial weight of 0. Boot image files have a default weight of 2. E.g.: -exec sort_weight 3 -- - show_stream + show_stream shows the content stream chain of a data file. - - show_stream_id + show_stream_id is like show_stream, but also prints between stream type and first ":" in square brackets libisofs id numbers: [fs_id,dev_id,ino_id]. - hide + hide brings the file into one of the hide states "on", "iso_rr", - "joliet", "hfsplus", "off". They may be combined. E.g.: + "joliet", "hfsplus", "off". They may be combined. E.g.: joliet:hfsplus E.g.: -find / -disk_name *_secret -exec hide on - print_outname + print_outname prints in the first line the filename as registered by the program model, and in the second line the filename after conversion forth and back between local character set and one of the namespaces "rockridge", "joliet", "ecma119", or - "hfsplus". The third output line is "-" . - The name conversion does not take into respect the - possibility of name collisions in the target namespace. Such - collisions are most likely in "joliet" and "ecma119", where - they get resolved by automatic file name changes. + "hfsplus". The third output line is "-" . + The name conversion does not take into respect the possibility + of name collisions in the target namespace. Such collisions + are most likely in "joliet" and "ecma119", where they get + resolved by automatic file name changes. E.g.: -find / -bad_outname joliet -exec print_outname joliet - estimate_size - prints a lower and an upper estimation of the number of - blocks which the found files together will occupy in the - emerging ISO image. This does not account for the superblock, - for the directories in the -find path, or for image padding. - find + estimate_size + prints a lower and an upper estimation of the number of blocks + which the found files together will occupy in the emerging ISO + image. This does not account for the superblock, for the + directories in the -find path, or for image padding. + find performs another run of -find on the matching file address. It accepts the same params as -find, except iso_rr_path. E.g.: - -find / -name '???' -type d -exec find -name '[abc]*' -exec + -find / -name '???' -type d -exec find -name '[abc]*' -exec chmod a-w,a+r --  @@ -1889,59 +1825,56 @@ File: xorriso.info, Node: Filter, Next: Writing, Prev: CmdFind, Up: Commands ================================= *Filters* may be installed between data files in the ISO image and their -content source outside the image. They may also be used vice versa +content source outside the image. They may also be used vice versa between data content in the image and target files on disk. -Built-in filters are "--zisofs" and "--zisofs-decode". The former is to -be applied via -set_filter, the latter is automatically applied if + Built-in filters are "--zisofs" and "--zisofs-decode". The former is +to be applied via -set_filter, the latter is automatically applied if zisofs compressed content is detected with a file when loading the ISO image. Another built-in filter pair is "--gzip" and "--gunzip" with suffix ".gz". They behave about like external gzip and gunzip but avoid -forking a process for each single file. So they are much faster if +forking a process for each single file. So they are much faster if there are many small files. -external_filter name option[:option] program_path [arguments] -- Register a content filter by associating a name with a program - path, program arguments, and some behavioral options. Once + path, program arguments, and some behavioral options. Once registered it can be applied to multiple data files in the ISO image, regardless whether their content resides in the loaded ISO image or in the local filesystem. External filter processes may - produce synthetic file content by reading the original content - from stdin and writing to stdout whatever they want. They must - deliver the same output on the same input in repeated runs. + produce synthetic file content by reading the original content from + stdin and writing to stdout whatever they want. They must deliver + the same output on the same input in repeated runs. Options are: "default" means that no other option is intended. - "suffix=..." sets a file name suffix. If it is not empty then it + "suffix=..." sets a file name suffix. If it is not empty then it will be appended to the file name or removed from it. "remove_suffix" will remove a file name suffix rather than appending it. "if_nonempty" will leave 0-sized files unfiltered. - "if_reduction" will try filtering and revoke it if the content - size does not shrink. + "if_reduction" will try filtering and revoke it if the content size + does not shrink. "if_block_reduction" will revoke if the number of 2 kB blocks does not shrink. - "used=..." is ignored. Command -status shows it with the number of - files which currently have the filter applied. + "used=..." is ignored. Command -status shows it with the number + of files which currently have the filter applied. Examples: -external_filter bzip2 suffix=.bz2:if_block_reduction \ /usr/bin/bzip2 -- -external_filter bunzip2 suffix=.bz2:remove_suffix \ /usr/bin/bunzip2 -- - -unregister_filter name - Remove an -external_filter registration. This is only possible if + Remove an -external_filter registration. This is only possible if the filter is not applied to any file in the ISO image. - -close_filter_list Irrevocably ban commands -concat "pipe", -external_filter, and - -unregister_filter, but not -set_filter. Use this to prevent + -unregister_filter, but not -set_filter. Use this to prevent external filtering in general or when all intended filters are registered and -concat mode "pipe" shall be disallowed. External - filters may also be banned totally at compile time of `xorriso'. - By default they are banned if `xorriso' runs under setuid + filters may also be banned totally at compile time of 'xorriso'. + By default they are banned if 'xorriso' runs under setuid permission. - -set_filter name iso_rr_path [***] Apply an -external_filter or a built-in filter to the given data files in the ISO image. If the filter suffix is not empty , then @@ -1950,16 +1883,14 @@ there are many small files. default files which already bear the suffix will not get filtered. The others will get the suffix appended to their names. If the filter has option "remove_suffix", then the filter will only be - applied if the suffix is present and can be removed. Name - oversize or collision caused by suffix change will prevent - filtering. - With most filter types this command will immediately run the - filter once for each file in order to determine the output size. - Content reading operations like -extract , -compare and image - generation will perform further filter runs and deliver filtered - content. + applied if the suffix is present and can be removed. Name oversize + or collision caused by suffix change will prevent filtering. + With most filter types this command will immediately run the filter + once for each file in order to determine the output size. Content + reading operations like -extract , -compare and image generation + will perform further filter runs and deliver filtered content. At image generation time the filter output must still be the same - as the output from the first run. Filtering for image generation + as the output from the first run. Filtering for image generation does not happen with files from the loaded ISO image if the write method of growing is in effect (i.e -indev and -outdev are identical). @@ -1970,7 +1901,6 @@ there are many small files. -changes_pending. If the filter manipulations shall be the only changes in a write run, then explicitely execute -changes_pending "yes". - -set_filter_r name iso_rr_path [***] Like -set_filter but affecting all data files below eventual directories. @@ -1986,25 +1916,23 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command -rollback Discard the manipulated ISO image and reload it from -indev. (Use -rollback_end if immediate program end is desired.) - -changes_pending "no"|"yes"|"mkisofs_printed"|"show_status" Write runs are performed only if a change of the image has been - made since the image was loaded or created blank. Vice versa the + made since the image was loaded or created blank. Vice versa the program will start a write run for pending changes when it ends - normally (i.e. not by abort and not by command -rollback_end). + normally (i.e. not by abort and not by command -rollback_end). The command -changes_pending can be used to override the - automatically determined state. This is mainly useful for setting - state "yes" despite no real changes were made. The sequence + automatically determined state. This is mainly useful for setting + state "yes" despite no real changes were made. The sequence -changes_pending "no" -end is equivalent to the command - -rollback_end. State "mkisofs_printed" is caused by emulation + -rollback_end. State "mkisofs_printed" is caused by emulation command -as mkisofs if option -print-size is present. The pseudo-state "show_status" can be used to print the current state to result channel. - Image loading or manipulations which happen after this command - will again update automatically the change status of the image. - + Image loading or manipulations which happen after this command will + again update automatically the change status of the image. -commit - Perform the write operation. Afterwards, if -outdev is readable, + Perform the write operation. Afterwards, if -outdev is readable, make it the new -dev and load the image from there. Switch to growing mode. (A subsequent -outdev will activate modification mode or blind growing.) -commit is performed automatically at end @@ -2014,55 +1942,53 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command on without image loading, execute -commit_eject "none". To eject after write without image loading, use -commit_eject "all". To suppress a final write, execute -rollback_end. - Writing can last quite a while. It is not unnormal with several + + Writing can last quite a while. It is not unnormal with several types of media that there is no progress visible for the first few minutes or that the drive gnaws on the medium for a few minutes - after all data have been transmitted. `xorriso' and the drives - are in a client-server relationship. The drives have much freedom + after all data have been transmitted. 'xorriso' and the drives are + in a client-server relationship. The drives have much freedom about what to do with the media. Some combinations of drives and media simply do not work, despite the promises by their vendors. - If writing fails then try other media or another drive. The reason + If writing fails then try other media or another drive. The reason for such failure is hardly ever in the code of the various burn programs but you may well try some of those listed below under SEE ALSO. - -eject "in"|"out"|"all" - Eject the medium in -indev, resp. -outdev, resp. both drives. + Eject the medium in -indev, -outdev, or both drives, respectively. Note: It is not possible yet to effectively eject disk files. - -commit_eject "in"|"out"|"all"|"none" - Combined -commit and -eject. When writing has finished do not make - -outdev the new -dev, and load no ISO image. Rather eject -indev - and/or -outdev. Give up any non-ejected drive. - + Combined -commit and -eject. When writing has finished do not make + -outdev the new -dev, and load no ISO image. Rather eject -indev + and/or -outdev. Give up any non-ejected drive. -blank mode Make media ready for writing from scratch (if not -dummy is activated). This affects only the -outdev not the -indev. If both drives are the same and if the ISO image was altered then this command leads - to a FAILURE event. Defined modes are: as_needed, fast, all, + to a FAILURE event. Defined modes are: as_needed, fast, all, deformat, deformat_quickest - "as_needed" cares for used CD-RW, DVD-RW and for used - overwriteable media by applying -blank "fast". It applies -format - "full" to yet unformatted DVD-RAM and BD-RE. Other media in blank - state are gracefully ignored. Media which cannot be made ready - for writing from scratch cause a FAILURE event. + "as_needed" cares for used CD-RW, DVD-RW and for used overwriteable + media by applying -blank "fast". It applies -format "full" to yet + unformatted DVD-RAM and BD-RE. Other media in blank state are + gracefully ignored. Media which cannot be made ready for writing + from scratch cause a FAILURE event. "fast" makes CD-RW and unformatted DVD-RW re-usable, or invalidates - overwriteable ISO images. "all" might work more thoroughly and + overwriteable ISO images. "all" might work more thoroughly and need more time. "deformat" converts overwriteable DVD-RW into unformatted ones. - "deformat_quickest" is a faster way to deformat or blank DVD-RW - but produces media which are only suitable for a single session. - Some drives announce this state by not offering feature 21h, but - some drives offer it anyway. If feature 21h is missing, then - `xorriso' will refuse to write on DVD-RW if not command -close is - set to "on". - The progress reports issued by some drives while blanking are - quite unrealistic. Do not conclude success or failure from the - reported percentages. Blanking was successful if no SORRY event or - worse occured. + "deformat_quickest" is a faster way to deformat or blank DVD-RW but + produces media which are only suitable for a single session. Some + drives announce this state by not offering feature 21h, but some + drives offer it anyway. If feature 21h is missing, then 'xorriso' + will refuse to write on DVD-RW if not command -close is set to + "on". + The progress reports issued by some drives while blanking are quite + unrealistic. Do not conclude success or failure from the reported + percentages. Blanking was successful if no SORRY event or worse + occured. Mode may be prepended by "force:" in order to override the - evaluation of the medium state by libburn. E.g. "force:fast". + evaluation of the medium state by libburn. E.g. "force:fast". Blanking will nevertheless only succeed if the drive is willing to do it. -format mode @@ -2078,24 +2004,24 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command unformatted BD-R. "fast" does the same as "full" but tries to be quicker. "by_index_" selects a format out of the descriptor list issued by - command -list_formats. The index number from that list is to be - appended to the mode word. E.g: "by_index_3". + command -list_formats. The index number from that list is to be + appended to the mode word. E.g: "by_index_3". "fast_by_index_" does the same as "by_index_" but tries to be quicker. "by_size_" selects a format out of the descriptor list which - provides at least the given size. That size is to be appended to - the mode word. E.g: "by_size_4100m". This applies to media with + provides at least the given size. That size is to be appended to + the mode word. E.g: "by_size_4100m". This applies to media with Defect Management. On BD-RE it will not choose format 0x31, which offers no Defect Management. "fast_by_size_" does the same as "by_size_" but tries to be quicker. "without_spare" selects the largest format out of the descriptor - list which provides no Spare Area for Defect Management. On BD-RE + list which provides no Spare Area for Defect Management. On BD-RE this will be format 0x31. The formatting action has no effect on media if -dummy is activated. Formatting is normally needed only once during the lifetime of a - medium, if ever. But it is a reason for re-formatting if: + medium, if ever. But it is a reason for re-formatting if: DVD-RW was deformatted by -blank, DVD+RW has read failures (re-format before next write), DVD-RAM or BD-RE shall change their amount of defect reserve. @@ -2104,64 +2030,61 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command and repair bad spots on media during the write process at the expense of half speed even with flawless media. The progress reports issued by some drives while formatting are - quite unrealistic. Do not conclude success or failure from the - reported percentages. Formatting was successful if no SORRY event - or worse occured. Be patient with apparently frozen progress. - + quite unrealistic. Do not conclude success or failure from the + reported percentages. Formatting was successful if no SORRY event + or worse occured. Be patient with apparently frozen progress. -list_formats Put out a list of format descriptors as reported by the output - drive for the current medium. The list gives the index number - after "Format idx", a MMC format code, the announced size in - blocks (like "2236704s") and the same size in MiB. - MMC format codes are manifold. Most important are: "00h" general + drive for the current medium. The list gives the index number + after "Format idx", a MMC format code, the announced size in blocks + (like "2236704s") and the same size in MiB. + MMC format codes are manifold. Most important are: "00h" general formatting, "01h" increases reserve space for DVD-RAM, "26h" for - DVD+RW, "30h" for BD-RE with reserve space, "31h" for BD-RE - without reserve space, "32h" for BD-R. - Smaller format size with DVD-RAM, BD-RE, or BD-R means more - reserve space. - + DVD+RW, "30h" for BD-RE with reserve space, "31h" for BD-RE without + reserve space, "32h" for BD-R. + Smaller format size with DVD-RAM, BD-RE, or BD-R means more reserve + space. -list_speeds Put out a list of speed values as reported by the drives with the - loaded media. The list tells read speeds of the input drive and of - the output drive. Further it tells write speeds of the output + loaded media. The list tells read speeds of the input drive and of + the output drive. Further it tells write speeds of the output drive. The list of write speeds does not necessarily mean that the medium is writable or that these speeds are actually achievable. Especially the lists reported with empty drive or with ROM media obviously advertise speeds for other media. It is not mandatory to use speed values out of the listed range. - The drive is supposed to choose a safe speed that is as near to - the desired speed as possible. - At the end of the list, "Write speed L" and "Write speed H" are - the best guesses for lower and upper write speed limit. "Write - speed l" and "Write speed h" may appear only with CD and - eventually override the list of other speed offers. + The drive is supposed to choose a safe speed that is as near to the + desired speed as possible. + At the end of the list, "Write speed L" and "Write speed H" are the + best guesses for lower and upper write speed limit. "Write speed + l" and "Write speed h" may appear only with CD and eventually + override the list of other speed offers. Only if the drive reports contradicting speed information there will appear "Write speed 0", which tells the outcome of speed selection by command -speed 0, if it deviates from "Write speed H". - "Read speed L" and "Read speed H" tell the minimum and maximum - read speeds, as reported by the drive. They would be chosen by - -read_speed "min" resp. "max" if they undercut resp. surpass the - built-in limits. These are "1x" resp. "52xCD", "24xDVD", "20xBD". + "Read speed L" and "Read speed H" tell the minimum and maximum read + speeds, as reported by the drive. They would be chosen by + -read_speed "min" or "max" if they undercut or surpass the built-in + limits. These are "1x", "52xCD", "24xDVD", "20xBD". -close_damaged "as_needed"|"force" Try to close the upcomming track and session if the drive reported - the medium as damaged. This may apply to CD-R, CD-RW, DVD-R, - DVD-RW, DVD+R, DVD+R DL, or BD-R media. It is indicated by warning + the medium as damaged. This may apply to CD-R, CD-RW, DVD-R, + DVD-RW, DVD+R, DVD+R DL, or BD-R media. It is indicated by warning messages when the drive gets acquired, and by a remark "but next track is damaged" with the line "Media status :" of command -toc. The setting of command -close determines whether the medium stays appendable. - Mode "as_needed" gracefully refuses on media which are not - reported as damaged. Mode "force" attempts the close operation - even with media which appear undamaged. + Mode "as_needed" gracefully refuses on media which are not reported + as damaged. Mode "force" attempts the close operation even with + media which appear undamaged. No image changes are allowed to be pending before this command is performed. After closing was attempted, both drives are given up. - -list_profiles "in"|"out"|"all" - Put out a list of media types supported by -indev, resp. -outdev, - resp. both. The currently recognized type is marked by text - "(current)". + Put out a list of media types supported by -indev, -outdev, or + both, respectively. The currently recognized type is marked by + text "(current)".  File: xorriso.info, Node: SetWrite, Next: Bootable, Prev: Writing, Up: Commands @@ -2186,15 +2109,14 @@ according to the setting of command -acl. x86 machine code without negative effects. So if an MBR gets combined with this feature, then its first 8 bytes should contain no essential commands. - The next blocks of 2 KiB in the System Area will be occupied by - APM entries. The first one covers the part of the ISO image - before the HFS+ filesystem metadata. The second one marks the - range from HFS+ metadata to the end of file content data. If more - ISO image data follow, then a third partition entry gets produced. - Other features of xorriso might cause the need for more APM - entries. - The HFS+ filesystem is not suitable for add-on sessions produced - by the multi-session method of growing. An existing ISO image may + The next blocks of 2 KiB in the System Area will be occupied by APM + entries. The first one covers the part of the ISO image before the + HFS+ filesystem metadata. The second one marks the range from HFS+ + metadata to the end of file content data. If more ISO image data + follow, then a third partition entry gets produced. Other features + of xorriso might cause the need for more APM entries. + The HFS+ filesystem is not suitable for add-on sessions produced by + the multi-session method of growing. An existing ISO image may nevertheless be the base for a new image produced by the method of modifying. If -hfsplus is enabled when -indev or -dev gets executed, then AAIP attributes get loaded from the input image and @@ -2203,43 +2125,42 @@ according to the setting of command -acl. production. Therefore it is advisable to perform -hfsplus "on" before -indev or -dev. Information about HFS creator, type, and blessings gets stored by - xorriso if -hfsplus is enabled at -commit time. It is stored as + xorriso if -hfsplus is enabled at -commit time. It is stored as copy outside the HFS+ partition, but rather along with the Rock Ridge information. xorriso does not read any information from the HFS+ meta data. Be aware that HFS+ is case-insensitive although it can record file - names with upper-case and lower-case letters. Therefore, file + names with upper-case and lower-case letters. Therefore, file names from the iso_rr name tree may collide in the HFS+ name tree. In this case they get changed by adding underscore characters and - counting numbers. In case of very long names, it might be + counting numbers. In case of very long names, it might be necessary to map them to "MANGLED_...". -rockridge "on"|"off" Mode "off" disables production of Rock Ridge information for the - ISO 9660 file objects. The multi-session capabilities of xorriso - depend much on the naming fidelity of Rock Ridge. So it is + ISO 9660 file objects. The multi-session capabilities of xorriso + depend much on the naming fidelity of Rock Ridge. So it is strongly discouraged to deviate from default setting "on". - -compliance rule[:rule...] Adjust the compliance to specifications of ISO 9660/ECMA-119 and - its contemporary extensions. In some cases it is worth to deviate + its contemporary extensions. In some cases it is worth to deviate a bit in order to circumvent bugs of the intended reader system or to get unofficial extra features. - There are several adjustable rules which have a keyword each. If + There are several adjustable rules which have a keyword each. If they are mentioned with this command then their rule gets added to - the relaxation list. This list can be erased by rules "strict" or - "clear". It can be reset to its start setting by "default". All of - the following relaxation rules can be revoked individually by - appending "_off". Like "deep_paths_off". + the relaxation list. This list can be erased by rules "strict" or + "clear". It can be reset to its start setting by "default". All + of the following relaxation rules can be revoked individually by + appending "_off". Like "deep_paths_off". Rule keywords are: "iso_9660_level="number chooses level 1 with ECMA-119 names of the form 8.3 and -file_size_limit <= 4g - 1, or level 2 with ECMA-119 names up to length 32 and the same -file_size_limit, or level 3 with ECMA-119 names up to length 32 and -file_size_limit >= 400g - -200k. If necessary -file_size_limit gets adjusted. + -200k. If necessary -file_size_limit gets adjusted. "allow_dir_id_ext" allows ECMA-119 names of directories to have a - name extension as with other file types. It does not force dots - and it omits the version number, though. This is a bad tradition + name extension as with other file types. It does not force dots + and it omits the version number, though. This is a bad tradition of mkisofs which violates ECMA-119. Especially ISO level 1 only allows 8 characters in a directory name and not 8.3. "omit_version" does not add versions (";1") to ECMA-119 and Joliet @@ -2248,6 +2169,7 @@ according to the setting of command -acl. names. "deep_paths" allows ECMA-119 file paths deeper than 8 levels. "long_paths" allows ECMA-119 file paths longer than 255 characters. + "long_names" allows up to 37 characters with ECMA-119 file names. "no_force_dots" does not add a dot to ECMA-119 file names which have none. @@ -2255,22 +2177,23 @@ according to the setting of command -acl. have none. "lowercase" allows lowercase characters in ECMA-119 file names. "7bit_ascii" allows nearly all 7-bit characters in ECMA-119 file - names. Not allowed are 0x0 and '/'. If not "lowercase" is + names. Not allowed are 0x0 and '/'. If not "lowercase" is enabled, then lowercase letters get converted to uppercase. "full_ascii" allows all 8-bit characters except 0x0 and '/' in ECMA-119 file names. "untranslated_names" might be dangerous for inadverted reader programs which rely on the restriction to at most 37 characters in - ECMA-119 file names. This rule allows ECMA-119 file names up to - 96 characters with no character conversion. If a file name has - more characters, then image production will fail deliberately. + ECMA-119 file names. This rule allows ECMA-119 file names up to 96 + characters with no character conversion. If a file name has more + characters, then image production will fail deliberately. "untranslated_name_len="number enables untranslated_names with a - smaller limit for the length of file names. 0 disables this + smaller limit for the length of file names. 0 disables this feature, -1 chooses maximum length limit, numbers larger than 0 give the desired length limit. "joliet_long_names" allows Joliet leaf names up to 103 characters rather than 64. "joliet_long_paths" allows Joliet paths longer than 240 characters. + "joliet_utf16" encodes Joliet names in UTF-16BE rather than UCS-2. The difference is with characters which are not present in UCS-2 and get encoded in UTF-16 by 2 words of 16 bit each. Both words @@ -2278,16 +2201,16 @@ according to the setting of command -acl. "always_gmt" stores timestamps in GMT representation with timezone 0. "rec_mtime" records with non-RockRidge directory entries the disk - file's mtime and not the creation time of the image. This applies + file's mtime and not the creation time of the image. This applies to the ECMA-119 tree (plain ISO 9660), to Joliet, and to ISO - 9660:1999. "rec_time" is default. If disabled, it gets + 9660:1999. "rec_time" is default. If disabled, it gets automatically re-enabled by -as mkisofs emulation when a pathspec is encountered. "new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but - not for older FreeBSD or for Solaris). This implies + not for older FreeBSD or for Solaris). This implies "aaip_susp_1_10_off" which may be changed by subsequent "aaip_susp_1_10". - Default is "old_rr" which uses Rock Ridge version 1.10. This + Default is "old_rr" which uses Rock Ridge version 1.10. This implies also "aaip_susp_1_10" which may be changed by subsequent "aaip_susp_1_10_off". "aaip_susp_1_10" allows AAIP to be written as unofficial extension @@ -2296,164 +2219,148 @@ according to the setting of command -acl. media but makes the image incapable of displaying its session history. "iso_9660_1999" causes the production of an additional directory - tree compliant to ISO 9660:1999. It can record long filenames for + tree compliant to ISO 9660:1999. It can record long filenames for readers which do not understand Rock Ridge. "old_empty" uses the old way of of giving block addresses in the - range of [0,31] to files with no own data content. The new way is + range of [0,31] to files with no own data content. The new way is to have a dedicated block to which all such files will point. Default setting is "clear:only_iso_version:deep_paths:long_paths:no_j_force_dots: always_gmt:old_rr". Note: The term "ECMA-119 name" means the plain ISO 9660 names and attributes which get visible if the reader ignores Rock Ridge. - -rr_reloc_dir name Specify the name of the relocation directory in which deep directory subtrees shall be placed if -compliance is set to - "deep_paths_off" or "long_paths_off". A deep directory is one - that has a chain of 8 parent directories (including root) above - itself, or one that contains a file with an ECMA-119 path of more - than 255 characters. + "deep_paths_off" or "long_paths_off". A deep directory is one that + has a chain of 8 parent directories (including root) above itself, + or one that contains a file with an ECMA-119 path of more than 255 + characters. The overall directory tree will appear originally deep when - interpreted as Rock Ridge tree. It will appear as re-arranged if + interpreted as Rock Ridge tree. It will appear as re-arranged if only ECMA-119 information is considered. - The default relocation directory is the root directory. By giving + The default relocation directory is the root directory. By giving a non-empty name with -rr_reloc_dir, a directory in the root directory may get this role. If that directory does not already - exist at -commit time, then it will get created and marked for - Rock Ridge as relocation artefact. At least on GNU/Linux it will - not be displayed in mounted Rock Ridge images. + exist at -commit time, then it will get created and marked for Rock + Ridge as relocation artefact. At least on GNU/Linux it will not be + displayed in mounted Rock Ridge images. The name must not contain a '/' character and must not be longer than 255 bytes. - -volid text Specify the volume ID, which most operating systems will consider to be the volume name of the image or medium. - `xorriso' accepts any text up to 32 characters, but according to + 'xorriso' accepts any text up to 32 characters, but according to rarely obeyed specs stricter rules apply: - ECMA-119 demands ASCII characters out of [A-Z0-9_]. Like: + ECMA-119 demands ASCII characters out of [A-Z0-9_]. Like: "IMAGE_23" - Joliet allows 16 UCS-2 characters. Like: + Joliet allows 16 UCS-2 characters. Like: "Windows name" Be aware that the volume id might get used automatically as the name of the mount point when the medium is inserted into a playful computer system. If an ISO image gets loaded while the volume ID is set to default "ISOIMAGE" or to "", then the volume ID of the loaded image will - become the effective volume id for the next write run. But as soon + become the effective volume id for the next write run. But as soon as command -volid is performed afterwards, this pending ID is overridden by the new setting. - Consider this when setting -volid "ISOIMAGE" before executing - -dev, -indev, or -rollback. If you insist in -volid "ISOIMAGE", - set it again after those commands. - + Consider this when setting -volid "ISOIMAGE" before executing -dev, + -indev, or -rollback. If you insist in -volid "ISOIMAGE", set it + again after those commands. -volset_id text Set the volume set ID string to be written with the next -commit. - Permissible are up to 128 characters. This setting gets overridden + Permissible are up to 128 characters. This setting gets overridden by image loading. - -publisher text Set the publisher ID string to be written with the next -commit. This may identify the person or organisation who specified what - shall be recorded. Permissible are up to 128 characters. This + shall be recorded. Permissible are up to 128 characters. This setting gets overridden by image loading. - -application_id text Set the application ID string to be written with the next -commit. This may identify the specification of how the data are recorded. - Permissible are up to 128 characters. This setting gets overridden + Permissible are up to 128 characters. This setting gets overridden by image loading. The special text "@xorriso@" gets converted to the ID string of - `xorriso' which is normally written as -preparer_id. It is a wrong + 'xorriso' which is normally written as -preparer_id. It is a wrong tradition to write the program ID as -application_id. - -system_id text - Set the system ID string to be written with the next -commit. This + Set the system ID string to be written with the next -commit. This may identify the system which can recognize and act upon the content of the System Area in image blocks 0 to 15. Permissible - are up to 32 characters. This setting gets overridden by image + are up to 32 characters. This setting gets overridden by image loading. - -volume_date type timestring Set one of the four overall timestamps for subsequent image writing. Available types are: - "c" time when the volume was created. - "m" time when volume was last modified. - "x" time when the information in the volume expires. - "f" time since when the volume is effectively valid. - "uuid" sets a timestring that overrides "c" and "m" times + "c" time when the volume was created. + "m" time when volume was last modified. + "x" time when the information in the volume expires. + "f" time since when the volume is effectively valid. + "uuid" sets a timestring that overrides "c" and "m" times literally. It must consist of 16 decimal digits which form - YYYYMMDDhhmmsscc, with YYYY between 1970 and 2999. Time zone is - GMT. It is supposed to match this GRUB line: + YYYYMMDDhhmmsscc, with YYYY between 1970 and 2999. Time zone is + GMT. It is supposed to match this GRUB line: search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc - E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds). + E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds). Timestrings for the other types may be given as with command - -alter_date. Some of them are prone to timezone computations. The + -alter_date. Some of them are prone to timezone computations. The timestrings "default" or "overridden" cause default settings: "c" - and "m" will show the current time of image creation. "x" and "f" + and "m" will show the current time of image creation. "x" and "f" will be marked as insignificant. "uuid" will be deactivated. - -copyright_file text Set the copyright file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains a copyright statement. Permissible are up to 37 - characters. This setting gets overridden by image loading. - + characters. This setting gets overridden by image loading. -abstract_file text Set the abstract file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains an abstract statement about the image content. - Permissible are up to 37 characters. This setting gets overridden + Permissible are up to 37 characters. This setting gets overridden by image loading. - -biblio_file text - Set the biblio file name to be written with the next -commit. This + Set the biblio file name to be written with the next -commit. This should be the ISO 9660 path of a file in the image which contains - bibliographic records. Permissible are up to 37 characters. This + bibliographic records. Permissible are up to 37 characters. This setting gets overridden by image loading. - -preparer_id Set the preparer ID string to be written with the next -commit. This may identify the person or other entity which controls the - preparation of the data which shall be recorded. Normally this - should be the ID of `xorriso' and not of the person or program - which operates `xorriso'. Please avoid to change it. Permissible + preparation of the data which shall be recorded. Normally this + should be the ID of 'xorriso' and not of the person or program + which operates 'xorriso'. Please avoid to change it. Permissible are up to 128 characters. The special text "@xorriso@" gets converted to the ID string of - `xorriso' which is default at program startup. + 'xorriso' which is default at program startup. Unlike other ID strings, this setting is not influenced by image loading. - -application_use character|0xXY|disk_path Specify the content of the Application Use field which can take at most 512 bytes. If the parameter of this command is empty, then the field is filled - with 512 0-bytes. If it is a single character, then it gets + with 512 0-bytes. If it is a single character, then it gets repeated 512 times. If it begins by "0x" followed by two hex digits [0-9a-fA-F], then the digits are read as byte value which gets repeated 512 times. Any other parameter text is used as disk_path to open a data file - and to read up to 512 bytes from it. If the file is smaller than + and to read up to 512 bytes from it. If the file is smaller than 512 bytes, then the remaining bytes in the field get set to binary 0. This setting is not influenced by image loading. - -out_charset character_set_name Set the character set to which file names get converted when - writing an image. See paragraph "Character sets" for more + writing an image. See paragraph "Character sets" for more explanations. When loading the written image after -commit the setting of -out_charset will be copied to -in_charset. - -uid uid - User id to be used for all files when the new ISO tree gets - written to media. - + User id to be used for all files when the new ISO tree gets written + to media. -gid gid Group id to be used for all files when the new ISO tree gets written to media. - -zisofs option[:options] - Set global parameters for zisofs compression. This data format is + Set global parameters for zisofs compression. This data format is recognized and transparently uncompressed by some Linux kernels. It is to be applied via command -set_filter with built-in filter "--zisofs". Parameters are: @@ -2461,11 +2368,10 @@ according to the setting of command -acl. "block_size="32k|64k|128k size of compression blocks "by_magic=on" enables an expensive test at image generation time which checks files from disk whether they already are zisofs - compressed, e.g. by program mkzftree. + compressed, e.g. by program mkzftree. "default" same as "level=6:block_size=32k:by_magic=off" - -speed code|number[k|m|c|d|b] - Set the burn speed. Default is "max" (or "0") = maximum speed as + Set the burn speed. Default is "max" (or "0") = maximum speed as announced by the drive. Further special speed codes are: "min" (or "-1") selects minimum speed as announced by the drive. "none" avoids to send a speed setting command to the drive before @@ -2478,52 +2384,76 @@ according to the setting of command -acl. 706k = 706kB/s = 4c = 4xCD 5540k = 5540kB/s = 4d = 4xDVD If there is no hint about the speed unit attached, then the medium - in the -outdev will decide. Default unit is CD = 176.4k. + in the -outdev will decide. Default unit is CD = 176.4k. MMC drives usually activate their own idea of speed and take the - speed value given by the burn program only as upper limit for - their own decision. - + speed value given by the burn program only as upper limit for their + own decision. -stream_recording "on"|"off"|"full"|"data"|number Setting "on" tries to circumvent the management of defects on DVD-RAM, BD-RE, or BD-R. Defect management keeps partly damaged - media usable. But it reduces write speed to half nominal speed + media usable. But it reduces write speed to half nominal speed even if the medium is in perfect shape. For the case of flawless media, one may use -stream_recording "on" to get full speed. "full" tries full speed with all write operations, whereas "on" - does this only above byte address 32s. One may give a number of at + does this only above byte address 32s. One may give a number of at least 16s in order to set an own address limit. "data" causes full speed to start when superblock and directory entries are written and writing of file content blocks begins. - -dvd_obs "default"|"32k"|"64k" GNU/Linux specific: Set the number of bytes to be transmitted with - each write operation to DVD or BD media. A number of 64 KB may + each write operation to DVD or BD media. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, on command -stream_recording , and on compile time options. - +-modesty_on_drive parameter[:parameters] + Control whether the drive buffer shall be kept from getting + completely filled. Parameter "on" (or "1") keeps the program from + trying to write to the burner drive while its buffer is in danger + to be filled over a given limit. If this limit is exceeded then + the program will wait until the filling reaches a given low + percentage value. + This can ease the load on operating system and drive controller and + thus help with achieving better input bandwidth if disk and burner + are not on independent controllers (like hda and hdb). It may also + help with simultaneous burns on different burners with Linux + kernels like 3.16. On the other hand it increases the risk of + buffer underflow and thus reduced write speed. + Some burners are not suitable because they report buffer fill with + granularity too coarse in size or time, or expect their buffer to + be filled to the top before they go to full speed. + Parameters "off" or "0" disable this feature. + The threshhold for beginning to wait is given by parameter + "max_percent=". Parameter "min_percent=" defines the threshhold + for resuming transmission. Percentages are permissible in the + range of 25 to 100. Numbers in this range without a prepended name + are interpreted as "on:min_percent=". + E.g.: -modesty_on_drive 75 + The optimal values depend on the buffer behavior of the drive. + There are also timing parameters "timeout_sec=", "min_usec=", + "max_usec=". Read the description of + burn_drive_set_buffer_waiting() in libburn.h, before setting them + to non-default values. + Parameters, which are not mentioned with a -modesty_on_drive + command, stay unchanged. Default is: + -modesty_on_drive off:min_percent=65:max_percent=95 -stdio_sync "on"|"off"|"end"|number Set the number of bytes after which to force output to stdio: pseudo drives. This forcing keeps the memory from being clogged - with lots of pending data for slow devices. Default "on" is the + with lots of pending data for slow devices. Default "on" is the same as "16m". Forced output can be disabled by "off", or be - delayed by "end" until all data are produced. If a number is + delayed by "end" until all data are produced. If a number is chosen, then it must be at least 64k. - -dummy "on"|"off" If "on" then simulate burning or refuse with FAILURE event if no simulation is possible, do neither blank nor format. - -fs number["k"|"m"] Set the size of the fifo buffer which smoothens the data stream - from ISO image generation to media burning. Default is 4 MiB, - minimum 64 kiB, maximum 1 GiB. The number may be followed by - letter "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 - kiB). - + from ISO image generation to media burning. Default is 4 MiB, + minimum 64 kiB, maximum 1 GiB. The number may be followed by letter + "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 kiB). -close "on"|"off"|"as_needed" If -close is set to "on" then mark the written medium as not - appendable any more. This will have no effect on overwritable + appendable any more. This will have no effect on overwritable media types. Setting "on" is the contrary of cdrecord option -multi, and is one aspect of growisofs option -dvd-compat. If set to "off" then keep the medium writable for an appended @@ -2535,30 +2465,28 @@ according to the setting of command -acl. due to -close "off", then -close "as_needed" causes a re-try with "on". Note that emulation command -as "cdrecord" temporarily overrides - the current setting of -close by its own default -close "on" if - its option -multi is missing. - + the current setting of -close by its own default -close "on" if its + option -multi is missing. -write_type "auto"|"tao"|"sao/dao" - Set the write type for the next burn run. "auto" will select SAO - with blank CD media, DAO with blank DVD-R[W] if -close is "on", - and elsewise CD TAO or the equivalent write type of the particular + Set the write type for the next burn run. "auto" will select SAO + with blank CD media, DAO with blank DVD-R[W] if -close is "on", and + elsewise CD TAO or the equivalent write type of the particular DVD/BD media. Choosing TAO or SAO/DAO explicitely might cause the - burn run to fail if the desired write type is not possible with - the given media state. - + burn run to fail if the desired write type is not possible with the + given media state. -padding number["k"|"m"]|"included"|"appended" Append the given number of extra bytes to the image stream. This is a traditional remedy for a traditional bug in block device read - drivers. Needed only for CD recordings in TAO mode. Since one can - hardly predict on what media an image might end up, `xorriso' adds + drivers. Needed only for CD recordings in TAO mode. Since one can + hardly predict on what media an image might end up, 'xorriso' adds the traditional 300k of padding by default to all images. For images which will never get to a CD it is safe to use -padding 0 . Normally padding is not written as part of the ISO image but - appended after the image end. This is -padding mode "appended". - Emulation command -as "mkisofs" and command -jigdo cause padding - to be written as part of the image. The same effect is achieved - by -padding mode "included". + appended after the image end. This is -padding mode "appended". + Emulation command -as "mkisofs" and command -jigdo cause padding to + be written as part of the image. The same effect is achieved by + -padding mode "included".  File: xorriso.info, Node: Bootable, Next: Jigdo, Prev: SetWrite, Up: Commands @@ -2568,11 +2496,11 @@ File: xorriso.info, Node: Bootable, Next: Jigdo, Prev: SetWrite, Up: Command Contrary to published specifications many BIOSes will load an El Torito record from the first session on media and not from the last one, which -gets mounted by default. This makes no problems with overwriteable +gets mounted by default. This makes no problems with overwriteable media, because they appear to inadverted readers as one single session. But with multi-session media CD-R[W], DVD-R[W], DVD+R, it implies that -the whole bootable system has to reside already in the first session -and that the last session still has to bear all files which the booted +the whole bootable system has to reside already in the first session and +that the last session still has to bear all files which the booted system expects after mounting the ISO image. If a boot image from ISOLINUX or GRUB is known to be present on media then it is advised to patch it when a follow-up session gets written. @@ -2580,34 +2508,34 @@ But one should not rely on the capability to influence the bootability of the existing sessions, unless one can assume overwriteable media. There are booting mechanisms which do not use an El Torito record but rather start at the first bytes of the image: PC-BIOS MBR or EFI GPT for -hard-disk-like devices, APM partition entries for Macs which expect -HFS+ boot images, MIPS Volume Header for old SGI computers, DEC Boot -Block for old MIPS DECstation, SUN Disk Label for SPARC machines, HP-PA -boot sector for HP PA-RISC machines, DEC Alpha SRM boot sector for old -DEC Alpha machines. +hard-disk-like devices, APM partition entries for Macs which expect HFS+ +boot images, MIPS Volume Header for old SGI computers, DEC Boot Block +for old MIPS DECstation, SUN Disk Label for SPARC machines, HP-PA boot +sector for HP PA-RISC machines, DEC Alpha SRM boot sector for old DEC +Alpha machines. - Several of the following commands expect disk paths as input but -also accept description strings for the libisofs interval reader, which -is able to cut out data from disk files or -indev and to zeroize parts -of the content: command -append_partition, boot specs system_area=, + Several of the following commands expect disk paths as input but also +accept description strings for the libisofs interval reader, which is +able to cut out data from disk files or -indev and to zeroize parts of +the content: command -append_partition, boot specs system_area=, grub2_mbr=, prep_boot_part=, efi_boot_part=. The description string consists of the following components, separated by colon ':' "--interval:"Flags":"Interval":"Zeroizers":"Source -The component "--interval" states that this is not a plain disk path -but rather an interval reader description string. +The component "--interval" states that this is not a plain disk path but +rather an interval reader description string. The component Flags modifies the further interpretation: "local_fs" demands to read from a file depicted by the path in Source. -"imported_iso" demands to read from the -indev. This works only if --outdev is not the same as -indev. The Source component is ignored. -The component Interval consists of two byte address numbers separated -by a "-" character. E.g. "0-429" means to read bytes 0 to 429. +"imported_iso" demands to read from the -indev. This works only if +-outdev is not the same as -indev. The Source component is ignored. +The component Interval consists of two byte address numbers separated by +a "-" character. E.g. "0-429" means to read bytes 0 to 429. The component Zeroizers consists of zero or more comma separated -strings. They define which part of the read data to zeroize. Byte +strings. They define which part of the read data to zeroize. Byte number 0 means the byte read from the Interval start address. Each string may be one of: -"zero_mbrpt" demands to zeroize the MBR partition table if bytes 510 -and 511 bear the MBR signature 0x55 0xaa. +"zero_mbrpt" demands to zeroize the MBR partition table if bytes 510 and +511 bear the MBR signature 0x55 0xaa. "zero_gpt" demands to check for a GPT header in bytes 512 to 1023, to zeroize it and its partition table blocks. "zero_apm" demands to check for an APM block 0 and to zeroize its @@ -2617,41 +2545,42 @@ with number Start_byte and ending after End_byte. The component Source is the file path with flag "local_fs", and ignored with flag "imported_iso". Byte numbers may be scaled by a suffix out of {k,m,g,t,s,d} meaning -multiplication by {1024, 1024k, 1024m, 1024g, 2048, 512}. A scaled value -end number depicts the last byte of the scaled range. -E.g. "0d-0d" is "0-511". +multiplication by {1024, 1024k, 1024m, 1024g, 2048, 512}. A scaled +value end number depicts the last byte of the scaled range. +E.g. "0d-0d" is "0-511". Examples: "local_fs:0-32767:zero_mbrpt,zero_gpt,440-443:/tmp/template.iso" "imported_iso:45056d-47103d::" -boot_image "any"|"isolinux"|"grub" + "discard"|"keep"|"patch"|"show_status"|bootspec|"next" Define the equipment of the emerging filesystem with boot entry points. With systems which boot via BIOS or EFI this is a set of El Torito boot images, possibly MBR boot code, and possibly partition tables - of type MBR, GPT, or APM. Such file sets get produced by boot + of type MBR, GPT, or APM. Such file sets get produced by boot loader systems like ISOLINUX or GRUB. Each -boot_image command has two parameters: type and setting. More than one -boot_image command may be used to define the - handling of one or more boot images. Sequence matters. + handling of one or more boot images. Sequence matters. Types *isolinux* and *grub* care for known peculiarities. Type *any* makes no assumptions about the origin of the boot images. When loading an ISO filesystem, system area and El Torito boot - images get loaded, too. The default behavior is not to write + images get loaded, too. The default behavior is not to write loaded El Torito boot images and to write the loaded system area content without alterations. *discard* gives up the El Torito boot catalog and its boot images. regardless whether loaded from an ISO filesystem or defined by commands. Any BIOS or EFI related boot options get revoked. - Nevertheless, loaded system area data stay valid. If desired, they + Nevertheless, loaded system area data stay valid. If desired, they have to be erased by -boot_image any system_area=/dev/zero - *keep* keeps or copies El Torito boot images unaltered and writes - a new catalog. + *keep* keeps or copies El Torito boot images unaltered and writes a + new catalog. *patch* applies patching to existing El Torito boot images if they seem to bear a boot info table. A boot info table needs to be patched when the boot image gets @@ -2659,29 +2588,29 @@ Examples: relocated. This is automatically done if type "isolinux" or "grub" is given, but not with "any". If patching is enabled, then boot images from previous sessions - will be checked whether they seem to bear a boot info table. If - not, then they stay unpatched. This check is not infallible. So if - you do know that the images need no patching, use "any" "keep". + will be checked whether they seem to bear a boot info table. If + not, then they stay unpatched. This check is not infallible. So + if you do know that the images need no patching, use "any" "keep". "grub" "patch" will not patch EFI images (platform_id=0xef). Most safe is the default: -boot_image "any" "discard". - Advised for GRUB : -boot_image "grub" "patch" - For ISOLINUX : -boot_image "isolinux" "patch" + Advised for GRUB : -boot_image "grub" "patch" + For ISOLINUX : -boot_image "isolinux" "patch" *show_status* will print what is known about the loaded boot images and their designated fate. - A *bootspec* is a word of the form name=value. It is used to + A *bootspec* is a word of the form name=value. It is used to describe the parameters of a boot feature. The names "dir", "bin_path", "efi_path" lead to El Torito bootable images. Name "system_area" activates a given file as MBR or other disk header. - On all media types this is possible within the first session. In + On all media types this is possible within the first session. In further sessions an existing boot image can get replaced by a new one, but depending on the media type this may have few effect at - boot time. See above. + boot time. See above. El Torito boot images have to be added to the ISO image by normal - means (image loading, -map, -add, ...). In case of ISOLINUX the + means (image loading, -map, -add, ...). In case of ISOLINUX the files should reside either in ISO image directory /isolinux or in /boot/isolinux . In that case it suffices to use as bootspec the - text "*dir=/isolinux*" or "dir=/boot/isolinux". E.g.: + text "*dir=/isolinux*" or "dir=/boot/isolinux". E.g.: -boot_image isolinux dir=/boot/isolinux which bundles these individual settings: -boot_image isolinux bin_path=/boot/isolinux/isolinux.bin @@ -2690,17 +2619,17 @@ Examples: -boot_image any boot_info_table=on An El Torito boot catalog file gets inserted into the ISO image with address *cat_path=* at -commit time. It is subject to normal - -overwrite and -reassure processing if there is already a file - with the same name. The catalog lists the boot images and is read - by the boot facility to choose one of the boot images. But it is - not necessary that it appears in the directory tree at all. One - may hide it in all trees by *cat_hidden=on*. Other possible - values are "iso_rr", "joliet", "hfsplus", and the default "off". + -overwrite and -reassure processing if there is already a file with + the same name. The catalog lists the boot images and is read by + the boot facility to choose one of the boot images. But it is not + necessary that it appears in the directory tree at all. One may + hide it in all trees by *cat_hidden=on*. Other possible values are + "iso_rr", "joliet", "hfsplus", and the default "off". *bin_path=* depicts an El Torito boot image file, a binary program - which is to be started by the hardware boot facility (e.g. the + which is to be started by the hardware boot facility (e.g. the BIOS) at boot time. *efi_path=* depicts an El Torito boot image file that is ready for - EFI booting. This is normally a FAT filesystem image not larger + EFI booting. This is normally a FAT filesystem image not larger than 65535 blocks of 512 bytes (= 32 MiB - 512). Its load_size is determined automatically, no boot info table gets written, no boot medium gets emulated, platform_id is 0xef. @@ -2715,18 +2644,18 @@ Examples: "boot_info_table=off" disables this patching. *grub2_boot_info=on* causes address patching to byte 2548 of the boot image which is given by "any" "bin_path=". The address is - written as 64 bit little-endian number. It is the 2KB block + written as 64 bit little-endian number. It is the 2KB block address of the boot image content, multiplied by 4, and then incremented by 5. "grub2_boot_info=off" disables this patching. *platform_id=* defines by a hexadecimal or decimal number the - Platform ID of the boot image. "0x00" is 80x86 PC-BIOS, "0x01" is + Platform ID of the boot image. "0x00" is 80x86 PC-BIOS, "0x01" is PowerPC, "0x02" is Mac, "0xef" is EFI (decimal "239"). *id_string=*text|56_hexdigits defines the ID string of the boot - catalog section where the boot image will be listed. If the value + catalog section where the boot image will be listed. If the value consists of 56 characters [0-9A-Fa-f] then it is converted into 28 bytes, else the first 28 characters become the ID string. The ID - string of the first boot image becomes the overall catalog ID. It - is limited to 24 characters. Other id_strings become section IDs. + string of the first boot image becomes the overall catalog ID. It + is limited to 24 characters. Other id_strings become section IDs. *sel_crit=*hexdigits defines the Selection Criteria of the boot image. Up to 20 bytes get read from the given characters [0-9A-Fa-f]. They get attributed to the boot image entry in the @@ -2736,40 +2665,40 @@ Examples: first "next" discards loaded boot images and their catalog. *system_area=*disk_path copies at most 32768 bytes from the given disk file to the very start of the ISO image. This System Area is - reserved for system dependent boot software, e.g. an MBR which can + reserved for system dependent boot software, e.g. an MBR which can be used to boot from USB stick or hard disk. - Other than an El Torito boot image, the file disk_path needs not - to be added to the ISO image. + Other than an El Torito boot image, the file disk_path needs not to + be added to the ISO image. *-boot_image isolinux system_area=* implies "partition_table=on". In this case, the disk path should lead to one of the SYSLINUX files isohdp[fp]x*.bin or to a file which was derived from one of - those files. E.g. to the first 512 bytes from an ISOLINUX + those files. E.g. to the first 512 bytes from an ISOLINUX isohybrid ISO image. In this case, El Torito boot images (dir=, bin_path=, efi_path=) may be augmented by *isolinux partition_entry=gpt_basdat* or *isolinux partition_entry=gpt_hfsplus*, and by *isolinux partition_entry=apm_hfsplus*. The boot image will then be - mentioned in GPT as Basic Data or GPT HFS+ partition, and in APM - as HFS+ partition. The first three GPT partitions will also be - marked by MBR partitions. + mentioned in GPT as Basic Data or GPT HFS+ partition, and in APM as + HFS+ partition. The first three GPT partitions will also be marked + by MBR partitions. In multi-session situations the existing System Area is preserved - by default. In in this case, the special disk_path "." prevents + by default. In in this case, the special disk_path "." prevents reading of a disk file but nevertheless causes adjustments in the - loaded system area data. Such adjustments may get ordered by + loaded system area data. Such adjustments may get ordered by -boot_image commands. *grub2_mbr=*disk_path works like "any" system_area= with additional - patching for modern GRUB MBRs. The content start address of the - first boot image is converted to a count of 512 byte blocks, and - an offset of 4 is added. The result is written as 64 bit + patching for modern GRUB MBRs. The content start address of the + first boot image is converted to a count of 512 byte blocks, and an + offset of 4 is added. The result is written as 64 bit little-endian number to byte address 0x1b0. This feature can be revoked either by grub2_mbr= with empty disk path, or by submitting a disk_path via system_area=. *partition_table=on* causes a simple partition table to be written into bytes 446 to 511 of the System Area. - With type "isolinux" it shows a partition that begins at byte 0 - and it causes the LBA of the first boot image to be written into - the MBR. For the first session this works only if also - "system_area=" and "bin_path=" or "dir=" is given. + With type "isolinux" it shows a partition that begins at byte 0 and + it causes the LBA of the first boot image to be written into the + MBR. For the first session this works only if also "system_area=" + and "bin_path=" or "dir=" is given. With types "any" and "grub" it shows a single partition which starts at byte 512 and ends where the ISO image ends. This works with or without system_area= or boot image. @@ -2779,95 +2708,96 @@ Examples: "partition_table=on" is activated without new boot image. In this case the existing System Area gets checked whether it bears addresses and sizes as if it had been processed by - "partition_table=on". If so, then those parameters get updated + "partition_table=on". If so, then those parameters get updated when the new System Area is written. Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use this to discard an MBR which was loaded with the ISO image. *appended_part_as=gpt* marks partitions from -append_partition in GPT rather than in MBR. In this case the MBR shows a single partition of type 0xee which covers the whole output data. - *appended_part_as=mbr* is the default. Appended partitions get + *appended_part_as=mbr* is the default. Appended partitions get marked in GPT only if GPT is produced because of other settings. *chrp_boot_part=on* causes a single partition in MBR which covers - the whole ISO image and has type 0x96. This is not compatible with - any other feature that produces MBR partition entries. It makes + the whole ISO image and has type 0x96. This is not compatible with + any other feature that produces MBR partition entries. It makes GPT unrecognizable. *prep_boot_part=*disk_path inserts the content of a data file into - the image and marks it by an MBR partition of type 0x41. The parts - of the ISO image before and after this partition will be covered - by further MBR partitions. The data file is supposed to contain - ELF executable code. + the image and marks it by an MBR partition of type 0x41. The parts + of the ISO image before and after this partition will be covered by + further MBR partitions. The data file is supposed to contain ELF + executable code. *efi_boot_part=*disk_path inserts the content of a data file into - the image and marks it by a GPT partition. If not + the image and marks it by a GPT partition. If not chrp_boot_part=on, then the first partition in MBR will have type - 0xee to announce the presence of GPT. The data file is supposed - to contain a FAT filesystem. - Instead of a disk_path, the word --efi-boot-image may be given. - It exposes in GPT the content of the first El Torito EFI boot - image as EFI system partition. EFI boot images are introduced by - bootspec efi_path=. The affected EFI boot image cannot show up in - HFS+ because it is stored outside the HFS+ partition. + 0xee to announce the presence of GPT. The data file is supposed to + contain a FAT filesystem. + Instead of a disk_path, the word --efi-boot-image may be given. It + exposes in GPT the content of the first El Torito EFI boot image as + EFI system partition. EFI boot images are introduced by bootspec + efi_path=. The affected EFI boot image cannot show up in HFS+ + because it is stored outside the HFS+ partition. *partition_offset=*2kb_block_adr causes a partition table with a - single partition that begins at the given block address. This is - counted in 2048 byte blocks, not in 512 byte blocks. If the block - address is non-zero then it must be at least 16. A non-zero + single partition that begins at the given block address. This is + counted in 2048 byte blocks, not in 512 byte blocks. If the block + address is non-zero then it must be at least 16. A non-zero partition offset causes two superblocks to be generated and two - sets of directory trees. The image is then mountable from its + sets of directory trees. The image is then mountable from its absolute start as well as from the partition start. The offset value of an ISO image gets preserved when a new session - is added. So the value defined here is only in effect if a new - ISO image gets written. + is added. So the value defined here is only in effect if a new ISO + image gets written. *partition_hd_cyl=*number gives the number of heads per cylinder - for the partition table. 0 chooses a default value. Maximum is 255. + for the partition table. 0 chooses a default value. Maximum is + 255. *partition_sec_hd=*number gives the number of sectors per head for - the partition table. 0 chooses a default value. Maximum is 63. + the partition table. 0 chooses a default value. Maximum is 63. The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size. It should be divisible by 2048 in order to allow exact alignment. With appended partitions and "appended_part_as=gpt" there is no limit for the number of - cylinders. Else there may be at most 1024 of them. If the + cylinders. Else there may be at most 1024 of them. If the cylinder size is too small to stay below the limit, then appropriate values of partition_hd_cyl are chosen with - partition_sec_hd 32 or 63. If the image is larger than + partition_sec_hd 32 or 63. If the image is larger than 8,422,686,720 bytes, then the cylinder size constraints cannot be fulfilled for MBR. *partition_cyl_align=*mode controls image size alignment to an - integer number of cylinders. It is prescribed by isohybrid specs - and it seems to please program fdisk. Cylinder size must be + integer number of cylinders. It is prescribed by isohybrid specs + and it seems to please program fdisk. Cylinder size must be divisible by 2048. Images larger than 8,323,596,288 bytes cannot be aligned in MBR partition table. - Mode "auto" is default. Alignment by padding happens only with + Mode "auto" is default. Alignment by padding happens only with "isolinux" "partition_table=on". - Mode "on" causes alignment by padding with "partition_table=on" - for any type. Mode "all" is like "on" but also pads up partitions - from -append_partition to an aligned size. + Mode "on" causes alignment by padding with "partition_table=on" for + any type. Mode "all" is like "on" but also pads up partitions from + -append_partition to an aligned size. Mode "off" disables alignment for any type. *mips_path=*iso_rr_path declares a data file in the image to be a MIPS Big Endian boot file and causes production of a MIPS Big - Endian Volume Header. This is mutually exclusive with production - of other boot blocks like MBR. It will overwrite the first 512 + Endian Volume Header. This is mutually exclusive with production + of other boot blocks like MBR. It will overwrite the first 512 bytes of any data provided by system_area=. Up to 15 boot files can be declared by mips_path=. *mipsel_path=*iso_rr_path declares a data file in the image to be - the MIPS Little Endian boot file. This is mutually exclusive with + the MIPS Little Endian boot file. This is mutually exclusive with other boot blocks. It will overwrite the first 512 bytes of any data provided by system_area=. Only a single boot file can be declared by mipsel_path=. *sparc_label=*text causes the production of a SUN Disk Label with - the given text as ASCII label. This boot block format allows to - append images for partitions 2 to 8. Partition 1 will always be - the ISO image. See command -append_partition. The first 512 - bytes of any data provided by system_area= will be overwritten. + the given text as ASCII label. This boot block format allows to + append images for partitions 2 to 8. Partition 1 will always be + the ISO image. See command -append_partition. The first 512 bytes + of any data provided by system_area= will be overwritten. *grub2_sparc_core=*iso_rr_path causes the content address and size - of the given file to be written after the SUN Disk Label. Both - numbers are counted in bytes. The address is written as 64 bit - big-endian number to byte 0x228. The size is written as 32 bit + of the given file to be written after the SUN Disk Label. Both + numbers are counted in bytes. The address is written as 64 bit + big-endian number to byte 0x228. The size is written as 32 bit big-endian number to byte 0x230. *hppa_cmdline=*text sets the PALO command line for HP-PA. Up to - 1023 characters are permitted by default. With hppa_hdrversion=4 + 1023 characters are permitted by default. With hppa_hdrversion=4 the limit is 127. Note that the first five hppa_ bootspecs are mandatory, if any of - the hppa_ bootspecs is used. Only hppa_hdrversion= is allowed to + the hppa_ bootspecs is used. Only hppa_hdrversion= is allowed to be missing. *hppa_bootloader=*iso_rr_path designates the given path as HP-PA bootloader file. @@ -2885,18 +2815,18 @@ Examples: of a boot sector which points to it. This is mutually exclusive with production of other boot blocks like MBR. *mips_discard*, *sparc_discard*, *hppa_discard*, *alpha_discard* - revoke any boot file declarations made for mips, mipsel, sparc, - hppa, resp. alpha. This removes the ban on production of other - boot blocks. + revoke any boot file declarations made for mips/mipsel, sparc, + hppa, or alpha, respectively. This removes the ban on production + of other boot blocks. *hfsplus_serial=*hexstring sets a string of 16 digits "0" to "9" and letters "a" to "f", which will be used as unique serial number of an emerging HFS+ filesystem. *hfsplus_block_size=*number sets the allocation block size to be - used when producing HFS+ filesystems. Permissible are 512, 2048, + used when producing HFS+ filesystems. Permissible are 512, 2048, or 0. The latter lets the program decide. *apm_block_size=*number sets the block size to be used when - describing partitions by an Apple Partition Map. Permissible are - 512, 2048, or 0. The latter lets the program decide. + describing partitions by an Apple Partition Map. Permissible are + 512, 2048, or 0. The latter lets the program decide. Note that size 512 is not compatible with production of GPT, and that size 2048 will not be mountable -t hfsplus at least by older Linux kernels. @@ -2905,21 +2835,21 @@ Examples: -append_partition partition_number type_code disk_path Cause a prepared filesystem image to be appended to the ISO image and to be described by a partition table entry in a boot block at - the start of the emerging ISO image. The partition entry will bear + the start of the emerging ISO image. The partition entry will bear the size of the submitted file rounded up to the next multiple of 2048 bytes or to the next multiple of the cylinder size. - Beware of subsequent multi-session runs. The appended partition + Beware of subsequent multi-session runs. The appended partition will get overwritten. Partitions may be appended with boot block type MBR and with SUN Disk Label. With MBR: - partition_number may be 1 to 4. Number 1 will put the whole ISO - image into the unclaimed space before partition 1. So together - with most `xorriso' MBR features, number 2 would be the most + partition_number may be 1 to 4. Number 1 will put the whole ISO + image into the unclaimed space before partition 1. So together + with most 'xorriso' MBR features, number 2 would be the most natural choice. The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal - number between 0x00 and 0xff. Not all those numbers will yield - usable results. For a list of codes search the Internet for + number between 0x00 and 0xff. Not all those numbers will yield + usable results. For a list of codes search the Internet for "Partition Types" or run fdisk command "L". If some other command causes the production of GPT, then the appended partitions will be mentioned there too. @@ -2927,10 +2857,10 @@ Examples: An empty disk_path disables this feature for the given partition number. With SUN Disk Label (selected by -boot_image any sparc_label=): - partition_number may be 2 to 8. Number 1 will always be the ISO + partition_number may be 2 to 8. Number 1 will always be the ISO image. Partition start addresses are aligned to 320 KiB. The - type_code does not matter. Submit 0x0. - Partition image name "." causes the partition to become a copy of + type_code does not matter. Submit 0x0. + Partition image name "." causes the partition to become a copy of the next lower valid one.  @@ -2941,37 +2871,37 @@ File: xorriso.info, Node: Jigdo, Next: Charset, Prev: Bootable, Up: Commands From man genisoimage: "Jigdo is a tool to help in the distribution of large files like CD and DVD images; see http://atterer.net/jigdo/ for -more details. Debian CDs and DVD ISO images are published on the web in +more details. Debian CDs and DVD ISO images are published on the web in jigdo format to allow end users to download them more efficiently." -`xorriso' can produce a .jigdo and a .template file together with a +'xorriso' can produce a .jigdo and a .template file together with a single-session ISO image. The .jigdo file contains checksums and -symbolic file addresses. The .template file contains the compressed -ISO image with reference tags instead of the content bytes of the -listed files. -Input for this process are the normal arguments for a `xorriso' session +symbolic file addresses. The .template file contains the compressed ISO +image with reference tags instead of the content bytes of the listed +files. +Input for this process are the normal arguments for a 'xorriso' session on a blank -outdev, and a .md5 file which lists those data files which may be listed in the .jigdo file and externally referenced in the -.template file. Each designated file is represented in the .md5 file -by a single text line: +.template file. Each designated file is represented in the .md5 file by +a single text line: MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 blanks, symbolic file address The file address in an .md5 line has to bear the same basename as the -disk_path of the file which it shall match. The directory path of the +disk_path of the file which it shall match. The directory path of the file address is decisive for To=From mapping, not for file recognition. After To=From mapping, the file address gets written into the .jigdo -file. Jigdo restore tools will convert these addresses into really +file. Jigdo restore tools will convert these addresses into really reachable data source addresses from which they can read. -If the list of jigdo parameters is not empty, then `xorriso' will -refuse to write to non-blank targets, it will disable multi-session -emulation, and padding will be counted as part of the ISO image. +If the list of jigdo parameters is not empty, then 'xorriso' will refuse +to write to non-blank targets, it will disable multi-session emulation, +and padding will be counted as part of the ISO image. -jigdo parameter_name value Clear Jigdo Template Extraction parameter list or add a parameter to that list. The alias names are the corresponding genisoimage - options. They are accepted as parameter names as well. Especially + options. They are accepted as parameter names as well. Especially they are recognized by the -as mkisofs emulation command. - Parameter *clear* with any value empties the whole list. No - .jigdo and .template file will be produced. + Parameter *clear* with any value empties the whole list. No .jigdo + and .template file will be produced. *template_path* sets the disk_path for the .template file with the holed and compressed ISO image copy. Alias: -jigdo-template @@ -2985,28 +2915,28 @@ emulation, and padding will be counted as part of the ISO image. the .jigdo file and being a hole in the .template file. Alias: -jigdo-min-file-size *exclude* adds a regular expression pattern which will get compared - with the absolute disk_path of any data file. A match causes the + with the absolute disk_path of any data file. A match causes the file to stay in .template in any case. Alias: -jigdo-exclude *demand_md5* adds a regular expression pattern which will get compared with the absolute disk_path of any data file that was not - found in the .md5 list. A match causes a MISHAP event. + found in the .md5 list. A match causes a MISHAP event. Alias: -jigdo-force-md5 *mapping* adds a string pair of the form To=From to the parameter list. If a data file gets listed in the .jigdo file, then it is - referred by the file address from its line in the .md5 file. This + referred by the file address from its line in the .md5 file. This file address gets checked whether it begins with the From string. - If so, then this string will be replaced by the To string and a - ':' character, before it goes into the .jigdo file. The From - string should end by a '/' character. + If so, then this string will be replaced by the To string and a ':' + character, before it goes into the .jigdo file. The From string + should end by a '/' character. Alias: -jigdo-map *compression* chooses one of "bzip2" or "gzip" for the compression - of the template file. The jigdo file is put out uncompressed. + of the template file. The jigdo file is put out uncompressed. Alias: -jigdo-template-compress *checksum_iso* chooses one or more of "md5", "sha1", "sha256", "sha512" for the auxiliary "# Image Hex" checksums in the jigdo - file. The value may e.g. look like "md5,sha1,sha512". Value "all" - chooses all available algorithms. Note that MD5 stays always + file. The value may e.g. look like "md5,sha1,sha512". Value + "all" chooses all available algorithms. Note that MD5 stays always enabled. Alias: -checksum_algorithm_iso *checksum_template* is like checksum_iso but for "# Template Hex". @@ -3018,62 +2948,61 @@ File: xorriso.info, Node: Charset, Next: Exception, Prev: Jigdo, Up: Command 9.13 Character sets =================== -File names are strings of non-zero bytes with 8 bit each. Unfortunately +File names are strings of non-zero bytes with 8 bit each. Unfortunately the same byte string may appear as different peculiar national characters on differently nationalized terminals. The meanings of byte -codes are defined in *character sets* which have names. Shell command +codes are defined in *character sets* which have names. Shell command iconv -l lists them. The file names on hard disk are assumed to be encoded by the *local character set* which is also used for the communication with the user. Byte codes 32 to 126 of the local character set must match the US-ASCII -characters of the same code. ISO-8859 and UTF-8 fulfill this demand. -By default, `xorriso' uses the character set as told by shell command -"locale" with argument "charmap". This may be influenced by environment -variables LC_ALL, LC_CTYPE, or LANG and should match the expectations -of the terminal. In some situations it may be necessary to set it by +characters of the same code. ISO-8859 and UTF-8 fulfill this demand. +By default, 'xorriso' uses the character set as told by shell command +"locale" with argument "charmap". This may be influenced by environment +variables LC_ALL, LC_CTYPE, or LANG and should match the expectations of +the terminal. In some situations it may be necessary to set it by command -local_charset. Local character sets should not matter as long as only english alphanumeric characters are used for file names or as long as all writers and readers of the media use the same local character set. -Outside these constraints it may be necessary to let `xorriso' convert +Outside these constraints it may be necessary to let 'xorriso' convert byte codes from and to other character sets. The Rock Ridge file names in ISO filesystems are assumed to be encoded by the *input character set*. The Rock Ridge file names which get written with ISO filesystems will be encoded by the *output character set*. The sets can be defined independently by commands -in_charset and --out_charset. Normally one will have both identical, if ever. Other +-out_charset. Normally one will have both identical, if ever. Other than the local character set, these two character sets may deviate from US-ASCII. The output character sets for Joliet and HFS+ are not influenced by -these commands. Joliet uses output character set UCS-2 or UTF-16. HFS+ +these commands. Joliet uses output character set UCS-2 or UTF-16. HFS+ uses UTF-16. The default output charset is the local character set of the terminal -where `xorriso' runs. So by default no conversion happens between local -filesystem names and emerging Rock Ridge names in the image. The -situation stays ambigous and the reader has to riddle what character -set was used. +where 'xorriso' runs. So by default no conversion happens between local +filesystem names and emerging Rock Ridge names in the image. The +situation stays ambigous and the reader has to riddle what character set +was used. By command -auto_charset it is possible to attribute the output charset -name to the image. This makes the situation unambigous. But if your +name to the image. This makes the situation unambigous. But if your terminal character set does not match the character set of the local file names, then this attribute can become plainly wrong and cause -problems at read time. To prevent this it is necessary to check -whether the terminal properly displays all intended filenames. Check -especially the exotic national characters. +problems at read time. To prevent this it is necessary to check whether +the terminal properly displays all intended filenames. Check especially +the exotic national characters. To enforce recording of a particular character set name without any conversion at image generation time, set -charset and -local_charset to the desired name, and enable -backslash_codes to avoid evil character display on your terminal. -charset character_set_name - Set the character set from which to convert file names when - loading an image and to which to convert when writing an image. - + Set the character set from which to convert file names when loading + an image and to which to convert when writing an image. -local_charset character_set_name - Override the system assumption of the local character set name. - If this appears necessary, one should consider to set - -backslash_codes to "on" in order to avoid dangerous binary codes - being sent to the terminal. + Override the system assumption of the local character set name. If + this appears necessary, one should consider to set -backslash_codes + to "on" in order to avoid dangerous binary codes being sent to the + terminal.  File: xorriso.info, Node: Exception, Next: DialogCtl, Prev: Charset, Up: Commands @@ -3081,12 +3010,12 @@ File: xorriso.info, Node: Exception, Next: DialogCtl, Prev: Charset, Up: Com 9.14 Exception processing ========================= -Since the tasks of `xorriso' are manifold and prone to external -influence, there may arise the need for `xorriso' to report and handle +Since the tasks of 'xorriso' are manifold and prone to external +influence, there may arise the need for 'xorriso' to report and handle problem events. Those events get classified when they are detected by one of the -software modules and forwarded to reporting and evaluation modules -which decide about reactions. Event classes are sorted by severity: +software modules and forwarded to reporting and evaluation modules which +decide about reactions. Event classes are sorted by severity: "NEVER" The upper end of the severity spectrum. "ABORT" The program is being aborted and on its way to end. "FATAL" The main purpose of the run failed or an important resource @@ -3105,89 +3034,85 @@ failed unexpectedly. Set the severity threshold for events to abort the program. Useful: "NEVER", "ABORT", "FATAL", "FAILURE" , "MISHAP", "SORRY" It may become necessary to abort the program anyway, despite the - setting by this command. Expect not many "ABORT" events to be + setting by this command. Expect not many "ABORT" events to be ignorable. A special property of this command is that it works preemptive if - given as program start argument. I.e. the first -abort_on setting + given as program start argument. I.e. the first -abort_on setting among the start arguments is in effect already when the first - operations of `xorriso' begin. Only "-abort_on" with dash "-" is + operations of 'xorriso' begin. Only "-abort_on" with dash "-" is recognized that way. - -return_with severity exit_value Set the threshold and exit_value to be returned at program end if - no abort has happened. This is to allow `xorriso' to go on after + no abort has happened. This is to allow 'xorriso' to go on after problems but to get a failure indicating exit value from the program, nevertheless. Useful is a value lower than the -abort_on threshold, down to "WARNING". exit_value may be either 0 (indicating success to the starter of - the program) or a number between 32 and 63. Some other exit_values - are used by `xorriso' if it decides to abort the program run: + the program) or a number between 32 and 63. Some other exit_values + are used by 'xorriso' if it decides to abort the program run: 1=abort due to external signal 2=no program arguments given - 3=creation of `xorriso' main object failed + 3=creation of 'xorriso' main object failed 4=failure to start libburnia-project.org libraries 5=program abort during argument processing 6=program abort during dialog processing - -report_about severity Set the threshold for events to be reported. - Useful: "SORRY", "WARNING", "HINT", "NOTE", "UPDATE", "DEBUG", + Useful: "SORRY", "WARNING", "HINT", "NOTE", "UPDATE", "DEBUG", "ALL" Regardless what is set by -report_about, messages get always reported if they reach the severity threshold of -abort_on . Event messages are sent to the info channel "I" which is usually - stderr but may be influenced by command -pkt_output. Info - messages which belong to no event get attributed severity "NOTE". + stderr but may be influenced by command -pkt_output. Info messages + which belong to no event get attributed severity "NOTE". A special property of this command is that the first -report_about setting among the start arguments is in effect already when the - first operations of `xorriso' begin. Only "-report_about" with + first operations of 'xorriso' begin. Only "-report_about" with dash "-" is recognized that way. - -signal_handling mode Control the installation of a signal handler which shall react on - external signals (e.g. from program "kill" or from keys Ctrl+C) or + external signals (e.g. from program "kill" or from keys Ctrl+C) or on signals caused by severe program errors. - Mode "on" is the default. It uses the signal handler of libburn + Mode "on" is the default. It uses the signal handler of libburn which produces ugly messages but puts much effort in releasing - optical drives before `xorriso' ends. + optical drives before 'xorriso' ends. Mode "off" as first -signal_handling among the start arguments - prevents all own signal precautions of `xorriso'. Inherited signal + prevents all own signal precautions of 'xorriso'. Inherited signal handler settings stay as they are. It works like "sig_dfl" if given after other signal handling was already established at program start. Mode "sig_dfl" uses the system provided default handling of - signals, which is normally a sudden abort of the program. To + signals, which is normally a sudden abort of the program. To prevent stuck drives, the libburn handler is used during burning, blanking, and formatting on MMC drives. Mode "sig_ign" tries to ignore as many signal types as possible. - This imposes the risk that `xorriso' refuses to end until + This imposes the risk that 'xorriso' refuses to end until externally kill -9 if performed. kill -9 then imposes the risk that the drive is left in unusable state and needs poweroff to be - reset. So during burning, blanking, and formatting wait for at + reset. So during burning, blanking, and formatting wait for at least their normal run time before killing externally. A special property of this command is that the first -signal_handling setting among the start arguments is in effect - already when the first operations of `xorriso' begin. Only + already when the first operations of 'xorriso' begin. Only "-signal_handling" with dash "-" is recognized that way. - -error_behavior occasion behavior Control the program behavior at problem event occasions. For now this applies to occasions "image_loading" which is given while an image tree is read from the input device, and to "file_extraction" which is given with osirrox commands like -extract. With "image_loading" there are three behaviors available: - "best_effort" goes on with reading after events with severity - below FAILURE if the threshold of command -abort_on allows this. + "best_effort" goes on with reading after events with severity below + FAILURE if the threshold of command -abort_on allows this. "failure" aborts image tree reading on first event of at least - SORRY. It issues an own FAILURE event. This is the default. + SORRY. It issues an own FAILURE event. This is the default. "fatal" acts like "failure" but issues the own event as FATAL. With occasion "file_extraction" there are three behaviors: - "keep" maintains incompletely extracted files on disk. This is the + "keep" maintains incompletely extracted files on disk. This is the default. "delete" removes files which encountered errors during content extraction. - "best_effort" starts a revovery attempt by means of -extract_cut - if the file content stems from the loaded ISO image and is not + "best_effort" starts a revovery attempt by means of -extract_cut if + the file content stems from the loaded ISO image and is not filtered.  @@ -3202,25 +3127,22 @@ File: xorriso.info, Node: DialogCtl, Next: Inquiry, Prev: Exception, Up: Com readline or from stdin. If no -abort_on severity was set when dialog starts, then "NEVER" is set to avoid abort in most cases of wrong input or other - problems. Before dialog begins, the default is "FAILURE" which - e.g. aborts on unknown commands. + problems. Before dialog begins, the default is "FAILURE" which + e.g. aborts on unknown commands. Mode "on" supports input of newline characters within quotation - marks and line continuation by trailing backslash outside - quotation marks. Mode "single_line" does not. - + marks and line continuation by trailing backslash outside quotation + marks. Mode "single_line" does not. -page length width - Describe terminal to the text pager. See also above, paragraph + Describe terminal to the text pager. See also above, paragraph Result pager. If parameter length is nonzero then the user gets prompted after - that number of terminal lines. Zero length disables paging. - Parameter width is the number of characters per terminal line. It + that number of terminal lines. Zero length disables paging. + Parameter width is the number of characters per terminal line. It is used to compute the number of terminal lines which get occupied by an output line. A usual terminal width is 80. - -use_readline "on"|"off" - If "on" then use readline for dialog. Else use plain stdin. + If "on" then use readline for dialog. Else use plain stdin. See also above, paragraph Dialog, Readline, Result pager. - -reassure "on"|"tree"|"off" If "on" then ask the user for "y" or "n": before deleting or overwriting any file in the ISO image, @@ -3233,15 +3155,15 @@ File: xorriso.info, Node: DialogCtl, Next: Inquiry, Prev: Exception, Up: Com With setting "tree" the reassuring prompt will appear for an eventual directory only once and not for each file in its whole subtree. - Setting "off" silently kills any kind of image file object resp. + Setting "off" silently kills any kind of image file object and performs above irrevocable actions. To really produce user prompts, command -dialog needs to be set to "on". Note that the prompt does not appear in situations where - file removal is forbidden by command -overwrite. -reassure only + file removal is forbidden by command -overwrite. -reassure only imposes an additional curb for removing existing file objects. Be aware that file objects get deleted from the ISO image - immediately after confirmation. They are gone even if the running - command gets aborted and its desired effect gets revoked. In case + immediately after confirmation. They are gone even if the running + command gets aborted and its desired effect gets revoked. In case of severe mess-up, consider to use -rollback to revoke the whole session. @@ -3254,100 +3176,93 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm -devices Show list of available MMC drives with the addresses of their libburn standard device files. - This is only possible when no ISO image changes are pending. - After this command was executed, there is no drive current and no - image loaded. + This is only possible when no ISO image changes are pending. After + this command was executed, there is no drive current and no image + loaded. In order to be visible, a device has to offer rw-permissions with - its libburn standard device file. Thus it might be only the + its libburn standard device file. Thus it might be only the *superuser* who is able to see all drives. Drives which are occupied by other processes get not shown. - -device_links - Like -devices, but presenting the drives with addresses of - symbolic links which point to the actual device files. + Like -devices, but presenting the drives with addresses of symbolic + links which point to the actual device files. Modern GNU/Linux systems may shuffle drive addresses from boot to boot. The udev daemon is supposed to create links which always point to the same drive, regardless of its system address. The command -device_links shows the addresses of such links if they begin by "/dev/dvd" or "/dev/cd". Precedence is: "dvdrw", "cdrw", "dvd", "cdrom", "cd". - -toc - Show media specific tables of content. This is the session history + + Show media specific tables of content. This is the session history of the medium, not the ISO image directory tree. In case of overwriteable media holding a valid ISO image, it may - happen that only a single session gets shown. But if the first - session on the overwriteable media was written by `xorriso' then a + happen that only a single session gets shown. But if the first + session on the overwriteable media was written by 'xorriso' then a complete session history can be emulated. A drive which is incapable of writing may show any media as CD-ROM - or DVD-ROM with only one or two sessions on it. The last of these + or DVD-ROM with only one or two sessions on it. The last of these sessions is supposed to be the most recent real session then. Some read-only drives and media show no usable session history at all. Command -rom_toc_scan might help. If input device and output device are both aquired and not the same, then both tables-of-content get shown. - -toc_of "in"|"out"|"all"[":short"] Like command -toc but explicitely choosing which drive's - table-of-content to show. "in" shows -indev or -dev, "out" shows + table-of-content to show. "in" shows -indev or -dev, "out" shows -outdev or -dev, "all" shows the same as -toc. If ":short" is appended to the drive choosing word, then only a short summary of drive state and medium content is printed. As further difference to -toc, this command does not emit FAILURE events if the desired drive is not aquired. - -mount_cmd drive entity id path Emit an appropriate command line for mounting the ISO session - indicated by drive, entity and id. The result will be different - on GNU/Linux and on FreeBSD or NetBSD. + indicated by drive, entity and id. The result will be different on + GNU/Linux and on FreeBSD or NetBSD. drive can be "indev" or "outdev" to indicate already acquired drives, or it can be the path of a not yet acquired drive. Prefix "stdio:" for non-MMC drives is not mandatory. - entity must be either "sbsector" with the superblock sector - address as id, or "track" with a track number as id, or "session" - with a session number, or "volid" with a search pattern for the - volume id, or "auto" with any text as id. + entity must be either "sbsector" with the superblock sector address + as id, or "track" with a track number as id, or "session" with a + session number, or "volid" with a search pattern for the volume id, + or "auto" with any text as id. path will be used as mount point and must already exist as a directory on disk. - The command gets printed to the result channel. See command -mount + The command gets printed to the result channel. See command -mount for direct execution of this command. - -mount_opts option[:option...] - Set options which influence -mount and -mount_cmd. Currently there + Set options which influence -mount and -mount_cmd. Currently there is only option "exclusive" which is default and its counterpart - "shared". The latter causes `xorriso' not to give up the affected + "shared". The latter causes 'xorriso' not to give up the affected drive with command -mount. On GNU/Linux it adds mount option "loop" which may allow to mount several sessions of the same block - device at the same time. One should not write to a mounted optical - medium, of course. Take care to umount all sessions before + device at the same time. One should not write to a mounted optical + medium, of course. Take care to umount all sessions before ejecting. - -session_string drive entity id format Print to the result channel a text which gets composed according to format and the parameters of the addressed session. Formats "linux:"path or "freebsd:"path produce the output of -mount_cmd for the given operating systems. - In other texts `xorriso' will substitute the following parameter + In other texts 'xorriso' will substitute the following parameter names. An optional prefix "string:" will be removed. "%device%" will be substituted by the mountable device path of the drive address. "%sbsector%" will be substituted by the session start sector. "%track%", "%session%", "%volid%" will be substituted by track - number, session number, resp. volume id of the depicted session. - + number, session number, or volume id of the depicted session. -print_size Print the foreseeable consumption of 2048 byte blocks by next - -commit. This can last a while as a -commit gets prepared and only + -commit. This can last a while as a -commit gets prepared and only in last moment is revoked by this command. The result depends on several settings and also on the kind of output device. If no - -jidgo options are set and not command -as "mkisofs" was used, - then -padding (300 kB by default) is not counted as part of the - image size. + -jidgo options are set and not command -as "mkisofs" was used, then + -padding (300 kB by default) is not counted as part of the image + size. If an El Torito boot image file is already depicted, then command -print_size automatically executes -boot_image "any" "next". This means that the properties of that boot image cannot be edited by subsequent commands. - -tell_media_space Print available space on the output medium and the free space after subtracting already foreseeable consumption by next -commit. @@ -3356,54 +3271,51 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm this session without making the next -commit fail from medium overflow. The free space after the next -commit might be smaller by several - MB. This depends on medium type, number of recorded sessions, and + MB. This depends on medium type, number of recorded sessions, and drive habits. - -pvd_info Print various ID strings and timestamps which can be found in - loaded ISO images. Some of the IDs may be changed by commands like + loaded ISO images. Some of the IDs may be changed by commands like -volid or -publisher. For these IDs -pvd_info reports what would be written with the next -commit. The timestamps get not automatically propagated from loaded image to newly written image. The ones for new images may be set by command -volume_date. See there for the meaning of the particular timestamps. - -report_el_torito mode - With mode *plain* print a report about the information found in - the El Torito boot catalog of the loaded ISO image. + + With mode *plain* print a report about the information found in the + El Torito boot catalog of the loaded ISO image. With mode *help* print a text which explains the meaning of the lines put out by "plain". Mode *cmd* tries to print the *xorriso* commands which are - necessary to produce the found boot equipment: disk identifiers, - El Torito boot images, and System Area. Disk identifiers are - strings which the booting operating system might use to find the - ISO filesystem from where it comes. Currently known is the use of + necessary to produce the found boot equipment: disk identifiers, El + Torito boot images, and System Area. Disk identifiers are strings + which the booting operating system might use to find the ISO + filesystem from where it comes. Currently known is the use of volume id and modification date. The intended use case is modification of the filesystem by having -indev and -outdev pointing to different images or drives. The result might be insufficient, if the found equipment cannot be - produced by xorriso. Various SORRY events may arise in this case, + produced by xorriso. Various SORRY events may arise in this case, but it is not guaranteed that xorriso recognizes all its insufficiencies. - Mode *as_mkisofs* tries to print the *xorriso -as mkisofs* - options, which are necessary to produce the found equipment. The - intended use case is to use the mounted filesystem as input tree - together with the printed options. - + Mode *as_mkisofs* tries to print the *xorriso -as mkisofs* options, + which are necessary to produce the found equipment. The intended + use case is to use the mounted filesystem as input tree together + with the printed options. -report_system_area mode - With mode *plain* print a report about the information found in - the System Area of the loaded ISO image. The report consists of - zero to many lines with a header text, a colon, and information - text. + With mode *plain* print a report about the information found in the + System Area of the loaded ISO image. The report consists of zero + to many lines with a header text, a colon, and information text. With mode *help* print a text which explains the meaning of the - lines put out by "plain". You probably will have to look for more - documentation which explains the technical details of the - mentioned boot facilities. + lines put out by "plain". You probably will have to look for more + documentation which explains the technical details of the mentioned + boot facilities. Modes *cmd* and *as_mkisofs* work like with command - -report_el_torito. See above. + -report_el_torito. See above. With mode *gpt_crc_of:*disk_path read up to 32 KiB from the disk - file with the path given after the colon. Compute the GPT - compliant CRC number and print it to the result channel. The + file with the path given after the colon. Compute the GPT + compliant CRC number and print it to the result channel. The number is shown like "0x690fd979". The special disk_path "-" causes reading from standard input. @@ -3417,164 +3329,143 @@ File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Command Change the current working directory in the ISO image. This is prepended to iso_rr_paths which do not begin with '/'. It is possible to set the working directory to a path which does - not exist yet in the ISO image. The necessary parent directories + not exist yet in the ISO image. The necessary parent directories will be created when the first file object is inserted into that - virtual directory. Use -mkdir if you want to enforce the - existence of the directory already at first insertion. - + virtual directory. Use -mkdir if you want to enforce the existence + of the directory already at first insertion. -cdx disk_path Change the current working directory in the local filesystem. To be prepended to disk_paths which do not begin with '/'. - -pwd + Tell the current working directory in the ISO image. - -pwdx - Tell the current working directory in the local filesystem. + Tell the current working directory in the local filesystem. -ls iso_rr_pattern [***] - List files in the ISO image which match shell patterns (i.e. with - wildcards '*' '?' '[a-z]'). If a pattern does not begin with '/' + List files in the ISO image which match shell patterns (i.e. with + wildcards '*' '?' '[a-z]'). If a pattern does not begin with '/' then it is compared with addresses relative to -cd. Directories are listed by their content rather than as single file item. Pattern expansion may be disabled by command -iso_rr_pattern. - -lsd iso_rr_pattern [***] Like -ls but listing directories as themselves and not by their content. This resembles shell command ls -d. - -lsl iso_rr_pattern [***] Like -ls but also list some of the file attributes. The output format resembles shell command ls -ln. File type 'e' indicates the El Torito boot catalog. If the file has non-trivial ACL, then a '+' is appended to the - permission info. If the file is hidden, then 'I' for "iso_rr", - 'J' for "joliet", 'A' for "hfsplus", resp. 'H' for multiple hiding - gets appended. Together with ACL it is 'i', 'j', 'a', resp. 'h'. - + permission info. If the file is hidden, then 'I' for "iso_rr", 'J' + for "joliet", 'A' for "hfsplus", 'H' for multiple hiding gets + appended. Together with ACL it is 'i', 'j', 'a', 'h'. -lsdl iso_rr_pattern [***] Like -lsd but also list some of the file attributes. The output format resembles shell command ls -dln. - -lsx disk_pattern [***] List files in the local filesystem which match shell patterns. Patterns which do not begin with '/' are used relative to -cdx. Directories are listed by their content rather than as single file item. Pattern expansion may be disabled by command -disk_pattern. - -lsdx disk_pattern [***] Like -lsx but listing directories as themselves and not by their content. This resembles shell command ls -d. - -lslx disk_pattern [***] Like -lsx but also listing some of the file attributes. Output format resembles shell command ls -ln. - -lsdlx disk_pattern [***] Like -lsdx but also listing some of the file attributes. Output format resembles shell command ls -dln. - -getfacl iso_rr_pattern [***] Print the access permissions of the given files in the ISO image - using the format of shell command getfacl. If a file has no ACL - then it gets fabricated from the -chmod settings. A file may have + using the format of shell command getfacl. If a file has no ACL + then it gets fabricated from the -chmod settings. A file may have a real ACL if it was introduced into the ISO image while command -acl was set to "on". - -getfacl_r iso_rr_pattern [***] Like -gefacl but listing recursively the whole file trees underneath eventual directories. - -getfattr iso_rr_pattern [***] - Print the xattr of the given files in the ISO image. If a file - has no such xattr then noting is printed for it. - + Print the xattr of the given files in the ISO image. If a file has + no such xattr then noting is printed for it. -getfattr_r iso_rr_pattern [***] Like -gefattr but listing recursively the whole file trees underneath eventual directories. - -du iso_rr_pattern [***] Recursively list size of directories and files in the ISO image which match one of the patterns. similar to shell command du -k. - -dus iso_rr_pattern [***] - List size of directories and files in the ISO image which match - one of the patterns. Similar to shell command du -sk. - + List size of directories and files in the ISO image which match one + of the patterns. Similar to shell command du -sk. -dux disk_pattern [***] Recursively list size of directories and files in the local - filesystem which match one of the patterns. Similar to shell + filesystem which match one of the patterns. Similar to shell command du -k. - -dusx disk_pattern [***] List size of directories and files in the local filesystem which match one of the patterns. Similar to shell command du -sk. - -findx disk_path [-name pattern] [-type t] [-exec action [params]] -- Like -find but operating on local filesystem and not on the ISO image. This is subject to the settings of -follow. - -findx accepts the same -type parameters as -find. Additionally it + -findx accepts the same -type parameters as -find. Additionally it recognizes type "mountpoint" (or "m") which matches subdirectories - which reside on a different device than their parent. It never + which reside on a different device than their parent. It never matches the disk_path given as start address for -findx. - -findx accepts the -exec actions as does -find. But except the + -findx accepts the -exec actions as does -find. But except the following few actions it will always perform action "echo". - in_iso + in_iso reports the path if its counterpart exists in the ISO image. For this the disk_path of the -findx command gets replaced by the iso_rr_path given as parameter. E.g.: -findx /home/thomas -exec in_iso /thomas_on_cd -- - not_in_iso + not_in_iso reports the path if its counterpart does not exist in the ISO - image. The report format is the same as with command -compare. - add_missing iso_rr_path_start - adds the counterpart if it does not yet exist in the ISO - image and marks it for "rm_merge" as non-removable. + image. The report format is the same as with command + -compare. + add_missing iso_rr_path_start + adds the counterpart if it does not yet exist in the ISO image + and marks it for "rm_merge" as non-removable. E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd -- - is_full_in_iso + is_full_in_iso reports if the counterpart in the ISO image contains files. To be used with -type "m" to report mount points. - empty_iso_dir - deletes all files from the counterpart in the ISO image. To + empty_iso_dir + deletes all files from the counterpart in the ISO image. To be used with -type "m" to truncate mount points. - estimate_size - prints a lower and an upper estimation of the number of - blocks which the found files together will occupy in the - emerging ISO image. This does not account for the superblock, - for the directories in the -findx path, or for image padding. - list_extattr mode - prints a script to the result channel, which would use - FreeBSD command setextattr to set the file's xattr name-value - pairs of user namespace. See -find for a description of - parameter mode. - E.g. -exec list_extattr e - - + estimate_size + prints a lower and an upper estimation of the number of blocks + which the found files together will occupy in the emerging ISO + image. This does not account for the superblock, for the + directories in the -findx path, or for image padding. + list_extattr mode + prints a script to the result channel, which would use FreeBSD + command setextattr to set the file's xattr name-value pairs of + user namespace. See -find for a description of parameter + mode. + E.g. -exec list_extattr e - -compare disk_path iso_rr_path Compare attributes and eventual data file content of a fileobject - in the local filesystem with a file object in the ISO image. The - iso_rr_path may well point to an image file object which is not - yet committed, i.e. of which the data content still resides in the - local filesystem. Such data content is prone to externally caused + in the local filesystem with a file object in the ISO image. The + iso_rr_path may well point to an image file object which is not yet + committed, i.e. of which the data content still resides in the + local filesystem. Such data content is prone to externally caused changes. If iso_rr_path is empty then disk_path is used as path in the ISO image too. Differing attributes are reported in detail, differing content is - summarized. Both to the result channel. In case of no differences + summarized. Both to the result channel. In case of no differences no result lines are emitted. - -compare_r disk_path iso_rr_path - Like -compare but working recursively. I.e. all file objects below - both addresses get compared whether they have counterparts below - the other address and whether both counterparts match. - + Like -compare but working recursively. I.e. all file objects + below both addresses get compared whether they have counterparts + below the other address and whether both counterparts match. -compare_l disk_prefix iso_rr_prefix disk_path [***] Perform -compare_r with each of the disk_path parameters. iso_rr_path will be composed from disk_path by replacing disk_prefix by iso_rr_prefix. - -show_stream iso_rr_path [***] Display the content stream chain of data files in the ISO image. The chain consists of the iso_rr_name and one or more streams, @@ -3582,13 +3473,12 @@ File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Command more texts, separated by ":" characters. The first text tells the stream type, the following ones, if ever, describe its individual properties. Frequently used types are: - disk:'disk_path' for local filesystem objects. - image:'iso_rr_path' for ISO image file objects. - cout:'disk_path offset count' for -cut_out files. + disk:'disk_path' for local filesystem objects. + image:'iso_rr_path' for ISO image file objects. + cout:'disk_path offset count' for -cut_out files. extf:'filter_name' for external filters. Example: '/abc/xyz.gz' < extf:'gzip' < disk:'/home/me/x' - -show_stream_r iso_rr_path [***] Like -show_stream but working recursively. @@ -3598,17 +3488,17 @@ File: xorriso.info, Node: Verify, Next: Restore, Prev: Navigate, Up: Command 9.18 Evaluation of readability and recovery =========================================== -It is not uncommon that optical media produce read errors. The reasons +It is not uncommon that optical media produce read errors. The reasons may be various and get obscured by error correction which is performed -by the drives and based on extra data on the media. If a drive returns -data then one can quite trust that they are valid. But at some degree +by the drives and based on extra data on the media. If a drive returns +data then one can quite trust that they are valid. But at some degree of read problems the correction will fail and the drive is supposed to indicate error. -`xorriso' can scan a medium for readable data blocks, classify them +'xorriso' can scan a medium for readable data blocks, classify them according to their read speed, save them to a file, and keep track of successfuly saved blocks for further tries on the same medium. By command -md5 checksums may get recorded with data files and whole -sessions. These checksums are reachable only via indev and a loaded +sessions. These checksums are reachable only via indev and a loaded image. They work independently of the media type and can detect transmission errors. @@ -3618,27 +3508,26 @@ transmission errors. Several options may be used to modify the default behavior. The parameters given with this command override the default settings which may have been changed by command - -check_media_defaults. See there for a description of available + -check_media_defaults. See there for a description of available options. - The result list tells intervals of 2 KiB blocks with start - address, number of blocks and quality. Qualities which begin with - "+" are supposed to be valid readable data. Qualities with "-" are + The result list tells intervals of 2 KiB blocks with start address, + number of blocks and quality. Qualities which begin with "+" are + supposed to be valid readable data. Qualities with "-" are unreadable or corrupted data. "0" indicates qualities which are not covered by the check run or are regularly allowed to be - unreadable (e.g. gaps between tracks). + unreadable (e.g. gaps between tracks). Alternatively it is possible to report damaged files rather than blocks. If -md5 is "on" then the default mode what=tracks looks out for libisofs checksum tags for the ISO session data and checks them against the checksums computed from the data stream. - -check_media_defaults [option [option ...]] -- Preset options for runs of -check_media, -extract_cut and - best_effort file extraction. Options given with -check_media will - override the preset options. -extract_cut will override some + best_effort file extraction. Options given with -check_media will + override the preset options. -extract_cut will override some options automatically. An option consists of a keyword, a "=" character, and a value. - Options may override each other. So their sequence matters. + Options may override each other. So their sequence matters. The default setting at program start is: use=indev what=tracks min_lba=-1 max_lba=-1 retry=default time_limit=28800 item_limit=100000 data_to=" event=ALL @@ -3648,131 +3537,128 @@ transmission errors. Option "reset=now" restores these startup defaults. Non-default options are: - report="files" + report="files" lists the files which use damaged blocks (not with use=outdev). The format is like with find -exec report_damage. Note that a MD5 session mismatch marks all files of the session as damaged. If finer distinction is desired, perform -md5 off before -check_media. - report="blocks_files" + report="blocks_files" first lists damaged blocks and then affected files. - use="outdev" - reads from the output drive instead of the input drive. This + use="outdev" + reads from the output drive instead of the input drive. This avoids loading the ISO image tree from media. - use="sector_map" + use="sector_map" does not read any media but loads the file given by option sector_map= and processes this virtual outcome. - what="disc" + what="disc" scans the payload range of a medium without respecting track gaps. - what="image" + what="image" similar to "disc", but restricts scanning to the range of the ISO 9660 image, if present. - min_lba=limit + min_lba=limit omits all blocks with addresses lower than limit. - max_lba=limit + max_lba=limit switches to what=disc and omits all blocks above limit. - chunk_size=size + chunk_size=size sets the number of bytes to be read in one low-level read operation. This gets rounded down to full blocks of 2048 - bytes. 0 means automatic size. - retry="on" + bytes. 0 means automatic size. + retry="on" forces read retries with minimal senseful chunk size when the - normal read chunk produces a read error. This size is 1s with + normal read chunk produces a read error. This size is 1s with CD and stdio files, 16s with DVD (1 ECC Block), and 32s with BD (1 Cluster). By default, retries are only enabled with CD - media. "retry=off" forbits retries for all media types. - abort_file=disk_path - gives the path of the file which may abort a scan run. Abort - happens if the file exists and its mtime is not older than - the start time of the run. Use shell command "touch" to - trigger this. Other than an aborted program run, this will - report the tested and untested blocks and go on with running - `xorriso'. - time_limit=seconds + media. "retry=off" forbits retries for all media types. + abort_file=disk_path + gives the path of the file which may abort a scan run. Abort + happens if the file exists and its mtime is not older than the + start time of the run. Use shell command "touch" to trigger + this. Other than an aborted program run, this will report the + tested and untested blocks and go on with running 'xorriso'. + time_limit=seconds gives the number of seconds after which the scan shall be - aborted. This is useful for unattended scanning of media - which may else overwork the drive in its effort to squeeze - out some readable blocks. Abort may be delayed by the drive + aborted. This is useful for unattended scanning of media + which may else overwork the drive in its effort to squeeze out + some readable blocks. Abort may be delayed by the drive gnawing on the last single read operation. Value -1 means unlimited time. - item_limit=number + item_limit=number gives the number of report list items after which to abort. Value -1 means unlimited item number. - data_to=disk_path + data_to=disk_path copies the valid blocks to the given file. - event=severity + event=severity sets the given severity for a problem event which shall be issued at the end of a check run if data blocks were unreadable or failed to match recorded MD5 checksums. Severity "ALL" disables this event. - sector_map=disk_path - tries to read the file given by disk_path as sector bitmap - and to store such a map file after the scan run. The bitmap - tells which blocks have been read successfully in previous - runs. It allows to do several scans on the same medium, even - with intermediate eject, in order to collect readable blocks - whenever the drive is lucky enough to produce them. The + sector_map=disk_path + tries to read the file given by disk_path as sector bitmap and + to store such a map file after the scan run. The bitmap tells + which blocks have been read successfully in previous runs. It + allows to do several scans on the same medium, even with + intermediate eject, in order to collect readable blocks + whenever the drive is lucky enough to produce them. The stored file contains a human readable TOC of tracks and their start block addresses, followed by binary bitmap data. - By default, untested blocks are not considered bad, but - rather as intentionally unread. If you expect time_limit= or + By default, untested blocks are not considered bad, but rather + as intentionally unread. If you expect time_limit= or item_limit= to abort the run, then consider to use bad_limit="untested". - map_with_volid="on" + map_with_volid="on" examines tracks whether they are ISO images and prints their volume IDs into the human readable TOC of sector_map=. - patch_lba0="on" + patch_lba0="on" transfers within the data_to= file a copy of the currently loaded session head to the start of that file and patches it to be valid at that position. This makes the loaded session the last valid session of the image file when it gets mounted - or loaded as stdio: drive. New sessions will be appended + or loaded as stdio: drive. New sessions will be appended after this last session and will overwrite any sessions which have followed it. - patch_lba0="force" - performs patch_lba0="on" even if `xorriso' believes that the + patch_lba0="force" + performs patch_lba0="on" even if 'xorriso' believes that the copied data are not valid. - patch_lba0= may also bear a number. If it is 32 or higher it - is taken as start address of the session to be copied. In + patch_lba0= may also bear a number. If it is 32 or higher it + is taken as start address of the session to be copied. In this case it is not necessary to have an -indev and a loaded - image. ":force" may be appended after the number. - bad_limit=threshold + image. ":force" may be appended after the number. + bad_limit=threshold sets the highest quality which shall be considered as damage. - Choose one of "good", "md5_match", "slow", "partial", - "valid", "untested", "invalid", "tao_end", "off_track", - "md5_mismatch", "unreadable". - "valid" and "invalid" are qualities imported from a - sector_map file. "tao_end" and "off_track" are intentionally - not readable, but not bad either. "partial" are blocks - retrieved from a partially readable chunk. They are supposed - to be ok but stem from a suspicious neighborhood. - "md5_match" and "md5_mismatch" regions overlap with regions - of other quality. - slow_limit=threshold + Choose one of "good", "md5_match", "slow", "partial", "valid", + "untested", "invalid", "tao_end", "off_track", "md5_mismatch", + "unreadable". + "valid" and "invalid" are qualities imported from a sector_map + file. "tao_end" and "off_track" are intentionally not + readable, but not bad either. "partial" are blocks retrieved + from a partially readable chunk. They are supposed to be ok + but stem from a suspicious neighborhood. + "md5_match" and "md5_mismatch" regions overlap with regions of + other quality. + slow_limit=threshold sets the time threshold for a single read chunk to be - considered slow. This may be a fractional number like 0.1 or + considered slow. This may be a fractional number like 0.1 or 1.5. - async_chunks=number + async_chunks=number enables asynchronous MD5 processing if number is 2 or larger. In this case the given number of read chunks is allocated as fifo buffer. On very fast MMC drives try: chunk_size=64s async_chunks=16. - -check_md5 severity iso_rr_path [***] Compare the data content of the given files in the loaded image - with their recorded MD5 checksums, if there are any. In case of - any mismatch an event of the given severity is issued. It may then + with their recorded MD5 checksums, if there are any. In case of + any mismatch an event of the given severity is issued. It may then be handled by appropriate settings of commands -abort_on or -return_with which both can cause non-zero exit values of the - program run. Severity ALL suppresses that event. - This command reports match and mismatch of data files to the - result channel. Non-data files cause NOTE events. There will also - be UPDATE events from data reading. + program run. Severity ALL suppresses that event. + This command reports match and mismatch of data files to the result + channel. Non-data files cause NOTE events. There will also be + UPDATE events from data reading. If no iso_rr_path is given then the whole loaded session is - compared with its MD5 sum. Be aware that this covers only one + compared with its MD5 sum. Be aware that this covers only one session and not the whole image if there are older sessions. - -check_md5_r severity iso_rr_path [***] Like -check_md5 but checking all data files underneath the given paths. Only mismatching data files will be reported. @@ -3783,83 +3669,79 @@ File: xorriso.info, Node: Restore, Next: Emulation, Prev: Verify, Up: Comman 9.19 osirrox ISO-to-disk restore commands ========================================= -Normally `xorriso' only writes to disk files which were given as stdio: +Normally 'xorriso' only writes to disk files which were given as stdio: pseudo-drives or as log files. But its alter ego osirrox is able to -extract file objects from ISO images and to create, overwrite, or -delete file objects on disk. +extract file objects from ISO images and to create, overwrite, or delete +file objects on disk. Disk file exclusions by -not_mgt, -not_leaf, -not_paths apply. If disk -file objects already exist then the settings of -overwrite and --reassure apply. But -overwrite "on" only triggers the behavior of --overwrite "nondir". I.e. directories cannot be deleted. +file objects already exist then the settings of -overwrite and -reassure +apply. But -overwrite "on" only triggers the behavior of -overwrite +"nondir". I.e. directories cannot be deleted. Access permissions of files in the ISO image do not restrict restoring. The directory permissions on disk have to allow rwx. -osirrox setting[:option:...] - Setting "off" disables disk filesystem manipulations. This is the + Setting "off" disables disk filesystem manipulations. This is the default unless the program was started with leafname "osirrox". Elsewise the capability to restore files can be enabled explicitly by -osirrox "on". It can be irrevocably disabled by -osirrox "banned". - The setting "blocked" is like "off". But it can only be revoked by - setting "unblock", which elsewise is like "on". This can be used + The setting "blocked" is like "off". But it can only be revoked by + setting "unblock", which elsewise is like "on". This can be used to curb command scripts which might use "on" undesiredly. To enable restoring of special files by "device_files" is potentially dangerous. The meaning of the number st_rdev (see man - 2 stat) depends much on the operating system. Best is to restore + 2 stat) depends much on the operating system. Best is to restore device files only to the same system from where they were copied. If not enabled, device files in the ISO image are ignored during restore operations. Due to a bug of previous versions, device files from previous - sessions might have been altered to major=0, minor=1. So this + sessions might have been altered to major=0, minor=1. So this combination does not get restored. - Option "concat_split_on" is default. It enables restoring of split - file directories as data files if the directory contains a - complete collection of -cut_out part files. With option - "concat_split_off" such directories are handled like any other ISO - image directory. - Option "auto_chmod_off" is default. If "auto_chmod_on" is set then + Option "concat_split_on" is default. It enables restoring of split + file directories as data files if the directory contains a complete + collection of -cut_out part files. With option "concat_split_off" + such directories are handled like any other ISO image directory. + Option "auto_chmod_off" is default. If "auto_chmod_on" is set then access restrictions for disk directories get circumvented if those - directories are owned by the effective user who runs `xorriso'. + directories are owned by the effective user who runs 'xorriso'. This happens by temporarily granting rwx permission to the owner. Option "sort_lba_on" may improve read performance with optical - drives. It allows to restore large numbers of hard links without - exhausting -temp_mem_limit. It does not preserve directory mtime + drives. It allows to restore large numbers of hard links without + exhausting -temp_mem_limit. It does not preserve directory mtime and it needs -osirrox option auto_chmod_on in order to extract - directories which offer no write permission. Default is + directories which offer no write permission. Default is "sort_lba_off". Option "o_excl_on" is the default unless the program was started - with leafname "osirrox". On GNU/Linux it tries to avoid using + with leafname "osirrox". On GNU/Linux it tries to avoid using drives which are mounted or in use by other libburn programs. Option "o_excl_off" allows on GNU/Linux to access such drives. Drives which get acquired while "o_excl_off" will refuse to get - blanked, formatted, written, or ejected. But be aware that even + blanked, formatted, written, or ejected. But be aware that even harmless inquiries can spoil ongoing burns of CD-R[W] and DVD-R[W]. - Option "strict_acl_off" is default. It tolerates on FreeBSD the - presence of directory "default" ACLs in the ISO image. With + + Option "strict_acl_off" is default. It tolerates on FreeBSD the + presence of directory "default" ACLs in the ISO image. With "strict_acl_on" these GNU/Linux ACLs cause on FreeBSD a FAILURE event during restore with -acl "on". - -extract iso_rr_path disk_path Copy the file objects at and underneath iso_rr_path to their corresponding addresses at and underneath disk_path. This is the inverse of -map or -update_r. If iso_rr_path is a directory and disk_path is an existing - directory then both trees will be merged. Directory attributes get + directory then both trees will be merged. Directory attributes get extracted only if the disk directory is newly created by the copy operation. Disk files get removed only if they are to be replaced by file objects from the ISO image. As many attributes as possible are copied together with restored file objects. - -extract_single iso_rr_path disk_path Like -extract, but if iso_rr_path is a directory then its sub tree gets not restored. - -extract_l iso_rr_prefix disk_prefix iso_rr_path [***] Perform -extract with each of the iso_rr_path parameters. disk_path will be composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix. - -extract_cut iso_rr_path byte_offset byte_count disk_path Copy a byte interval from a data file out of an ISO image into a newly created disk file. The main purpose for this is to allow @@ -3868,13 +3750,12 @@ The directory permissions on disk have to allow rwx. whole. If the data bytes of iso_rr_path are stored in the loaded ISO image, and no filter is applied, and byte_offset is a multiple of - 2048, then a special run of -check_media is performed. It may be + 2048, then a special run of -check_media is performed. It may be quicker and more rugged than the general reading method. - -cpx iso_rr_path [***] disk_path Copy single leaf file objects from the ISO image to the address - given by disk_path. If more then one iso_rr_path is given then - disk_path must be a directory or non-existent. In the latter case + given by disk_path. If more then one iso_rr_path is given then + disk_path must be a directory or non-existent. In the latter case it gets created and the extracted files get installed in it with the same leafnames. Missing directory components in disk_path will get created, if @@ -3882,63 +3763,57 @@ The directory permissions on disk have to allow rwx. Directories are allowed as iso_rr_path only with -osirrox "concat_split_on" and only if they actually represent a complete collection of -cut_out split file parts. - -cpax iso_rr_path [***] disk_path Like -cpx but restoring mtime, atime as in ISO image and trying to set ownership and group as in ISO image. - -cp_rx iso_rr_path [***] disk_path Like -cpx but also extracting whole directory trees from the ISO image. - The resulting disk paths are determined as with shell command cp - -r : If disk_path is an existing directory then the trees will be + The resulting disk paths are determined as with shell command cp -r + : If disk_path is an existing directory then the trees will be inserted or merged underneath this directory and will keep their - leaf names. The ISO directory "/" has no leaf name and thus gets + leaf names. The ISO directory "/" has no leaf name and thus gets mapped directly to disk_path. - -cp_rax iso_rr_path [***] disk_path Like -cp_rx but restoring mtime, atime as in ISO image and trying to set ownership and group as in ISO image. - -paste_in iso_rr_path disk_path byte_offset byte_count Read the content of a ISO data file and write it into a data file - on disk beginning at the byte_offset. Write at most byte_count + on disk beginning at the byte_offset. Write at most byte_count bytes. This is the inverse of command -cut_out. - -concat mode [target | lim prog [args [...]] lim] iso_rr_path [***] Copy the data content of one or more data files of the ISO image - into a disk file object, into a file descriptor, or start a - program and copy the data into its standard input. The latter is - subject to the security restrictions for external filters. - Modes *overwrite* and *append* write into the target which is - given by the second parameter. This may be the path to a disk file + into a disk file object, into a file descriptor, or start a program + and copy the data into its standard input. The latter is subject + to the security restrictions for external filters. + Modes *overwrite* and *append* write into the target which is given + by the second parameter. This may be the path to a disk file object, or "-" which means standard output, or a text of the form /dev/fd/number, where number is an open file descriptor (e.g. standard error is /dev/fd/2). An existing target file is not - removed before writing begins. If it is not able to take content + removed before writing begins. If it is not able to take content data, then this command fails. Mode overwrite truncates regular data files to 0 size before writing into them. Example: -concat append /home/me/accumulated_text /my/iso/text - Mode *pipe* expects as second parameter a delimiter word which - shall mark the end of the program argument list. The third - argument is the disk_path to the program. It must contain at least - one '/'. $PATH is not applied. Further parameters up to the + shall mark the end of the program argument list. The third + argument is the disk_path to the program. It must contain at least + one '/'. $PATH is not applied. Further parameters up to the announced delimiter word are used as arguments with the program - start. Example: + start. Example: -iso_rr_pattern on \ -concat pipe + /usr/bin/wc + "/my/iso/files*" - The further parameters in all modes are the iso_rr_paths of data files. Their content gets concatenated in the copy. - -mount drive entity id path - Produce the same line as -mount_cmd and then execute it as - external program run after giving up the depicted drive. See also - -mount_opts. This demands -osirrox to be enabled and normally - will succeed only for the superuser. For safety reasons the mount + Produce the same line as -mount_cmd and then execute it as external + program run after giving up the depicted drive. See also + -mount_opts. This demands -osirrox to be enabled and normally will + succeed only for the superuser. For safety reasons the mount program is only executed if it is reachable as /bin/mount or /sbin/mount. @@ -3949,12 +3824,13 @@ File: xorriso.info, Node: Emulation, Next: Scripting, Prev: Restore, Up: Com ================================================ Writing of ISO 9660 on CD is traditionally done by program mkisofs as -ISO 9660 image producer and cdrecord as burn program. `xorriso' does +ISO 9660 image producer and cdrecord as burn program. 'xorriso' does not strive for their comprehensive emulation. Nevertheless it is ready to perform some of its core tasks under control of commands which in said programs trigger comparable actions. -as personality option [options] -- + Perform the variable length option list as sparse emulation of the program depicted by the personality word. @@ -3966,33 +3842,33 @@ said programs trigger comparable actions. -c, -boot-info-table, -boot-load-size, -input-charset, -G, -output-charset, -U, -hide, -hide-joliet, -hide-list, -hide-joliet-list, file paths and pathspecs. A lot of options are - not supported and lead to failure of the mkisofs emulation. Some + not supported and lead to failure of the mkisofs emulation. Some are ignored, but better do not rely on this tolerance. The supported options are documented in detail in xorrisofs.info - and in man xorrisofs. The description here is focused on the effect - of mkisofs emulation in the context of a `xorriso' run. + and in man xorrisofs. The description here is focused on the + effect of mkisofs emulation in the context of a 'xorriso' run. Other than with the "cdrecord" personality there is no automatic - -commit at the end of a "mkisofs" option list. Verbosity settings - -v (= "UPDATE") and -quiet (= "SORRY") persist. The output file + -commit at the end of a "mkisofs" option list. Verbosity settings + -v (= "UPDATE") and -quiet (= "SORRY") persist. The output file persists until things happen like -commit, -rollback, -dev, or end - of `xorriso'. + of 'xorriso'. Options which affect all file objects in the ISO image, like -r or -dir-mode, will be applied only to files which are present in the - ISO image when the command -as ends. If you use several -as - mkisofs commands in the same run, then consider to put such - options into the last -as command. + ISO image when the command -as ends. If you use several -as + mkisofs commands in the same run, then consider to put such options + into the last -as command. If files are added to the image, then -pacifier gets set to "mkisofs" and -stdio_sync is defaulted to "off" if no such setting was made yet. - -graft-points is equivalent to -pathspecs on. Note that pathspecs - without "=" are interpreted differently than with `xorriso' - command -add. Directories get merged with the root directory of - the ISO image, other filetypes get mapped into that root directory. + -graft-points is equivalent to -pathspecs on. Note that pathspecs + without "=" are interpreted differently than with 'xorriso' command + -add. Directories get merged with the root directory of the ISO + image, other filetypes get mapped into that root directory. If pathspecs are given and if no output file was chosen before or during the "mkisofs" option list, then standard output (-outdev - "-") will get into effect. If -o points to a regular file, then - it will be truncated to 0 bytes when finally writing begins. This - truncation does not happen if the drive is chosen by `xorriso' + "-") will get into effect. If -o points to a regular file, then it + will be truncated to 0 bytes when finally writing begins. This + truncation does not happen if the drive is chosen by 'xorriso' commands before -as mkisofs or after its list delimiter. Directories and symbolic links are no valid -o targets. Writing to stdout is possible only if -as "mkisofs" was among the @@ -4000,40 +3876,41 @@ said programs trigger comparable actions. drive to standard output. -print-size inhibits automatic image production at program end. This ban is lifted only if the pending image changes get discarded. + Padding is counted as part of the ISO image if not option -emul-toc is given. If no -iso-level is given, then level 1 is chosen when the first - file or directory is added to the image. At the same occasion + file or directory is added to the image. At the same occasion directory names get allowed to violate the standard by -compliance option allow_dir_id_ext. This may be avoided by option -disallow_dir_id_ext. - Option -root is supported. Option -old-root is implemented by - `xorriso' commands -mkdir, -cp_clone, -find update_merge, and - -find rm_merge. -root and -old-root set command -disk_dev_ino to + Option -root is supported. Option -old-root is implemented by + 'xorriso' commands -mkdir, -cp_clone, -find update_merge, and -find + rm_merge. -root and -old-root set command -disk_dev_ino to "ino_only" and -md5 to "on", by default. -disk_dev_ino can be set - to "off" by --old-root-no-ino resp. to "on" by --old-root-devno . + to "off" by --old-root-no-ino or to "on" by --old-root-devno . -md5 can be set to "off" by --old-root-no-md5 . - Not original mkisofs options are --quoted_path_list , --hardlinks - , --acl , --xattr , --md5 , --stdio_sync . They work like the - `xorriso' commands with the same name and hardcoded parameter - "on", e.g. -acl "on". Explicit parameters are expected by - --stdio_sync and --scdbackup_tag. + Not original mkisofs options are --quoted_path_list , --hardlinks , + --acl , --xattr , --md5 , --stdio_sync . They work like the + 'xorriso' commands with the same name and hardcoded parameter "on", + e.g. -acl "on". Explicit parameters are expected by --stdio_sync + and --scdbackup_tag. The capability to preserve multi-session history on overwriteable - media gets disabled by default. It can be enabled by using - --emul-toc with the first session. See -compliance no_emul_toc. + media gets disabled by default. It can be enabled by using + --emul-toc with the first session. See -compliance no_emul_toc. --sort-weight gets as parameters a number and an iso_rr_path. The number becomes the LBA sorting weight of regular file iso_rr_path or of all regular files underneath directory iso_rr_path. (See -find -exec sort_weight). Adopted from grub-mkisofs are --protective-msdos-label (see -boot_image grub partition_table=on) and - --modification-date=YYYYMMDDhhmmsscc (see -volume_date uuid). For + --modification-date=YYYYMMDDhhmmsscc (see -volume_date uuid). For EFI bootable GRUB boot images use --efi-boot. It performs -boot_image grub efi_path= surrounded by two -boot_image "any" "next". Alternative option -e from Fedora genisoimage sets bin_path and platform_id for EFI, but performs no "next". For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE, - where FILE is one of the Syslinux files mbr/isohdp[fp]x*.bin . Use + where FILE is one of the Syslinux files mbr/isohdp[fp]x*.bin . Use this instead of -G to apply the effect of -boot_image isolinux partition_table=on. --boot-catalog-hide is -boot_image any cat_hidden=on. @@ -4045,35 +3922,35 @@ said programs trigger comparable actions. -untranslated_name_len number is -compliance untranslated_name_len=number. --old-empty is -compliance old_empty. - The options of genisoimage Jigdo Template Extraction are - recognized and performed via `xorriso' command -jigdo. See the - "Alias:" names there for the meaning of the genisoimage options. + The options of genisoimage Jigdo Template Extraction are recognized + and performed via 'xorriso' command -jigdo. See the "Alias:" names + there for the meaning of the genisoimage options. Personalities "*xorrisofs*", "*genisoimage*", and "*genisofs*" are aliases for "mkisofs". - If `xorriso' is started with one of the leafnames "xorrisofs", + If 'xorriso' is started with one of the leafnames "xorrisofs", "genisofs", "mkisofs", or "genisoimage", then it performs -read_mkisofsrc and prepends -as "genisofs" to the program - arguments. I.e. all arguments will be interpreted mkisofs style - until "--" is encountered. From then on, arguments are - interpreted as `xorriso' commands. + arguments. I.e. all arguments will be interpreted mkisofs style + until "--" is encountered. From then on, arguments are interpreted + as 'xorriso' commands. --no_rc as first argument of such a program start prevents - interpretation of startup files. See section FILES below. + interpretation of startup files. See section FILES below. Personality "*cdrecord*" accepts the options listed with: -as cdrecord -help -- - Among them: -v, dev=, speed=, blank=, fs=, -eject, -atip, - padsize=, tsize=, -isosize, -multi, -msinfo, - --grow_overwriteable_iso, write_start_address=, track source file - path or "-" for standard input as track source. + Among them: -v, dev=, speed=, blank=, fs=, -eject, -atip, padsize=, + tsize=, -isosize, -multi, -msinfo, --grow_overwriteable_iso, + write_start_address=, track source file path or "-" for standard + input as track source. It ignores most other options of cdrecord and cdrskin but refuses - on -audio, -scanbus, and on blanking modes unknown to `xorriso'. + on -audio, -scanbus, and on blanking modes unknown to 'xorriso'. The scope is only a single data track per session to be written to - blank, overwriteable, or appendable media. The medium gets closed + blank, overwriteable, or appendable media. The medium gets closed if closing is applicable and not option -multi is present. If an input drive was acquired, then it is given up. This is only allowed if no image changes are pending. - dev= must be given as `xorriso' device address. Addresses like + dev= must be given as 'xorriso' device address. Addresses like 0,0,0 or ATA:1,1,0 are not supported. If a track source is given, then an automatic -commit happens at the end of the "cdrecord" option list. @@ -4081,54 +3958,52 @@ said programs trigger comparable actions. overwriteable media. To enable emulation of a TOC, the first session needs -C 0,32 with -as mkisofs (but no -M) and --grow_overwriteable_iso write_start_address=32s with -as cdrecord. + A much more elaborate libburn based cdrecord emulator is the program cdrskin. Personalites "*xorrecord*", "*wodim*", and "*cdrskin*" are aliases for "cdrecord". - If `xorriso' is started with one of the leafnames "xorrecord", + If 'xorriso' is started with one of the leafnames "xorrecord", "cdrskin", "cdrecord", or "wodim", then it automatically prepends - -as "cdrskin" to the program arguments. I.e. all arguments will be - interpreted cdrecord style until "--" is encountered. From then - on, arguments are interpreted as `xorriso' commands. + -as "cdrskin" to the program arguments. I.e. all arguments will + be interpreted cdrecord style until "--" is encountered. From then + on, arguments are interpreted as 'xorriso' commands. --no_rc as first argument of such a program start prevents - interpretation of `xorriso' startup files. See section FILES + interpretation of 'xorriso' startup files. See section FILES below. - -read_mkisofsrc - Try one by one to open for reading: ./.mkisofsrc , $MKISOFSRC , + Try one by one to open for reading: ./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc On success interpret the file content as of man mkisofs - CONFIGURATION, and end this command. Do not try further files. - The last address is used only if start argument 0 has a - non-trivial dirname. + CONFIGURATION, and end this command. Do not try further files. + The last address is used only if start argument 0 has a non-trivial + dirname. The reader currently interprets the following NAME=VALUE pairs: APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) , VOLI (-volid) , VOLS (-volset_id) Any other lines will be silently ignored. - -pacifier behavior_code Control behavior of UPDATE pacifiers during write operations. The following behavior codes are defined: "xorriso" is the default format: - Writing: sector XXXXX of YYYYYY [fifo active, nn% fill] + Writing: sector XXXXX of YYYYYY [fifo active, nn% fill] "cdrecord" looks like: X of Y MB written (fifo nn%) [buf mmm%] "mkisofs" nn% done, estimate finish Tue Jul 15 20:13:28 2008 The frequency of the messages can be adjusted by "interval=number" - where number gives the seconds between two messages. Permissible + where number gives the seconds between two messages. Permissible settings are 0.1 to 60.0. - -scdbackup_tag list_path record_name Set the parameter "name" for a scdbackup checksum record. It will be appended in an scdbackup checksum tag to the -md5 session tag if - the image starts at LBA 0. This is the case if it gets written as + the image starts at LBA 0. This is the case if it gets written as first session onto a sequential medium, or piped into a program, named pipe or character device. If list_path is not empty then the record will also be appended to the data file given by this path. - Program scdbackup_verify will recognize and verify tag resp. + Program scdbackup_verify will recognize and verify tag and file record.  @@ -4138,28 +4013,26 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co =================================================== -no_rc - Only if used as first program argument this command prevents - reading and interpretation of startup files. See section FILES - below. + Only if used as first program argument this command prevents + reading and interpretation of startup files. See section FILES + below. -options_from_file fileaddress Read quoted input from fileaddress and execute it like dialog lines. Empty lines and lines which begin by # are ignored. - Normally one line should hold one `xorriso' command and all its + Normally one line should hold one 'xorriso' command and all its parameters. Nevertheless lines may be concatenated by a trailing backslash. See also section "Command processing", paragraph "Quoted input". - -help - Print helptext. + Print helptext. -version Print program name and version, component versions, license. - -list_extras code Tell whether certain extra features were enabled at compile time. Code "all" lists all features and a headline. Other codes pick a - single feature. Code "codes" lists them. They share names with + single feature. Code "codes" lists them. They share names with related commands (see also there): "acl" tells whether xorriso has an adapter for local filesystems ACLs. @@ -4176,43 +4049,38 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co mode. -history textline Copy textline into libreadline history. - -status mode|filter - Print the current settings of `xorriso'. Modes: - short... print only important or altered settings - long ... print all settings including defaults - long_history like long plus history lines + Print the current settings of 'xorriso'. Modes: + short... print only important or altered settings + long ... print all settings including defaults + long_history like long plus history lines Filters begin with '-' and are compared literally against the - output lines of -status:long_history. A line is put out only if - its start matches the filter text. No wildcards. - + output lines of -status:long_history. A line is put out only if + its start matches the filter text. No wildcards. -status_history_max number Set maximum number of history lines to be reported with -status "long_history". - -list_delimiter word Set the list delimiter to be used instead of "--". It has to be a single word, must not be empty, not longer than 80 characters, and must not contain quotation marks. For brevity the list delimiter is referred as "--" throughout this text. - -sh_style_result "on"|"off" Make the result output of some filesystem inspection commands look - more like the output of equivalent shell commands. The most + more like the output of equivalent shell commands. The most important effect is to prevent the wrapping of file addresses into - quotation marks with commands -pwd -pwdx -ls -lsd -lsl -lsdl - -lsx -lsdx -lslx -lsdlx -du -dus -dux -dusx -findx -find + quotation marks with commands -pwd -pwdx -ls -lsd -lsl -lsdl -lsx + -lsdx -lslx -lsdlx -du -dus -dux -dusx -findx -find This will make ambigous the representation of file names which - contain newline characters. On the other hand it should facilitate + contain newline characters. On the other hand it should facilitate integration of xorriso into shell scripts which already use the corresponding shell commands. - -backslash_codes "on"|"off"|mode[:mode] - Enable or disable the interpretation of symbolic representations - of special characters with quoted input, or with program - arguments, or with program text output. If enabled the following - translations apply: + Enable or disable the interpretation of symbolic representations of + special characters with quoted input, or with program arguments, or + with program text output. If enabled the following translations + apply: \a=bell(007) \b=backspace(010) \e=Escape(033) \f=formfeed(014) \n=linefeed(012) \r=carriage_return(015) \t=tab(011) \v=vtab(013) \\=backslash(134) \[0-7][0-7][0-7]=octal_code @@ -4223,8 +4091,9 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co "with_quoted_input" translates inside and outside quotes. With the start program arguments there is mode: "with_program_arguments" translates program arguments. - Mode "encode_output" encodes output characters. It combines - "encode_results" with "encode_infos". Inside single or double + + Mode "encode_output" encodes output characters. It combines + "encode_results" with "encode_infos". Inside single or double quotation marks encoding applies to 8-bit characters octal 001 to 037 , 177 to 377 and to backslash(134). Outside quotation marks some harmless ASCII control characters stay unencoded: bell(007), @@ -4232,77 +4101,66 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co carriage_return(015). Mode "off" is default and disables any translation. Mode "on" is "with_quoted_input:with_program_arguments:encode_output". - -temp_mem_limit number["k"|"m"] Set the maximum size of temporary memory to be used for image - dependent buffering. Currently this applies to pattern expansion, + dependent buffering. Currently this applies to pattern expansion, LBA sorting, restoring of hard links. Default is 16m = 16 MiB, minimum 64k = 64 kiB, maximum 1024m = 1 GiB. - --print text +-print text Print a text line to the result channel which is by default stdout. - --print_info text +-print_info text Print a text line to the info channel which is by default stderr. - --print_mark text +-print_mark text Print a text line to the mark channel which is by default directed - to both, result and info channel. An empty text will cause no + to both, result and info channel. An empty text will cause no output at all. - -prompt text Show text at beginning of output line and wait for the user to hit - the Enter key resp. to send a line via stdin. - + the Enter key or to send a line via stdin. -sleep seconds Wait for the given number of seconds before perfoming the next command. Expect coarse granularity no better than 1/100 seconds. - -errfile_log mode path|channel + If problem events are related to input files from the filesystem, - then their disk_paths can be logged to a file or to output - channels R or I. - Mode can either be "plain" or "marked". The latter causes marker + then their disk_paths can be logged to a file or to output channels + R or I. + Mode can either be "plain" or "marked". The latter causes marker lines which give the time of log start, burn session start, burn - session end, log end or program end. In mode "plain", only the + session end, log end or program end. In mode "plain", only the file paths are logged. If path is "-" or "-R" then the log is directed to the result - channel. Path "-I" directs it to the info message channel. Any + channel. Path "-I" directs it to the info message channel. Any text that does not begin with "-" is used as path for a file to append the log lines. - Problematic files can be recorded multiple times during one - program run. If the program run aborts then the list might not be - complete because some input files might not have been processed at - all. + Problematic files can be recorded multiple times during one program + run. If the program run aborts then the list might not be complete + because some input files might not have been processed at all. The errfile paths are transported as messages of very low severity - "ERRFILE". This transport becomes visible with -report_about - "ALL". - + "ERRFILE". This transport becomes visible with -report_about "ALL". -session_log path If path is not empty it gives the address of a plain text file - where a log record gets appended after each session. This log can + where a log record gets appended after each session. This log can be used to determine the start_lba of a session for mount options - -o sbsector= resp. -s from date or volume ID. + -o sbsector= (on GNU/Linux) or -s (on FreeBSD) from date or volume + ID. Record format is: timestamp start_lba size volume-id - The first three items are single words, the rest of the line is - the volume ID. - + The first three items are single words, the rest of the line is the + volume ID. -scsi_log "on"|"off" Mode "on" enables very verbous logging of SCSI commands and drive - replies. Logging messages get printed to stderr, not to any of - the `xorriso' output channels. + replies. Logging messages get printed to stderr, not to any of the + 'xorriso' output channels. A special property of this command is that the first -scsi_log setting among the start arguments is in effect already when the - first operations of `xorriso' begin. Only "-scsi_log" with dash + first operations of 'xorriso' begin. Only "-scsi_log" with dash "-" is recognized that way. - -end + End program after writing pending changes. - -rollback_end - Discard pending changes. End program immediately. - + Discard pending changes. End program immediately. # any text Only in dialog or file execution mode, and only as first non-whitespace in line: Do not execute the line but store it in @@ -4326,22 +4184,19 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co After another colon and a blank follows the payload text. Example: I:1: enter option and parameters : - -logfile channel fileaddress - Copy output of a channel to the given file. Channel may be one of: - "." for all channels, "I" for info messages, "R" for result lines, + Copy output of a channel to the given file. Channel may be one of: + "." for all channels, "I" for info messages, "R" for result lines, "M" for -mark texts. - -mark text If text is not empty it will get put out on "M" channel each time - `xorriso' is ready for the next dialog line or before `xorriso' + 'xorriso' is ready for the next dialog line or before 'xorriso' performs a command that was entered to the pager prompt. - -msg_op opcode parameter_text This command shall facilitate extraction of particular information - from the message output of other commands. It gives access to the + from the message output of other commands. It gives access to the C API function Xorriso_parse_line() and to the message sieve that - is provided by the C API. Please refer to their descriptions in + is provided by the C API. Please refer to their descriptions in file xorriso.h. Further it helps to interpret the severity codes of info messages. Intended users are frontend programs which operate xorriso in @@ -4351,25 +4206,25 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co The following opcodes are defined: *start_sieve* Install the message sieve as of Xorriso_sieve_big() and start - watching program messages. The parameter_text has no meaning. + watching program messages. The parameter_text has no meaning. *show_sieve* - Show a list of filter rule names. The parameter_text has no + Show a list of filter rule names. The parameter_text has no meaning. The list begins by a line with the return value of - Xorriso_sieve_get_result() with flag bit3. If this value is larger - than 0, then the next line tells the number of names. The + Xorriso_sieve_get_result() with flag bit3. If this value is larger + than 0, then the next line tells the number of names. The following lines show one name each. *read_sieve* Use the parameter_text as name of a filter rule and inquire its next recorded result. See Xorriso_sieve_big() for a list of names and reply strings. - The recorded strings are put out on result channel. They get + The recorded strings are put out on result channel. They get wrapped into lines which tell their structure. The first line tells the return value of Xorriso_sieve_get_result(). The next - line tells the number of strings. Each string begins by a line that - tells the number of lines of the string. Then follow these lines. - They are to be concatenated with a newline character inbetween - each of them. Finally the number of still available recorded - results of the given name is put out. + line tells the number of strings. Each string begins by a line + that tells the number of lines of the string. Then follow these + lines. They are to be concatenated with a newline character + inbetween each of them. Finally the number of still available + recorded results of the given name is put out. *clear_sieve* Dispose all recorded strings and continue watching program messages. The parameter_text has no meaning. @@ -4381,94 +4236,94 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co Xorriso_parse_line(). The parameter_text word shall consist of several words separated by blanks. It will be necessary to use both kinds of quotation marks. - E.g. "'ISO session :' " 0 0 1" + E.g. "'ISO session :' " 0 0 1" The five parameter words are: prefix, separators, max_words, flag, number_of_input_lines. The former four are handed over to - Xorriso_parse_line(). The number of input lines minus one tells + Xorriso_parse_line(). The number of input lines minus one tells xorriso how many newline characters are part of the input text. The announced number of text lines will be read from dialog input, concatenated with a newline character inbetween each of them, and submitted to Xorriso_parse_line() as parameter line. Note that newlines outside of quotation marks are interpreted as separators if the separators parameter is empty. - The parsed strings are put out on result channel. They get wrapped + The parsed strings are put out on result channel. They get wrapped into lines which tell their structure. The first line tells the return value of Xorriso_parse_line(). The next line tells the - number of strings. Each string begins by a line that tells the - number of lines of the string. Then follow these lines. They are to - be concatenated with a newline character inbetween each of them. + number of strings. Each string begins by a line that tells the + number of lines of the string. Then follow these lines. They are + to be concatenated with a newline character inbetween each of them. + If -backslash_codes "encode_output" is enabled, then the strings - undergo encoding as if they were enclosed in quotes. Escpecially + undergo encoding as if they were enclosed in quotes. Escpecially each string will be put out as a single result line. *parse_bulk* Like "parse", but with the fifth parameter word being - number_of_input_texts rather than number_of_input_lines. Each + number_of_input_texts rather than number_of_input_lines. Each input text has to be preceded by a line that tells number_of_input_lines as with "parse". Then come the announced number of text lines. All input texts will be read before printing of result lines - begins. This consumes memory in xorriso. So the - number_of_input_texts should not be extremely high. On the other + begins. This consumes memory in xorriso. So the + number_of_input_texts should not be extremely high. On the other hand, large transactions of command, input texts, and results are desirable if connection latency is an issue. *parse_silently* - Like "parse" but not issueing a prompting message. Confusing to + Like "parse" but not issueing a prompting message. Confusing to humans. *parse_bulk_silently* - Like "parse_bulk" but not issueing a prompting message. Confusing + Like "parse_bulk" but not issueing a prompting message. Confusing to humans. *compare_sev* The parameter_text should contain two comma separated severity - texts as issued by this program. Like "SORRY,UPDATE". See also + texts as issued by this program. Like "SORRY,UPDATE". See also paragraph "Exception processing". These two severity texts get compared and a number gets printed to - the result channel. This number is 0 if both severities are equal. - It is -1 if the first severity is lower than the second one. It - is 1 is the first severity is higher than the second one. + the result channel. This number is 0 if both severities are equal. + It is -1 if the first severity is lower than the second one. It is + 1 is the first severity is higher than the second one. Above example "SORRY,UPDATE" will yield 1. *list_sev* Print to the result channel a blank separated list of all severity names. Sorted from low to high severity. - -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr Temporarily replace standard input, standard output and standard - error by named pipes. Enter dialog mode without readline. + error by named pipes. Enter dialog mode without readline. Defined modes are: "cleanup" removes the submitted pipe files when the loop ends. - "keep" does not delete them. This is the default. + "keep" does not delete them. This is the default. "buffered" reads all lines from the input pipe until EOF before it opens the output pipes and processes the input lines. "direct" opens the output pipes after the first input line was - read. Each line is executed directly after it is read. This is + read. Each line is executed directly after it is read. This is the default. The other three parameters must either be disk paths to existing named pipes, or be "-" to leave the according standard i/o channel unreplaced. xorriso will open the stdin pipe, read and execute dialog lines - from it until the sender closes the pipe. The output pipes get - opened depending on mode "buffered" resp. "direct". After all - lines are executed, xorriso will close its side of the pipes and - enter a new cycle of opening, reading and executing. + from it until the sender closes the pipe. The output pipes get + opened depending on mode "buffered" or "direct". After all lines + are executed, xorriso will close its side of the pipes and enter a + new cycle of opening, reading and executing. If an input line consists only of the word "end_named_pipe_loop" then -named_pipe_loop will end and further xorriso commands may be executed from other sources. - -launch_frontend program [arguments ...] -- - Start the program that is given as first parameter. Submit the - other parameters as program arguments. Enable xorriso dialog mode. - Two nameless pipe objects are created. xorriso standard input gets + Start the program that is given as first parameter. Submit the + other parameters as program arguments. Enable xorriso dialog mode. + + Two nameless pipe objects are created. xorriso standard input gets connected to the standard output of the started program. xorriso standard output and standard error get connected to the standard input of that program. - xorriso will abort when the started program ends or if it cannot - be started at all. In both cases it will return a non-zero exit + xorriso will abort when the started program ends or if it cannot be + started at all. In both cases it will return a non-zero exit value. The exit value will be zero if the frontend sends -end or -rollback_end before ending itself. - This command may be totaly banned at compile time. It is banned by + This command may be totaly banned at compile time. It is banned by default if xorriso runs under setuid permissions. - The program name will not be searched in the $PATH directories. - To make this clear, it must contain at least one /-character. - Best is an absolute path. + The program name will not be searched in the $PATH directories. To + make this clear, it must contain at least one /-character. Best is + an absolute path. Example: xorriso -launch_frontend "$(which xorriso-tcltk)" -stdio - The frontend program should first send via its standard output: @@ -4477,7 +4332,7 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co messages. Best is to increment the -mark number after each sent command sequence and then to wait for the new number to show up in a mark message: - ...some...commands... -mark + ...some...commands... -mark Further are advised: -report_about UPDATE -abort_on NEVER -iso_rr_pattern off -disk_pattern off @@ -4487,10 +4342,8 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co no command parameters are submitted or if program is an empty text, then no program will be started but nevertheless -launch_frontend will be irrevocably disabled. - -prog text Use text as name of this program in subsequent messages - -prog_help text Use text as name of this program and perform -help. @@ -4512,7 +4365,7 @@ File: xorriso.info, Node: Examples, Next: Files, Prev: Commands, Up: Top * ExPseudo:: Operate on storage facilities other than optical drives * ExCdrecord:: Burn an existing ISO image file to medium * ExMkisofs:: Perform multi-session runs as of cdrtools traditions -* ExGrowisofs:: Let `xorriso' work underneath growisofs +* ExGrowisofs:: Let 'xorriso' work underneath growisofs * ExException:: Adjust thresholds for verbosity, exit value and program abort * ExTime:: Examples of input timestrings * ExIncBackup:: Incremental backup of a few directory trees @@ -4526,14 +4379,14 @@ File: xorriso.info, Node: ExDevices, Next: ExCreate, Prev: Frontend, Up: Exa ============================================== On Linux, FreeBSD or NetBSD consider to give rw-permissions to those -users or groups which shall be able to use the drives with `xorriso'. -On Solaris use pfexec. Consider to restrict privileges of `xorriso' to +users or groups which shall be able to use the drives with 'xorriso'. +On Solaris use pfexec. Consider to restrict privileges of 'xorriso' to "base,sys_devices" and to give r-permission to user or group. -$ xorriso -device_links -1 -dev '/dev/cdrom1' rwrw-- : 'TSSTcorp' 'DVD-ROM SH-D162C -1 -dev '/dev/cdrw' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S223B' -2 -dev '/dev/cdrw3' rwrw-- : 'HL-DT-ST' 'BDDVDRW_GGC-H20L' + $ xorriso -device_links +1 -dev '/dev/cdrom1' rwrw-- : 'TSSTcorp' 'DVD-ROM SH-D162C +1 -dev '/dev/cdrw' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S223B' +2 -dev '/dev/cdrw3' rwrw-- : 'HL-DT-ST' 'BDDVDRW_GGC-H20L'  File: xorriso.info, Node: ExCreate, Next: ExDialog, Prev: ExDevices, Up: Examples @@ -4547,16 +4400,17 @@ the image with the files from hard disk directories /home/me/sounds and Because no -dialog "on" is given, the program will then end by writing the session to the medium. -$ xorriso -outdev /dev/sr2 \ + $ xorriso -outdev /dev/sr2 \ -blank as_needed \ -map /home/me/sounds /sounds \ -map /home/me/pictures /pictures -The ISO image may be shaped in a more elaborate way like the following: -Omit some unwanted stuff by removing it from the image directory tree. -Reintroduce some wanted stuff. -$ cd /home/me + The ISO image may be shaped in a more elaborate way like the +following: Omit some unwanted stuff by removing it from the image +directory tree. Reintroduce some wanted stuff. + + $ cd /home/me $ xorriso -outdev /dev/sr2 \ -blank as_needed \ -map /home/me/sounds /sounds \ @@ -4569,9 +4423,9 @@ $ xorriso -outdev /dev/sr2 \ -cd / \ -add pictures/confidential/work* -- -Note that '/pictures/*private*' is a pattern for iso_rr_paths while + Note that '/pictures/*private*' is a pattern for iso_rr_paths while pictures/confidential/work* gets expanded by the shell with addresses -from the hard disk. Commands -add and -map have different parameter +from the hard disk. Commands -add and -map have different parameter rules but finally the same effect: they put files into the image.  @@ -4580,17 +4434,17 @@ File: xorriso.info, Node: ExDialog, Next: ExGrowing, Prev: ExCreate, Up: Exa 10.3 A dialog session doing about the same as the previous example ================================================================== -Some settings are already given as start argument. The other activities -are done as dialog input. The pager gets set to 20 lines of 80 +Some settings are already given as start argument. The other activities +are done as dialog input. The pager gets set to 20 lines of 80 characters. The drive is acquired by command -dev rather than -outdev in order to -see the message about its current content. By command -blank this +see the message about its current content. By command -blank this content is made ready for being overwritten and the loaded ISO image is made empty. In order to be able to eject the medium, the session needs to be committed explicitly. -$ xorriso -dialog on -page 20 80 -disk_pattern on + $ xorriso -dialog on -page 20 80 -disk_pattern on enter option and arguments : -dev /dev/sr2 @@ -4622,14 +4476,14 @@ File: xorriso.info, Node: ExGrowing, Next: ExModifying, Prev: ExDialog, Up: 10.4 Manipulate an existing ISO image on the same medium ======================================================== -Load image from drive. Remove (i.e. hide) directory /sounds and its +Load image from drive. Remove (i.e. hide) directory /sounds and its subordinates. Rename directory /pictures/confidential to /pictures/restricted. Change access permissions of directory /pictures/restricted. Add new directory trees /sounds and /movies. Burn to the same medium, check whether the tree can be loaded, and eject. -$ xorriso -dev /dev/sr2 \ + $ xorriso -dev /dev/sr2 \ -rm_r /sounds -- \ -mv \ /pictures/confidential \ @@ -4646,11 +4500,11 @@ File: xorriso.info, Node: ExModifying, Next: ExBootable, Prev: ExGrowing, Up 10.5 Copy modified ISO image from one medium to another ======================================================= -Load image from input drive. Do the same manipulations as in the -previous example. Acquire output drive and blank it. Burn the modified +Load image from input drive. Do the same manipulations as in the +previous example. Acquire output drive and blank it. Burn the modified image as first and only session to the output drive. -$ xorriso -indev /dev/sr2 \ + $ xorriso -indev /dev/sr2 \ -rm_r /sounds -- \ ... -outdev /dev/sr0 -blank as_needed \ @@ -4664,9 +4518,9 @@ File: xorriso.info, Node: ExBootable, Next: ExCharset, Prev: ExModifying, Up The user has already created a suitable file tree on disk and copied the ISOLINUX files into subdirectory ./boot/isolinux of that tree. Now -`xorriso' can burn an El Torito bootable medium: +'xorriso' can burn an El Torito bootable medium: -$ xorriso -outdev /dev/sr0 -blank as_needed \ + $ xorriso -outdev /dev/sr0 -blank as_needed \ -map /home/me/ISOLINUX_prepared_tree / \ -boot_image isolinux dir=/boot/isolinux @@ -4677,7 +4531,7 @@ File: xorriso.info, Node: ExCharset, Next: ExPseudo, Prev: ExBootable, Up: E ============================================================ This example assumes that the existing ISO image was written with -character set ISO-8859-1 but that the readers expected UTF-8. Now a new +character set ISO-8859-1 but that the readers expected UTF-8. Now a new session gets added with converted file names. Command -changes_pending "yes" enables writing despite the lack of any manipulation command. In order to avoid any weaknesses of the local character set, this @@ -4685,7 +4539,7 @@ command pretends that it uses already the final target set UTF-8. Therefore strange file names may appear in messages, which will be made terminal-safe by command -backslash_codes. -$ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \ + $ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \ -out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \ -changes_pending yes -commit -eject all @@ -4698,27 +4552,27 @@ File: xorriso.info, Node: ExPseudo, Next: ExCdrecord, Prev: ExCharset, Up: E Full read-write operation is possible with regular files and block devices: -$ xorriso -dev /tmp/regular_file ... + $ xorriso -dev /tmp/regular_file ... -Paths underneath /dev normally need prefix "stdio:" + Paths underneath /dev normally need prefix "stdio:" -$ xorriso -dev stdio:/dev/sdb ... + $ xorriso -dev stdio:/dev/sdb ... -If /dev/sdb is to be used frequently and /dev/sda is the system disk, -then consider to place the following lines in a `xorriso' Startup File. -They allow to use /dev/sdb without prefix and protect disk /dev/sda -from `xorriso': + If /dev/sdb is to be used frequently and /dev/sda is the system disk, +then consider to place the following lines in a 'xorriso' Startup File. +They allow to use /dev/sdb without prefix and protect disk /dev/sda from +'xorriso': --drive_class banned /dev/sda* + -drive_class banned /dev/sda* -drive_class harmless /dev/sdb -Other writeable file types are supported write-only: + Other writeable file types are supported write-only: -$ xorriso -outdev /tmp/named_pipe ... + $ xorriso -outdev /tmp/named_pipe ... -Among the write-only drives is standard output: + Among the write-only drives is standard output: -$ xorriso -outdev - \ + $ xorriso -outdev - \ ... | gzip >image.iso.gz @@ -4730,7 +4584,7 @@ File: xorriso.info, Node: ExCdrecord, Next: ExMkisofs, Prev: ExPseudo, Up: E Actually this works with any kind of data, not only ISO images: -$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed image.iso + $ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed image.iso  File: xorriso.info, Node: ExMkisofs, Next: ExGrowisofs, Prev: ExCdrecord, Up: Examples @@ -4742,58 +4596,58 @@ Between both processes there can be performed arbitrary transportation or filtering. The first session is written like this: -$ xorriso -as mkisofs prepared_for_iso/tree1 | \ + $ xorriso -as mkisofs 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: -$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 + $ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo) $ xorriso -as mkisofs -M /dev/sr0 -C $m 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 + 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, +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. -This example works for multi-session media only. Add cdrskin option + This example works for multi-session media only. Add cdrskin option --grow_overwriteable_iso to all -as cdrecord runs in order to enable multi-session emulation on overwriteable media.  File: xorriso.info, Node: ExGrowisofs, Next: ExException, Prev: ExMkisofs, Up: Examples -10.11 Let `xorriso' work underneath growisofs +10.11 Let 'xorriso' work underneath growisofs ============================================= growisofs expects an ISO formatter program which understands options -C -and -M. If `xorriso' gets started by name "xorrisofs" then it is +and -M. If 'xorriso' gets started by name "xorrisofs" then it is suitable for that. -$ export MKISOFS="xorrisofs" + $ export MKISOFS="xorrisofs" $ growisofs -Z /dev/dvd /some/files $ growisofs -M /dev/dvd /more/files -If no "xorrisofs" is available on your system, then you will have to -create a link pointing to the `xorriso' binary and tell growisofs to -use it. E.g. by: + If no "xorrisofs" is available on your system, then you will have to +create a link pointing to the 'xorriso' binary and tell growisofs to use +it. E.g. by: -$ ln -s $(which xorriso) "$HOME/xorrisofs" + $ ln -s $(which xorriso) "$HOME/xorrisofs" $ export MKISOFS="$HOME/xorrisofs" -One may quit mkisofs emulation by argument "--" and make use of all -`xorriso' commands. growisofs dislikes options which start with "-o" + One may quit mkisofs emulation by argument "--" and make use of all +'xorriso' commands. growisofs dislikes options which start with "-o" but -outdev must be set to "-". So use "outdev" instead: -$ growisofs -Z /dev/dvd -- outdev - -update_r /my/files /files + $ growisofs -Z /dev/dvd -- outdev - -update_r /my/files /files $ growisofs -M /dev/dvd -- outdev - -update_r /my/files /files -growisofs has excellent burn capabilities with DVD and BD. It does not -emulate session history on overwriteable media, though. + growisofs has excellent burn capabilities with DVD and BD. It does +not emulate session history on overwriteable media, though.  File: xorriso.info, Node: ExException, Next: ExTime, Prev: ExGrowisofs, Up: Examples @@ -4804,7 +4658,7 @@ File: xorriso.info, Node: ExException, Next: ExTime, Prev: ExGrowisofs, Up: Be quite verbous, exit 32 if severity "FAILURE" was encountered, do not abort prematurely but forcibly go on until the end of commands. -$ xorriso ... \ + $ xorriso ... \ -report_about UPDATE \ -return_with FAILURE 32 \ -abort_on NEVER \ @@ -4817,7 +4671,7 @@ File: xorriso.info, Node: ExTime, Next: ExIncBackup, Prev: ExException, Up: =================================== As printed by program date: -'Thu Nov 8 14:51:13 CET 2007' +'Thu Nov 8 14:51:13 CET 2007' The same without ignored parts: 'Nov 8 14:51:13 2007' @@ -4843,9 +4697,9 @@ File: xorriso.info, Node: ExIncBackup, Next: ExRestore, Prev: ExTime, Up: Ex 10.14 Incremental backup of a few directory trees ================================================= -This changes the directory trees /projects and /personal_mail in the -ISO image so that they become exact copies of their disk counterparts. -ISO file objects get created, deleted or get their attributes adjusted +This changes the directory trees /projects and /personal_mail in the ISO +image so that they become exact copies of their disk counterparts. ISO +file objects get created, deleted or get their attributes adjusted accordingly. ACL, xattr, hard links and MD5 checksums will be recorded. Accelerated comparison is enabled at the expense of potentially larger backup size. @@ -4853,7 +4707,8 @@ Only media with the expected volume ID or blank media are accepted. Files with names matching *.o or *.swp get excluded explicitly. When done with writing the new session gets checked by its recorded MD5. -$ xorriso \ + + $ xorriso \ -abort_on FATAL \ -for_backup -disk_dev_ino on \ -assert_volid 'PROJECTS_MAIL_*' FATAL \ @@ -4864,61 +4719,62 @@ $ xorriso \ -update_r /home/thomas/personal_mail /personal_mail \ -commit -toc -check_md5 FAILURE -- -eject all -To be used several times on the same medium, whenever an update of the -two disk trees to the medium is desired. Begin with a blank medium and -update it until the run fails gracefully due to lack of remaining space -on the old one. + To be used several times on the same medium, whenever an update of +the two disk trees to the medium is desired. Begin with a blank medium +and update it until the run fails gracefully due to lack of remaining +space on the old one. This makes sense if the full backup leaves substantial remaining capacity on media and if the expected changes are much smaller than the full backup. To apply zisofs compression to those data files which get newly copied from the local filesystem, insert these commands immediately before -commit : --hardlinks perform_update \ + -hardlinks perform_update \ -find / -type f -pending_data -exec set_filter --zisofs -- \ -Commands -disk_dev_ino and -for_backup depend on stable device and -inode numbers on disk. Without them, an update run may use -md5 "on" to + Commands -disk_dev_ino and -for_backup depend on stable device and +inode numbers on disk. Without them, an update run may use -md5 "on" to match recorded MD5 sums against the current file content on hard disk. This is usually much faster than the default which compares both contents directly. -With *mount* option *-o "sbsector="* on GNU/Linux resp. *-s* on FreeBSD -or NetBSD it is possible to access the session trees which represent -the older backup versions. With CD media, GNU/Linux mount accepts -session numbers directly by its option "session=". -Multi-session media and most overwriteable media written by `xorriso' -can tell the sbsectors of their sessions by `xorriso' command -toc. +With *mount* option *-o "sbsector="* on GNU/Linux or *-s* on FreeBSD or +NetBSD it is possible to access the session trees which represent the +older backup versions. With CD media, GNU/Linux mount accepts session +numbers directly by its option "session=". +Multi-session media and most overwriteable media written by 'xorriso' +can tell the sbsectors of their sessions by 'xorriso' command -toc. Used after -commit the following command prints the matching mount command for the newly written session (here for mount point /mnt): --mount_cmd "indev" "auto" "auto" /mnt + -mount_cmd "indev" "auto" "auto" /mnt -Commands -mount_cmd and -mount are also able to produce the mount -commands for older sessions in the table-of-content. E.g. as superuser: + Commands -mount_cmd and -mount are also able to produce the mount +commands for older sessions in the table-of-content. E.g. as +superuser: -# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt + # osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt -Above example produces a result similar to -root / -old-root / with -mkisofs. For getting the session trees accumulated in the new -sessions, let all -update commands use a common parent directory and -clone it after updating is done: + Above example produces a result similar to -root / -old-root / with +mkisofs. For getting the session trees accumulated in the new sessions, +let all -update commands use a common parent directory and clone it +after updating is done: -update_r /home/thomas/projects /current/projects \ -update_r /home/thomas/personal_mail /current/personal_mail \ -clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \ The cloned tree will have a name like /2011_02_12_155700. -Sessions on multi-session media are separated by several MB of unused + Sessions on multi-session media are separated by several MB of unused blocks. So with small sessions the payload capacity can become -substantially lower than the overall media capacity. If the remaining +substantially lower than the overall media capacity. If the remaining space on a medium does not suffice for the next gap, the drive is supposed to close the medium automatically. -*Better do not use your youngest backup for -update_r*. Have at least -two media which you use alternatingly. So only older backups get -endangered by the new write operation, while the newest backup is -stored safely on a different medium. + *Better do not use your youngest backup for -update_r*. Have at +least two media which you use alternatingly. So only older backups get +endangered by the new write operation, while the newest backup is stored +safely on a different medium. Always have a blank medium ready to perform a full backup in case the -update attempt fails due to insufficient remaining capacity. This +update attempt fails due to insufficient remaining capacity. This failure will not spoil the old medium, of course.  @@ -4931,13 +4787,13 @@ This is an alternative to mounting the medium and using normal file operations. First check which backup sessions are on the medium: -$ xorriso -outdev /dev/sr0 -toc + $ xorriso -outdev /dev/sr0 -toc -Then enable restoring of ACL, xattr and hard links. Load the desired + Then enable restoring of ACL, xattr and hard links. Load the desired session and copy the file trees to disk. Avoid to create /home/thomas/restored without rwx-permission. -$ xorriso -for_backup \ + $ xorriso -for_backup \ -load volid 'PROJECTS_MAIL_2008_06_19*' \ -indev /dev/sr0 \ -osirrox on:auto_chmod_on \ @@ -4946,7 +4802,7 @@ $ xorriso -for_backup \ -extract /personal_mail /home/thomas/restored/personal_mail \ -rollback_end -The final command -rollback_end prevents an error message about the + The final command -rollback_end prevents an error message about the altered image being discarded.  @@ -4956,14 +4812,15 @@ File: xorriso.info, Node: ExRecovery, Prev: ExRestore, Up: Examples ================================================== + $ xorriso -abort_on NEVER -indev /dev/sr0 \ -check_media time_limit=1800 report=blocks_files \ data_to="$HOME"/dvd_copy sector_map="$HOME"/dvd_copy.map -- -This can be repeated several times, if necessary with -eject or with -other -indev drives. See the human readable part of -"$HOME"/dvd_copy.map for addresses which can be used on -"$HOME"/dvd_copy with mount option -o sbsector= resp. -s. + This can be repeated several times, if necessary with -eject or with +other -indev drives. See the human readable part of +"$HOME"/dvd_copy.map for addresses which can be used on "$HOME"/dvd_copy +with mount option -o sbsector= or -s.  File: xorriso.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top @@ -4971,14 +4828,15 @@ File: xorriso.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top 11 Files ******** + 11.1 Program Alias Names ======================== -Normal installation of `xorriso' creates three links or copies which by +Normal installation of 'xorriso' creates three links or copies which by their program name pre-select certain settings: -*xorrisofs* starts `xorriso' with -as mkisofs emulation. -*xorrecord* starts `xorriso' with -as cdrecord emulation. + *xorrisofs* starts 'xorriso' with -as mkisofs emulation. +*xorrecord* starts 'xorriso' with -as cdrecord emulation. *osirrox* starts with -osirrox "on:o_excl_off" which allows to copy files from ISO image to disk and to apply command -mount to one or more of the existing ISO sessions. @@ -4986,57 +4844,52 @@ of the existing ISO sessions. 11.2 Startup Files ================== -If not -no_rc is given as the first argument then `xorriso' attempts on + +If not -no_rc is given as the first argument then 'xorriso' attempts on startup to read and execute lines from the following files: -/etc/default/xorriso + /etc/default/xorriso /etc/opt/xorriso/rc /etc/xorriso/xorriso.conf $HOME/.xorrisorc -The files are read in the sequence given above, but none of them is -required to exist. The line format is described with command + The files are read in the sequence given above, but none of them is +required to exist. The line format is described with command -options_from_file. If mkisofs emulation was enabled by program name "xorrisofs", "mkisofs", "genisoimage", or "genisofs", then afterwards -read_mkisofsrc is -performed, which reads .mkisofsrc files. See there. +performed, which reads .mkisofsrc files. See there. 11.3 Runtime control files ========================== + The default setting of -check_media abort_file= is: -/var/opt/xorriso/do_abort_check_media + /var/opt/xorriso/do_abort_check_media +  File: xorriso.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top 12 See also *********** -For the mkisofs emulation of `xorriso' +For the mkisofs emulation of 'xorriso' xorrisofs(1) - -For the cdrecord emulation of `xorriso' +For the cdrecord emulation of 'xorriso' xorrecord(1) - -For mounting `xorriso' generated ISO 9660 images (-t iso9660) +For mounting 'xorriso' generated ISO 9660 images (-t iso9660) mount(8) - Libreadline, a comfortable input line facility readline(3) - Other programs which produce ISO 9660 images mkisofs(8), genisoimage(8) - Other programs which burn sessions to optical media growisofs(1), cdrecord(1), wodim(1), cdrskin(1) - ACL and xattr getfacl(1), setfacl(1), getfattr(1), setfattr(1) - MD5 checksums md5sum(1) - On FreeBSD some commands differ: getextattr(8), setextattr(8), md5(1) @@ -5046,15 +4899,15 @@ File: xorriso.info, Node: Bugreport, Next: Legal, Prev: Seealso, Up: Top 13 Reporting bugs ***************** -To report bugs, request help, or suggest enhancements for `xorriso', +To report bugs, request help, or suggest enhancements for 'xorriso', please send electronic mail to the public list . If more privacy is desired, mail to . -Please describe what you expect `xorriso' to do, the program arguments -resp. commands by which you tried to achieve it, the messages of -`xorriso', and the undesirable outcome of your program run. + Please describe what you expect 'xorriso' to do, the program +arguments or dialog commands by which you tried to achieve it, the +messages of 'xorriso', and the undesirable outcome of your program run. -Expect to get asked more questions before solutions can be proposed. + Expect to get asked more questions before solutions can be proposed.  File: xorriso.info, Node: Legal, Next: CommandIdx, Prev: Bugreport, Up: Top @@ -5072,15 +4925,15 @@ for libburnia-project.org ============== Copyright (c) 2007 - 2015 Thomas Schmitt -Permission is granted to distribute this text freely. It shall only be -modified in sync with the technical properties of `xorriso'. If you -make use of the license to derive modified versions of `xorriso' then +Permission is granted to distribute this text freely. It shall only be +modified in sync with the technical properties of 'xorriso'. If you +make use of the license to derive modified versions of 'xorriso' then you are entitled to modify this text under that same license. 14.3 Credits ============ -`xorriso' is in part based on work by Vreixo Formoso who provides +'xorriso' is in part based on work by Vreixo Formoso who provides libisofs together with Mario Danic who also leads the libburnia team. Vladimir Serbinenko contributed the HFS+ filesystem code and related knowledge. Thanks to Andy Polyakov who invented emulated growing, to @@ -5097,236 +4950,235 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top [index] * Menu: -* # starts a comment line: Scripting. (line 173) -* -abort_on controls abort on error: Exception. (line 27) -* -abstract_file sets abstract file name: SetWrite. (line 237) -* -acl controls handling of ACLs: Loading. (line 170) -* -add inserts one or more paths: Insert. (line 47) -* -add_plainly inserts one or more paths: Insert. (line 66) -* -alter_date sets timestamps in ISO image: Manip. (line 154) -* -alter_date_r sets timestamps in ISO image: Manip. (line 187) -* -append_partition adds arbitrary file after image end: Bootable. - (line 343) -* -application_id sets application id: SetWrite. (line 196) -* -application_use sets application use field: SetWrite. (line 262) -* -as emulates mkisofs or cdrecord: Emulation. (line 13) -* -assert_volid rejects undesired images: Loading. (line 108) -* -auto_charset learns character set from image: Loading. (line 122) -* -backslash_codes enables backslash conversion: Scripting. (line 78) -* -ban_stdio_write demands real drive: Loading. (line 278) -* -biblio_file sets biblio file name: SetWrite. (line 244) -* -blank erases media: Writing. (line 61) -* -boot_image controls bootability: Bootable. (line 65) -* -calm_drive reduces drive activity: Loading. (line 267) -* -cd sets working directory in ISO: Navigate. (line 7) -* -cdx sets working directory on disk: Navigate. (line 16) -* -changes_pending overrides change status: Writing. (line 13) -* -charset sets input/output character set: Charset. (line 54) -* -check_md5 verifies file checksum: Verify. (line 166) -* -check_md5_r verifies file tree checksums: Verify. (line 182) -* -check_media reads media block by block: Verify. (line 21) -* -check_media_defaults sets -check_media options: Verify. (line 41) -* -chgrp sets group in ISO image: Manip. (line 57) -* -chgrp_r sets group in ISO image: Manip. (line 62) -* -chmod sets permissions in ISO image: Manip. (line 65) -* -chmod_r sets permissions in ISO image: Manip. (line 77) -* -chown sets ownership in ISO image: Manip. (line 49) -* -chown_r sets ownership in ISO image: Manip. (line 54) -* -clone copies ISO directory tree: Insert. (line 181) -* -close controls media closing: SetWrite. (line 359) -* -close_damaged closes damaged track and session: Writing. (line 170) -* -close_filter_list bans filter registration: Filter. (line 52) -* -commit writes pending ISO image: Writing. (line 29) -* -commit_eject writes and ejects: Writing. (line 56) -* -compare reports ISO/disk differences: Navigate. (line 146) -* -compare_l reports ISO/disk differences: Navigate. (line 164) -* -compare_r reports ISO/disk differences: Navigate. (line 159) -* -compliance controls standard compliance: SetWrite. (line 58) -* -concat copies ISO file content: Restore. (line 129) -* -copyright_file sets copyright file name: SetWrite. (line 231) -* -cp_clone copies ISO directory tree: Insert. (line 193) -* -cp_rx copies file trees to disk: Restore. (line 111) -* -cpax copies files to disk: Restore. (line 107) -* -cpr inserts like with cp -r: Insert. (line 157) -* -cpx copies files to disk: Restore. (line 95) -* -cut_out inserts piece of data file: Insert. (line 131) -* -data_cache_size adjusts read cache size: Loading. (line 296) -* -dev acquires one drive for input and output: AqDrive. (line 12) -* -device_links gets list of drives: Inquiry. (line 18) -* -devices gets list of drives: Inquiry. (line 7) -* -dialog enables dialog mode: DialogCtl. (line 7) -* -disk_dev_ino fast incremental backup: Loading. (line 217) -* -disk_pattern controls pattern expansion: Insert. (line 36) -* -displacement compensate altered image start address: Loading. - (line 60) -* -drive_class controls drive accessability: Loading. (line 78) -* -du show directory size in ISO image: Navigate. (line 89) -* -dummy controls write simulation: SetWrite. (line 348) -* -dus show directory size in ISO image: Navigate. (line 93) -* -dusx show directory size on disk: Navigate. (line 102) -* -dux show directory size on disk: Navigate. (line 97) -* -dvd_obs set write block size: SetWrite. (line 333) -* -early_stdio_test classifies stdio drives: Loading. (line 283) -* -eject ejects drive tray: Writing. (line 52) -* -end writes pending session and ends program: Scripting. (line 167) -* -errfile_log logs problematic disk files: Scripting. (line 129) -* -error_behavior controls error workarounds: Exception. (line 96) -* -external_filter registers data filter: Filter. (line 20) -* -external_filter unregisters data filter: Filter. (line 48) -* -extract copies file tree to disk: Restore. (line 63) -* -extract_cut copies file piece to disk: Restore. (line 84) -* -extract_l copies files to disk: Restore. (line 79) -* -extract_single copies file to disk: Restore. (line 75) -* -file_size_limit limits data file size: SetInsert. (line 7) -* -find traverses and alters ISO tree: CmdFind. (line 7) -* -findx traverses disk tree: Navigate. (line 106) -* -follow softlinks and mount points: SetInsert. (line 76) -* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 212) -* -format formats media: Writing. (line 91) -* -fs sets size of fifo: SetWrite. (line 352) -* -getfacl shows ACL in ISO image: Navigate. (line 70) -* -getfacl_r shows ACL in ISO image: Navigate. (line 77) -* -getfattr shows xattr in ISO image: Navigate. (line 81) -* -getfattr_r shows xattr in ISO image: Navigate. (line 85) -* -gid sets global ownership: SetWrite. (line 286) -* -grow_blindly overides next writeable address: AqDrive. (line 46) -* -hardlinks controls handling of hard links: Loading. (line 134) -* -help prints help text: Scripting. (line 20) -* -hfsplus enables production of HFS+ partition: SetWrite. (line 14) -* -hide excludes file names from directory trees: Manip. (line 191) -* -history brings text into readline history: Scripting. (line 44) -* -in_charset sets input character set: Loading. (line 116) -* -indev acquires a drive for input: AqDrive. (line 24) -* -iso_rr_pattern controls pattern expansion: Manip. (line 10) -* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 33) -* -joliet enables production of Joliet tree: SetWrite. (line 10) -* -launch_frontend starts frontend program at pipes: Frontend. - (line 146) -* -list_arg_sorting prints sorting order of -x: ArgSort. (line 27) -* -list_delimiter replaces '--': Scripting. (line 60) -* -list_extras lists compile time extra features: Scripting. - (line 26) -* -list_formats lists available formats: Writing. (line 134) -* -list_profiles lists supported media: Writing. (line 184) -* -list_speeds lists available write speeds: Writing. (line 146) -* -lns creates ISO symbolic link: Insert. (line 176) -* -load addresses a particular session as input: Loading. (line 35) -* -local_charset sets terminal character set: Charset. (line 58) -* -logfile logs output channels to file: Frontend. (line 20) -* -ls lists files in ISO image: Navigate. (line 26) -* -lsd lists files in ISO image: Navigate. (line 34) -* -lsdl lists files in ISO image: Navigate. (line 47) -* -lsdlx lists files on disk: Navigate. (line 66) -* -lsdx lists files on disk: Navigate. (line 58) -* -lsl lists files in ISO image: Navigate. (line 38) -* -lslx lists files on disk: Navigate. (line 62) -* -lsx lists files on disk: Navigate. (line 51) -* -map inserts path: Insert. (line 90) -* -map_l inserts paths from disk file: Insert. (line 99) -* -map_single inserts path: Insert. (line 95) -* -mark sets synchronizing message: Frontend. (line 25) -* -md5 controls handling of MD5 sums: Loading. (line 183) -* -mkdir creates ISO directory: Insert. (line 171) -* -mount issues mount command for ISO session: Restore. (line 158) -* -mount_cmd composes mount command line: Inquiry. (line 52) -* -mount_cmd controls mount command: Inquiry. (line 68) -* -msg_op perform operations on program messages: Frontend. (line 30) -* -mv renames files in ISO image: Manip. (line 42) -* -mv renames single file in ISO image: Manip. (line 35) -* -named_pipe_loop enters EOF resistant dialog: Frontend. (line 123) -* -no_rc disables startup files: Scripting. (line 7) -* -not_leaf sets exclusion pattern: SetInsert. (line 62) -* -not_list sets exclusions from disk file: SetInsert. (line 67) -* -not_mgt controls file exclusion: SetInsert. (line 23) -* -not_paths sets absolute exclusion paths: SetInsert. (line 55) -* -options_from_file reads commands from file: Scripting. (line 12) -* -osirrox enables ISO-to-disk copying: Restore. (line 18) -* -out_charset sets output character set: SetWrite. (line 276) -* -outdev acquires a drive for output: AqDrive. (line 31) -* -overwrite enables overwriting in ISO: SetInsert. (line 131) -* -pacifier controls pacifier text form: Emulation. (line 165) -* -padding sets amount or mode of image padding: SetWrite. (line 384) -* -page set terminal geometry: DialogCtl. (line 19) -* -paste_in copies file into disk file: Restore. (line 124) -* -path_list inserts paths from disk file: Insert. (line 80) -* -pathspecs sets meaning of = with -add: SetInsert. (line 122) -* -pkt_output consolidates text output: Frontend. (line 7) -* -preparer_id sets preparer id: SetWrite. (line 250) -* -print prints result text line: Scripting. (line 110) -* -print_info prints message text line: Scripting. (line 113) -* -print_mark prints synchronizing text line: Scripting. (line 116) -* -print_size predicts image size: Inquiry. (line 91) -* -prog sets program name: Frontend. (line 181) -* -prog_help prints help text: Frontend. (line 184) -* -prompt prompts for enter key: Scripting. (line 121) -* -publisher sets publisher id: SetWrite. (line 190) -* -pvd_info shows image id strings: Inquiry. (line 115) -* -pwd tells working directory in ISO: Navigate. (line 20) -* -pwdx tells working directory on disk: Navigate. (line 23) -* -quoted_not_list sets exclusions: SetInsert. (line 72) -* -quoted_path_list inserts paths from disk file: Insert. (line 85) -* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation. - (line 153) -* -read_speed set read speed: Loading. (line 11) -* -reassure enables confirmation question: DialogCtl. (line 32) -* -report_about controls verbosity: Exception. (line 55) -* -report_el_torito shows Boot Catalog: Inquiry. (line 124) -* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 146) -* -return_with controls exit value: Exception. (line 39) -* -rm deletes files from ISO image: Manip. (line 21) -* -rm_r deletes trees from ISO image: Manip. (line 28) -* -rmdir deletes ISO directory: Manip. (line 32) -* -rockridge disables production of Rock Ridge info: SetWrite. - (line 52) -* -rollback discards pending changes: Writing. (line 9) -* -rollback_end ends program without writing: Scripting. (line 170) -* -rom_toc_scan searches for sessions: Loading. (line 238) -* -rr_reloc_dir sets name of relocation directory: SetWrite. - (line 145) -* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179) -* -scsi_log reports SCSI commands: Scripting. (line 158) -* -session_log logs written sessions: Scripting. (line 149) -* -session_string composes session info line: Inquiry. (line 78) -* -set_filter applies filter to file: Filter. (line 61) -* -set_filter_r applies filter to file tree: Filter. (line 90) -* -setfacl sets ACL in ISO image: Manip. (line 80) -* -setfacl_list sets ACL in ISO image: Manip. (line 108) -* -setfacl_r sets ACL in ISO image: Manip. (line 105) -* -setfattr sets xattr in ISO image: Manip. (line 118) -* -setfattr_list sets xattr in ISO image: Manip. (line 134) -* -setfattr_r sets xattr in ISO image: Manip. (line 131) -* -sh_style_result makes results look more like shell: Scripting. - (line 67) -* -show_stream shows data source and filters: Navigate. (line 169) -* -show_stream_r shows data source and filters: Navigate. (line 183) -* -signal_handling controls handling of system signals: Exception. - (line 69) -* -sleep waits for a given time span: Scripting. (line 125) -* -speed set write speed: SetWrite. (line 302) -* -split_size enables large file splitting: SetInsert. (line 144) -* -status shows current settings: Scripting. (line 47) -* -status_history_max curbs -status history: Scripting. (line 56) -* -stdio_sync controls stdio buffer: SetWrite. (line 340) -* -stream_recording controls defect management: SetWrite. (line 321) -* -system_id sets system id: SetWrite. (line 205) -* -tell_media_space reports free space: Inquiry. (line 104) -* -temp_mem_limit curbs memory consumption: Scripting. (line 103) -* -toc shows list of sessions: Inquiry. (line 28) -* -toc_of shows list of sessions: Inquiry. (line 43) -* -uid sets global ownership: SetWrite. (line 282) -* -update inserts path if different: Insert. (line 104) -* -update_l inserts paths if different: Insert. (line 126) -* -update_r inserts paths if different: Insert. (line 115) -* -use_readline enables readline for dialog: DialogCtl. (line 28) -* -version prints help text: Scripting. (line 23) -* -volid sets volume id: SetWrite. (line 164) -* -volset_id sets volume set id: SetWrite. (line 185) -* -volume_date sets volume timestamp: SetWrite. (line 212) -* -write_type chooses TAO or SAO/DAO: SetWrite. (line 376) -* -x enables automatic execution order of arguments: ArgSort. - (line 16) -* -xattr controls handling of xattr (EA): Loading. (line 178) -* -zisofs controls zisofs production: SetWrite. (line 290) +* # starts a comment line: Scripting. (line 156) +* -abort_on controls abort on error: Exception. (line 27) +* -abstract_file sets abstract file name: SetWrite. (line 228) +* -acl controls handling of ACLs: Loading. (line 162) +* -add inserts one or more paths: Insert. (line 44) +* -add_plainly inserts one or more paths: Insert. (line 62) +* -alter_date sets timestamps in ISO image: Manip. (line 136) +* -alter_date_r sets timestamps in ISO image: Manip. (line 168) +* -append_partition adds arbitrary file after image end: Bootable. + (line 345) +* -application_id sets application id: SetWrite. (line 191) +* -application_use sets application use field: SetWrite. (line 250) +* -as emulates mkisofs or cdrecord: Emulation. (line 13) +* -assert_volid rejects undesired images: Loading. (line 102) +* -auto_charset learns character set from image: Loading. (line 114) +* -backslash_codes enables backslash conversion: Scripting. (line 71) +* -ban_stdio_write demands real drive: Loading. (line 263) +* -biblio_file sets biblio file name: SetWrite. (line 234) +* -blank erases media: Writing. (line 57) +* -boot_image controls bootability: Bootable. (line 65) +* -calm_drive reduces drive activity: Loading. (line 253) +* -cd sets working directory in ISO: Navigate. (line 7) +* -cdx sets working directory on disk: Navigate. (line 15) +* -changes_pending overrides change status: Writing. (line 12) +* -charset sets input/output character set: Charset. (line 54) +* -check_md5 verifies file checksum: Verify. (line 164) +* -check_md5_r verifies file tree checksums: Verify. (line 178) +* -check_media reads media block by block: Verify. (line 21) +* -check_media_defaults sets -check_media options: Verify. (line 40) +* -chgrp sets group in ISO image: Manip. (line 49) +* -chgrp_r sets group in ISO image: Manip. (line 53) +* -chmod sets permissions in ISO image: Manip. (line 55) +* -chmod_r sets permissions in ISO image: Manip. (line 66) +* -chown sets ownership in ISO image: Manip. (line 43) +* -chown_r sets ownership in ISO image: Manip. (line 47) +* -clone copies ISO directory tree: Insert. (line 164) +* -close controls media closing: SetWrite. (line 366) +* -close_damaged closes damaged track and session: Writing. (line 164) +* -close_filter_list bans filter registration: Filter. (line 50) +* -commit writes pending ISO image: Writing. (line 27) +* -commit_eject writes and ejects: Writing. (line 53) +* -compare reports ISO/disk differences: Navigate. (line 128) +* -compare_l reports ISO/disk differences: Navigate. (line 144) +* -compare_r reports ISO/disk differences: Navigate. (line 140) +* -compliance controls standard compliance: SetWrite. (line 56) +* -concat copies ISO file content: Restore. (line 119) +* -copyright_file sets copyright file name: SetWrite. (line 223) +* -cpax copies files to disk: Restore. (line 101) +* -cpr inserts like with cp -r: Insert. (line 143) +* -cpx copies files to disk: Restore. (line 90) +* -cp_clone copies ISO directory tree: Insert. (line 175) +* -cp_rx copies file trees to disk: Restore. (line 104) +* -cp_rx copies file trees to disk <1>: Restore. (line 112) +* -cut_out inserts piece of data file: Insert. (line 118) +* -data_cache_size adjusts read cache size: Loading. (line 279) +* -dev acquires one drive for input and output: AqDrive. (line 12) +* -devices gets list of drives: Inquiry. (line 7) +* -device_links gets list of drives: Inquiry. (line 17) +* -dialog enables dialog mode: DialogCtl. (line 7) +* -disk_dev_ino fast incremental backup: Loading. (line 205) +* -disk_pattern controls pattern expansion: Insert. (line 34) +* -displacement compensate altered image start address: Loading. + (line 57) +* -drive_class controls drive accessability: Loading. (line 73) +* -du show directory size in ISO image: Navigate. (line 75) +* -dummy controls write simulation: SetWrite. (line 358) +* -dus show directory size in ISO image: Navigate. (line 78) +* -dusx show directory size on disk: Navigate. (line 85) +* -dux show directory size on disk: Navigate. (line 81) +* -dvd_obs set write block size: SetWrite. (line 314) +* -early_stdio_test classifies stdio drives: Loading. (line 267) +* -eject ejects drive tray: Writing. (line 50) +* -end writes pending session and ends program: Scripting. (line 151) +* -errfile_log logs problematic disk files: Scripting. (line 116) +* -error_behavior controls error workarounds: Exception. (line 92) +* -external_filter registers data filter: Filter. (line 20) +* -external_filter unregisters data filter: Filter. (line 47) +* -extract copies file tree to disk: Restore. (line 62) +* -extract_cut copies file piece to disk: Restore. (line 80) +* -extract_l copies files to disk: Restore. (line 76) +* -extract_single copies file to disk: Restore. (line 73) +* -file_size_limit limits data file size: SetInsert. (line 7) +* -find traverses and alters ISO tree: CmdFind. (line 7) +* -findx traverses disk tree: Navigate. (line 88) +* -follow softlinks and mount points: SetInsert. (line 69) +* -format formats media: Writing. (line 87) +* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 201) +* -fs sets size of fifo: SetWrite. (line 361) +* -getfacl shows ACL in ISO image: Navigate. (line 60) +* -getfacl_r shows ACL in ISO image: Navigate. (line 66) +* -getfattr shows xattr in ISO image: Navigate. (line 69) +* -getfattr_r shows xattr in ISO image: Navigate. (line 72) +* -gid sets global ownership: SetWrite. (line 271) +* -grow_blindly overides next writeable address: AqDrive. (line 43) +* -hardlinks controls handling of hard links: Loading. (line 125) +* -help prints help text: Scripting. (line 19) +* -hfsplus enables production of HFS+ partition: SetWrite. (line 14) +* -hide excludes file names from directory trees: Manip. (line 171) +* -history brings text into readline history: Scripting. (line 42) +* -indev acquires a drive for input: AqDrive. (line 23) +* -in_charset sets input character set: Loading. (line 109) +* -iso_rr_pattern controls pattern expansion: Manip. (line 10) +* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 33) +* -joliet enables production of Joliet tree: SetWrite. (line 10) +* -launch_frontend starts frontend program at pipes: Frontend. + (line 142) +* -list_arg_sorting prints sorting order of -x: ArgSort. (line 26) +* -list_delimiter replaces '--': Scripting. (line 55) +* -list_extras lists compile time extra features: Scripting. (line 24) +* -list_formats lists available formats: Writing. (line 129) +* -list_profiles lists supported media: Writing. (line 177) +* -list_speeds lists available write speeds: Writing. (line 140) +* -lns creates ISO symbolic link: Insert. (line 160) +* -load addresses a particular session as input: Loading. (line 33) +* -local_charset sets terminal character set: Charset. (line 57) +* -logfile logs output channels to file: Frontend. (line 19) +* -ls lists files in ISO image: Navigate. (line 24) +* -lsd lists files in ISO image: Navigate. (line 31) +* -lsdl lists files in ISO image: Navigate. (line 42) +* -lsdlx lists files on disk: Navigate. (line 57) +* -lsdx lists files on disk: Navigate. (line 51) +* -lsl lists files in ISO image: Navigate. (line 34) +* -lslx lists files on disk: Navigate. (line 54) +* -lsx lists files on disk: Navigate. (line 45) +* -map inserts path: Insert. (line 83) +* -map_l inserts paths from disk file: Insert. (line 90) +* -map_single inserts path: Insert. (line 87) +* -mark sets synchronizing message: Frontend. (line 23) +* -md5 controls handling of MD5 sums: Loading. (line 173) +* -mkdir creates ISO directory: Insert. (line 156) +* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 320) +* -mount issues mount command for ISO session: Restore. (line 147) +* -mount_cmd composes mount command line: Inquiry. (line 49) +* -mount_cmd controls mount command: Inquiry. (line 64) +* -msg_op perform operations on program messages: Frontend. (line 27) +* -mv renames files in ISO image: Manip. (line 37) +* -mv renames single file in ISO image: Manip. (line 31) +* -named_pipe_loop enters EOF resistant dialog: Frontend. (line 120) +* -not_leaf sets exclusion pattern: SetInsert. (line 59) +* -not_list sets exclusions from disk file: SetInsert. (line 63) +* -not_mgt controls file exclusion: SetInsert. (line 22) +* -not_paths sets absolute exclusion paths: SetInsert. (line 53) +* -no_rc disables startup files: Scripting. (line 7) +* -options_from_file reads commands from file: Scripting. (line 12) +* -osirrox enables ISO-to-disk copying: Restore. (line 18) +* -outdev acquires a drive for output: AqDrive. (line 29) +* -out_charset sets output character set: SetWrite. (line 263) +* -overwrite enables overwriting in ISO: SetInsert. (line 123) +* -pacifier controls pacifier text form: Emulation. (line 166) +* -padding sets amount or mode of image padding: SetWrite. (line 389) +* -page set terminal geometry: DialogCtl. (line 18) +* -paste_in copies file into disk file: Restore. (line 115) +* -pathspecs sets meaning of = with -add: SetInsert. (line 115) +* -path_list inserts paths from disk file: Insert. (line 75) +* -pkt_output consolidates text output: Frontend. (line 7) +* -preparer_id sets preparer id: SetWrite. (line 239) +* -print prints result text line: Scripting. (line 102) +* -print_info prints message text line: Scripting. (line 104) +* -print_mark prints synchronizing text line: Scripting. (line 106) +* -print_size predicts image size: Inquiry. (line 85) +* -prog sets program name: Frontend. (line 177) +* -prog_help prints help text: Frontend. (line 179) +* -prompt prompts for enter key: Scripting. (line 110) +* -publisher sets publisher id: SetWrite. (line 186) +* -pvd_info shows image id strings: Inquiry. (line 107) +* -pwd tells working directory in ISO: Navigate. (line 19) +* -pwdx tells working directory on disk: Navigate. (line 21) +* -quoted_not_list sets exclusions: SetInsert. (line 66) +* -quoted_path_list inserts paths from disk file: Insert. (line 79) +* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation. + (line 155) +* -read_speed set read speed: Loading. (line 11) +* -reassure enables confirmation question: DialogCtl. (line 29) +* -report_about controls verbosity: Exception. (line 53) +* -report_el_torito shows Boot Catalog: Inquiry. (line 115) +* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 137) +* -return_with controls exit value: Exception. (line 38) +* -rm deletes files from ISO image: Manip. (line 20) +* -rmdir deletes ISO directory: Manip. (line 29) +* -rm_r deletes trees from ISO image: Manip. (line 26) +* -rockridge disables production of Rock Ridge info: SetWrite. + (line 51) +* -rollback discards pending changes: Writing. (line 9) +* -rollback_end ends program without writing: Scripting. (line 154) +* -rom_toc_scan searches for sessions: Loading. (line 225) +* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 144) +* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179) +* -scsi_log reports SCSI commands: Scripting. (line 143) +* -session_log logs written sessions: Scripting. (line 134) +* -session_string composes session info line: Inquiry. (line 73) +* -setfacl sets ACL in ISO image: Manip. (line 68) +* -setfacl_list sets ACL in ISO image: Manip. (line 94) +* -setfacl_r sets ACL in ISO image: Manip. (line 92) +* -setfattr sets xattr in ISO image: Manip. (line 103) +* -setfattr_list sets xattr in ISO image: Manip. (line 117) +* -setfattr_r sets xattr in ISO image: Manip. (line 115) +* -set_filter applies filter to file: Filter. (line 58) +* -set_filter_r applies filter to file tree: Filter. (line 84) +* -show_stream shows data source and filters: Navigate. (line 148) +* -show_stream_r shows data source and filters: Navigate. (line 161) +* -sh_style_result makes results look more like shell: Scripting. + (line 61) +* -signal_handling controls handling of system signals: Exception. + (line 66) +* -sleep waits for a given time span: Scripting. (line 113) +* -speed set write speed: SetWrite. (line 285) +* -split_size enables large file splitting: SetInsert. (line 135) +* -status shows current settings: Scripting. (line 44) +* -status_history_max curbs -status history: Scripting. (line 52) +* -stdio_sync controls stdio buffer: SetWrite. (line 351) +* -stream_recording controls defect management: SetWrite. (line 303) +* -system_id sets system id: SetWrite. (line 199) +* -tell_media_space reports free space: Inquiry. (line 97) +* -temp_mem_limit curbs memory consumption: Scripting. (line 96) +* -toc shows list of sessions: Inquiry. (line 27) +* -toc_of shows list of sessions: Inquiry. (line 41) +* -uid sets global ownership: SetWrite. (line 268) +* -update inserts path if different: Insert. (line 94) +* -update_l inserts paths if different: Insert. (line 114) +* -update_r inserts paths if different: Insert. (line 104) +* -use_readline enables readline for dialog: DialogCtl. (line 26) +* -version prints help text: Scripting. (line 22) +* -volid sets volume id: SetWrite. (line 162) +* -volset_id sets volume set id: SetWrite. (line 182) +* -volume_date sets volume timestamp: SetWrite. (line 205) +* -write_type chooses TAO or SAO/DAO: SetWrite. (line 382) +* -x enables automatic execution order of arguments: ArgSort. (line 16) +* -xattr controls handling of xattr (EA): Loading. (line 169) +* -zisofs controls zisofs production: SetWrite. (line 274)  File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -5337,147 +5189,147 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top [index] * Menu: -* ACL, _definition: Extras. (line 49) -* ACL, control handling, -acl: Loading. (line 170) -* ACL, set in ISO image, -setfacl: Manip. (line 80) -* ACL, set in ISO image, -setfacl_list: Manip. (line 108) -* ACL, set in ISO image, -setfacl_r: Manip. (line 105) -* ACL, show in ISO image, -getfacl: Navigate. (line 70) -* ACL, show in ISO image, -getfacl_r: Navigate. (line 77) -* APM block size: Bootable. (line 334) -* APM, _definition: Extras. (line 41) +* ACL, control handling, -acl: Loading. (line 162) +* ACL, set in ISO image, -setfacl: Manip. (line 68) +* ACL, set in ISO image, -setfacl_list: Manip. (line 94) +* ACL, set in ISO image, -setfacl_r: Manip. (line 92) +* ACL, show in ISO image, -getfacl: Navigate. (line 60) +* ACL, show in ISO image, -getfacl_r: Navigate. (line 66) +* ACL, _definition: Extras. (line 50) +* APM block size: Bootable. (line 336) +* APM, _definition: Extras. (line 42) * Appendable media, _definition: Media. (line 38) -* Appended Filesystem Image, -append_partition: Bootable. (line 343) -* Appended partition, in MBR or GPT: Bootable. (line 223) +* Appended Filesystem Image, -append_partition: Bootable. (line 345) +* Appended partition, in MBR or GPT: Bootable. (line 224) * Automatic execution order, of arguments, -x: ArgSort. (line 16) -* Backslash Interpretation, _definition: Processing. (line 52) -* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 217) -* Backup, enable features, -for_backup: Loading. (line 212) +* Backslash Interpretation, _definition: Processing. (line 53) +* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 205) +* Backup, enable features, -for_backup: Loading. (line 201) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179) * Blank media, _definition: Media. (line 29) -* Blind growing, _definition: Methods. (line 40) +* Blind growing, _definition: Methods. (line 41) * Bootability, control, -boot_image: Bootable. (line 65) * Bugs, reporting: Bugreport. (line 6) -* cdrecord, Emulation: Emulation. (line 118) -* Character Set, _definition: Charset. (line 6) -* Character Set, for input, -in_charset: Loading. (line 116) +* cdrecord, Emulation: Emulation. (line 120) +* Character Set, for input, -in_charset: Loading. (line 109) * Character Set, for input/output, -charset: Charset. (line 54) -* Character Set, for output, -out_charset: SetWrite. (line 276) -* Character set, learn from image, -auto_charset: Loading. (line 122) -* Character Set, of terminal, -local_charset: Charset. (line 58) -* CHRP partition, _definition: Bootable. (line 228) -* Closed media, _definition: Media. (line 43) -* Comment, #: Scripting. (line 173) -* Control, signal handling, -signal_handling: Exception. (line 69) -* Create, new ISO image, _definition: Methods. (line 6) -* Cylinder alignment, _definition: Bootable. (line 271) -* Cylinder size, _definition: Bootable. (line 257) -* Damaged track and session, close, -close_damaged: Writing. (line 170) -* DEC Alpha SRM boot sector, production: Bootable. (line 320) -* Delete, from ISO image, -rm: Manip. (line 21) -* Delete, from ISO image, -rm_r: Manip. (line 28) -* Delete, ISO directory, -rmdir: Manip. (line 32) -* Dialog, bring text into history, -history: Scripting. (line 44) -* Dialog, confirmation question, -reassure: DialogCtl. (line 32) +* Character Set, for output, -out_charset: SetWrite. (line 263) +* Character set, learn from image, -auto_charset: Loading. (line 114) +* Character Set, of terminal, -local_charset: Charset. (line 57) +* Character Set, _definition: Charset. (line 6) +* CHRP partition, _definition: Bootable. (line 229) +* Closed media, _definition: Media. (line 44) +* Comment, #: Scripting. (line 156) +* Control, signal handling, -signal_handling: Exception. (line 66) +* Create, new ISO image, _definition: Methods. (line 7) +* Cylinder alignment, _definition: Bootable. (line 273) +* Cylinder size, _definition: Bootable. (line 258) +* Damaged track and session, close, -close_damaged: Writing. (line 164) +* DEC Alpha SRM boot sector, production: Bootable. (line 322) +* Delete, from ISO image, -rm: Manip. (line 20) +* Delete, from ISO image, -rm_r: Manip. (line 26) +* Delete, ISO directory, -rmdir: Manip. (line 29) +* Dialog, bring text into history, -history: Scripting. (line 42) +* Dialog, confirmation question, -reassure: DialogCtl. (line 29) * Dialog, enable dialog mode, -dialog: DialogCtl. (line 7) -* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 123) -* Dialog, line editing, -use_readline: DialogCtl. (line 28) -* Dialog, terminal geometry, -page: DialogCtl. (line 19) -* Directories, copy, -cp_clone: Insert. (line 193) -* Directory, copy, -clone: Insert. (line 181) -* Directory, create, -mkdir: Insert. (line 171) -* Directory, delete, -rmdir: Manip. (line 32) +* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 120) +* Dialog, line editing, -use_readline: DialogCtl. (line 26) +* Dialog, terminal geometry, -page: DialogCtl. (line 18) +* Directories, copy, -cp_clone: Insert. (line 175) +* Directory, copy, -clone: Insert. (line 164) +* Directory, create, -mkdir: Insert. (line 156) +* Directory, delete, -rmdir: Manip. (line 29) * disk_path, _definition: Insert. (line 6) -* Drive, _definition: Drives. (line 6) -* Drive, accessability, -drive_class: Loading. (line 78) -* Drive, classify stdio, -early_stdio_test: Loading. (line 283) -* Drive, demand real MMC, -ban_stdio_write: Loading. (line 278) -* Drive, eject tray, -eject: Writing. (line 52) +* Drive, accessability, -drive_class: Loading. (line 73) +* Drive, classify stdio, -early_stdio_test: Loading. (line 267) +* Drive, demand real MMC, -ban_stdio_write: Loading. (line 263) +* Drive, eject tray, -eject: Writing. (line 50) * Drive, for input and output, -dev: AqDrive. (line 12) -* Drive, for input, -indev: AqDrive. (line 24) -* Drive, for output, -outdev: AqDrive. (line 31) -* Drive, get drive list, -device_links: Inquiry. (line 18) +* Drive, for input, -indev: AqDrive. (line 23) +* Drive, for output, -outdev: AqDrive. (line 29) * Drive, get drive list, -devices: Inquiry. (line 7) -* Drive, list supported media, -list_profiles: Writing. (line 184) -* Drive, reduce activity, -calm_drive: Loading. (line 267) -* Drive, report SCSI commands, -scsi_log: Scripting. (line 158) -* Drive, write and eject, -commit_eject: Writing. (line 56) -* EA, _definition: Extras. (line 65) +* Drive, get drive list, -device_links: Inquiry. (line 17) +* Drive, list supported media, -list_profiles: Writing. (line 177) +* Drive, reduce activity, -calm_drive: Loading. (line 253) +* Drive, report SCSI commands, -scsi_log: Scripting. (line 143) +* Drive, write and eject, -commit_eject: Writing. (line 53) +* Drive, _definition: Drives. (line 6) +* EA, _definition: Extras. (line 66) * ECMA-119, _definition: Model. (line 6) -* EFI system partition, _definition: Bootable. (line 237) +* EFI system partition, _definition: Bootable. (line 238) * El Torito, _definition: Extras. (line 19) * Emulation, -as: Emulation. (line 13) -* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 153) -* Emulation, cdrecord, -as: Emulation. (line 118) -* Emulation, mkisofs, -as: Emulation. (line 16) -* Emulation, pacifier form, -pacifier: Emulation. (line 165) +* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155) +* Emulation, cdrecord, -as: Emulation. (line 120) +* Emulation, mkisofs, -as: Emulation. (line 17) +* Emulation, pacifier form, -pacifier: Emulation. (line 166) * Examples: Examples. (line 6) -* extattr, _definition: Extras. (line 65) -* File content, copy, -concat: Restore. (line 129) -* Filter, _definition: Filter. (line 6) -* Filter, apply to file tree, -set_filter_r: Filter. (line 90) -* Filter, apply to file, -set_filter: Filter. (line 61) -* Filter, ban registration, -close_filter_list: Filter. (line 52) +* extattr, _definition: Extras. (line 66) +* File content, copy, -concat: Restore. (line 119) +* Filter, apply to file tree, -set_filter_r: Filter. (line 84) +* Filter, apply to file, -set_filter: Filter. (line 58) +* Filter, ban registration, -close_filter_list: Filter. (line 50) * Filter, register, -external_filter: Filter. (line 20) -* Filter, show chain, -show_stream: Navigate. (line 169) -* Filter, show chains of tree, -show_stream_r: Navigate. (line 183) -* Filter, unregister, -unregister_filter: Filter. (line 48) -* Filter, zisofs parameters, -zisofs: SetWrite. (line 290) +* Filter, show chain, -show_stream: Navigate. (line 148) +* Filter, show chains of tree, -show_stream_r: Navigate. (line 161) +* Filter, unregister, -unregister_filter: Filter. (line 47) +* Filter, zisofs parameters, -zisofs: SetWrite. (line 274) +* Filter, _definition: Filter. (line 6) * Frontend program, start at pipes, -launch_frontend: Frontend. - (line 146) -* GPT, _definition: Extras. (line 38) -* Group, global in ISO image, -gid: SetWrite. (line 286) -* Group, in ISO image, -chgrp: Manip. (line 57) -* Group, in ISO image, -chgrp_r: Manip. (line 62) -* Growing, _definition: Methods. (line 19) -* Hard links, control handling, -hardlinks: Loading. (line 134) -* HFS+ allocation block size: Bootable. (line 331) -* HFS+ serial number: Bootable. (line 328) -* hidden, set in ISO image, -hide: Manip. (line 191) -* HP-PA boot sector, production: Bootable. (line 303) -* Image reading, cache size, -data_cache_size: Loading. (line 296) -* Image, _definition: Model. (line 9) -* Image, demand volume ID, -assert_volid: Loading. (line 108) + (line 142) +* GPT, _definition: Extras. (line 39) +* Group, global in ISO image, -gid: SetWrite. (line 271) +* Group, in ISO image, -chgrp: Manip. (line 49) +* Group, in ISO image, -chgrp_r: Manip. (line 53) +* Growing, _definition: Methods. (line 20) +* Hard links, control handling, -hardlinks: Loading. (line 125) +* HFS+ allocation block size: Bootable. (line 333) +* HFS+ serial number: Bootable. (line 330) +* hidden, set in ISO image, -hide: Manip. (line 171) +* HP-PA boot sector, production: Bootable. (line 305) +* Image reading, cache size, -data_cache_size: Loading. (line 279) +* Image, demand volume ID, -assert_volid: Loading. (line 102) * Image, discard pending changes, -rollback: Writing. (line 9) -* Image, override change status, -changes_pending: Writing. (line 13) -* Image, set abstract file name, -abstract_file: SetWrite. (line 237) -* Image, set application id, -application_id: SetWrite. (line 196) +* Image, override change status, -changes_pending: Writing. (line 12) +* Image, set abstract file name, -abstract_file: SetWrite. (line 228) +* Image, set application id, -application_id: SetWrite. (line 191) * Image, set application iuse field, -application_use: SetWrite. - (line 262) -* Image, set biblio file name, -biblio_file: SetWrite. (line 244) -* Image, set copyright file name, -copyright_file: SetWrite. (line 231) -* Image, set preparer id, -preparer_id: SetWrite. (line 250) -* Image, set publisher id, -publisher: SetWrite. (line 190) -* Image, set system id, -system_id: SetWrite. (line 205) -* Image, set volume id, -volid: SetWrite. (line 164) -* Image, set volume set id, -volset_id: SetWrite. (line 185) -* Image, set volume timestamp, -volume_date: SetWrite. (line 212) -* Image, show Boot Catalog: Inquiry. (line 124) -* Image, show id strings, -pvd_info: Inquiry. (line 115) -* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 146) + (line 250) +* Image, set biblio file name, -biblio_file: SetWrite. (line 234) +* Image, set copyright file name, -copyright_file: SetWrite. (line 223) +* Image, set preparer id, -preparer_id: SetWrite. (line 239) +* Image, set publisher id, -publisher: SetWrite. (line 186) +* Image, set system id, -system_id: SetWrite. (line 199) +* Image, set volume id, -volid: SetWrite. (line 162) +* Image, set volume set id, -volset_id: SetWrite. (line 182) +* Image, set volume timestamp, -volume_date: SetWrite. (line 205) +* Image, show Boot Catalog: Inquiry. (line 115) +* Image, show id strings, -pvd_info: Inquiry. (line 107) +* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 137) +* Image, _definition: Model. (line 9) * Input Character Set, _definition: Charset. (line 25) -* Insert, enable overwriting, -overwrite: SetInsert. (line 131) -* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) -* Insert, file exclusion from file, -not_list: SetInsert. (line 67) -* Insert, file exclusion pattern, -not_leaf: SetInsert. (line 62) -* Insert, file exclusion, -not_mgt: SetInsert. (line 23) -* Insert, file exclusion, -quoted_not_list: SetInsert. (line 72) -* Insert, if different, -update: Insert. (line 104) -* Insert, if different, -update_l: Insert. (line 126) -* Insert, if different, -update_r: Insert. (line 115) -* Insert, large file splitting, -split_size: SetInsert. (line 144) +* Insert, enable overwriting, -overwrite: SetInsert. (line 123) +* Insert, file exclusion absolute, -not_paths: SetInsert. (line 53) +* Insert, file exclusion from file, -not_list: SetInsert. (line 63) +* Insert, file exclusion pattern, -not_leaf: SetInsert. (line 59) +* Insert, file exclusion, -not_mgt: SetInsert. (line 22) +* Insert, file exclusion, -quoted_not_list: SetInsert. (line 66) +* Insert, if different, -update: Insert. (line 94) +* Insert, if different, -update_l: Insert. (line 114) +* Insert, if different, -update_r: Insert. (line 104) +* Insert, large file splitting, -split_size: SetInsert. (line 135) * Insert, limit data file size, -file_size_limit: SetInsert. (line 7) -* Insert, links or mount points, -follow: SetInsert. (line 76) -* Insert, meaning of = with -add, -pathspecs: SetInsert. (line 122) -* Insert, non-dashed arguments, -add_plainly: Insert. (line 66) -* Insert, path, -map: Insert. (line 90) -* Insert, path, -map_single: Insert. (line 95) -* Insert, paths from disk file, -map_l: Insert. (line 99) -* Insert, paths from disk file, -path_list: Insert. (line 80) -* Insert, paths from disk file, -quoted_path_list: Insert. (line 85) -* Insert, paths, -cpr: Insert. (line 157) -* Insert, pathspecs, -add: Insert. (line 47) -* Insert, piece of data file, -cut_out: Insert. (line 131) +* Insert, links or mount points, -follow: SetInsert. (line 69) +* Insert, meaning of = with -add, -pathspecs: SetInsert. (line 115) +* Insert, non-dashed arguments, -add_plainly: Insert. (line 62) +* Insert, path, -map: Insert. (line 83) +* Insert, path, -map_single: Insert. (line 87) +* Insert, paths from disk file, -map_l: Insert. (line 90) +* Insert, paths from disk file, -path_list: Insert. (line 75) +* Insert, paths from disk file, -quoted_path_list: Insert. (line 79) +* Insert, paths, -cpr: Insert. (line 143) +* Insert, pathspecs, -add: Insert. (line 44) +* Insert, piece of data file, -cut_out: Insert. (line 118) * Interval reader for system area and partitions: Bootable. (line 26) * ISO 9660, _definition: Model. (line 6) * iso_rr_path, _definition: Insert. (line 7) @@ -5486,209 +5338,211 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * LBA, _definition: Drives. (line 17) * List delimiter, _definition: Processing. (line 9) * Local Character Set, _definition: Charset. (line 11) -* MBR, _definition: Extras. (line 26) -* MBR, set, -boot_image system_area=: Bootable. (line 174) -* MD5, control handling, -md5: Loading. (line 183) -* Media, erase, -blank: Writing. (line 61) -* Media, format, -format: Writing. (line 91) -* Media, list formats, -list_formats: Writing. (line 134) -* Media, list write speeds, -list_speeds: Writing. (line 146) -* MIPS boot file, activation: Bootable. (line 282) -* mkisofs, Emulation: Emulation. (line 16) -* Modifying, _definition: Methods. (line 27) +* MBR, set, -boot_image system_area=: Bootable. (line 175) +* MBR, _definition: Extras. (line 27) +* MD5, control handling, -md5: Loading. (line 173) +* Media, erase, -blank: Writing. (line 57) +* Media, format, -format: Writing. (line 87) +* Media, list formats, -list_formats: Writing. (line 129) +* Media, list write speeds, -list_speeds: Writing. (line 140) +* MIPS boot file, activation: Bootable. (line 284) +* mkisofs, Emulation: Emulation. (line 17) +* Modifying, _definition: Methods. (line 28) * Multi-session media, _definition: Media. (line 7) * Multi-session, _definition: Model. (line 18) -* Navigate, directory size in ISO image, -du: Navigate. (line 89) -* Navigate, directory size in ISO image, -dus: Navigate. (line 93) -* Navigate, directory size in on disk, -dusx: Navigate. (line 102) -* Navigate, directory size in on disk, -dux: Navigate. (line 97) -* Navigate, list disk files, -lsdlx: Navigate. (line 66) -* Navigate, list disk files, -lsdx: Navigate. (line 58) -* Navigate, list disk files, -lslx: Navigate. (line 62) -* Navigate, list disk files, -lsx: Navigate. (line 51) -* Navigate, list ISO files, -ls: Navigate. (line 26) -* Navigate, list ISO files, -lsd: Navigate. (line 34) -* Navigate, list ISO files, -lsdl: Navigate. (line 47) -* Navigate, list ISO files, -lsl: Navigate. (line 38) -* Navigate, set disk working directory, -cdx: Navigate. (line 16) +* Navigate, directory size in ISO image, -du: Navigate. (line 75) +* Navigate, directory size in ISO image, -dus: Navigate. (line 78) +* Navigate, directory size in on disk, -dusx: Navigate. (line 85) +* Navigate, directory size in on disk, -dux: Navigate. (line 81) +* Navigate, list disk files, -lsdlx: Navigate. (line 57) +* Navigate, list disk files, -lsdx: Navigate. (line 51) +* Navigate, list disk files, -lslx: Navigate. (line 54) +* Navigate, list disk files, -lsx: Navigate. (line 45) +* Navigate, list ISO files, -ls: Navigate. (line 24) +* Navigate, list ISO files, -lsd: Navigate. (line 31) +* Navigate, list ISO files, -lsdl: Navigate. (line 42) +* Navigate, list ISO files, -lsl: Navigate. (line 34) +* Navigate, set disk working directory, -cdx: Navigate. (line 15) * Navigate, set ISO working directory, -cd: Navigate. (line 7) -* Navigate, tell disk working directory, -pwdx: Navigate. (line 23) -* Navigate, tell ISO working directory, -pwd: Navigate. (line 20) -* Next writeable address, -grow_blindly: AqDrive. (line 46) +* Navigate, tell disk working directory, -pwdx: Navigate. (line 21) +* Navigate, tell ISO working directory, -pwd: Navigate. (line 19) +* Next writeable address, -grow_blindly: AqDrive. (line 43) * Output Character Set, _definition: Charset. (line 26) * Overwriteable media, _definition: Media. (line 14) -* Ownership, global in ISO image, -uid: SetWrite. (line 282) -* Ownership, in ISO image, -chown: Manip. (line 49) -* Ownership, in ISO image, -chown_r: Manip. (line 54) -* Partition offset, _definition: Bootable. (line 247) -* Partition table, _definition: Bootable. (line 204) -* Pathspec, _definition: SetInsert. (line 124) -* Pattern expansion, _definition: Processing. (line 24) -* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 36) +* Ownership, global in ISO image, -uid: SetWrite. (line 268) +* Ownership, in ISO image, -chown: Manip. (line 43) +* Ownership, in ISO image, -chown_r: Manip. (line 47) +* Partition offset, _definition: Bootable. (line 248) +* Partition table, _definition: Bootable. (line 205) +* Pathspec, _definition: SetInsert. (line 117) +* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34) * Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10) -* Permissions, in ISO image, -chmod: Manip. (line 65) -* Permissions, in ISO image, -chmod_r: Manip. (line 77) -* PReP partition, _definition: Bootable. (line 232) +* Pattern expansion, _definition: Processing. (line 25) +* Permissions, in ISO image, -chmod: Manip. (line 55) +* Permissions, in ISO image, -chmod_r: Manip. (line 66) +* PReP partition, _definition: Bootable. (line 233) * Problems, reporting: Bugreport. (line 6) * Process, consolidate text output, -pkt_output: Frontend. (line 7) * Process, control abort on error, -abort_on: Exception. (line 27) -* Process, control exit value, -return_with: Exception. (line 39) -* Process, control verbosity, -report_about: Exception. (line 55) +* Process, control exit value, -return_with: Exception. (line 38) +* Process, control verbosity, -report_about: Exception. (line 53) * Process, disable startup files, -no_rc: Scripting. (line 7) -* Process, end program and write, -end: Scripting. (line 167) -* Process, end program, no writing, -rollback_end: Scripting. (line 170) -* Process, error workarounds, -error_behavior: Exception. (line 96) -* Process, log output channels to file, -logfile: Frontend. (line 20) +* Process, end program and write, -end: Scripting. (line 151) +* Process, end program, no writing, -rollback_end: Scripting. (line 154) +* Process, error workarounds, -error_behavior: Exception. (line 92) +* Process, log output channels to file, -logfile: Frontend. (line 19) * Process, read command file, -options_from_file: Scripting. (line 12) -* Process, set synchronizing message, -mark: Frontend. (line 25) -* Program messages, perform operations, -msg_op: Frontend. (line 30) -* Program, backslash conversion, -backslash_codes: Scripting. (line 78) -* Program, curb memory, -temp_mem_limit: Scripting. (line 103) -* Program, end and write, -end: Scripting. (line 167) -* Program, end without writing, -rollback_end: Scripting. (line 170) -* Program, list extra features, -list_extras: Scripting. (line 26) -* Program, print help text, -help: Scripting. (line 20) -* Program, print help text, -prog_help: Frontend. (line 184) -* Program, print message text line, -print_info: Scripting. (line 113) -* Program, print result text line, -print: Scripting. (line 110) +* Process, set synchronizing message, -mark: Frontend. (line 23) +* Program messages, perform operations, -msg_op: Frontend. (line 27) +* Program, backslash conversion, -backslash_codes: Scripting. (line 71) +* Program, curb memory, -temp_mem_limit: Scripting. (line 96) +* Program, end and write, -end: Scripting. (line 151) +* Program, end without writing, -rollback_end: Scripting. (line 154) +* Program, list extra features, -list_extras: Scripting. (line 24) +* Program, print help text, -help: Scripting. (line 19) +* Program, print help text, -prog_help: Frontend. (line 179) +* Program, print message text line, -print_info: Scripting. (line 104) +* Program, print result text line, -print: Scripting. (line 102) * Program, print synchronizing text line, -print_mark: Scripting. - (line 116) -* Program, print version, -version: Scripting. (line 23) -* Program, prompt for enter key, -prompt: Scripting. (line 121) -* Program, replace --, -list_delimiter: Scripting. (line 60) -* Program, set name, -prog: Frontend. (line 181) -* Program, show current settings, -status: Scripting. (line 47) -* Program, status history, -status_history_max: Scripting. (line 56) -* Program, wait a time span, -sleep: Scripting. (line 125) -* Quoted input, _definition: Processing. (line 46) + (line 106) +* Program, print version, -version: Scripting. (line 22) +* Program, prompt for enter key, -prompt: Scripting. (line 110) +* Program, replace --, -list_delimiter: Scripting. (line 55) +* Program, set name, -prog: Frontend. (line 177) +* Program, show current settings, -status: Scripting. (line 44) +* Program, status history, -status_history_max: Scripting. (line 52) +* Program, wait a time span, -sleep: Scripting. (line 113) +* Quoted input, _definition: Processing. (line 47) * Read, set speed, -read_speed: Loading. (line 11) * Recovery, retrieve blocks, -check_media: Verify. (line 21) -* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 145) -* Rename, in ISO image, -move: Manip. (line 35) -* Rename, in ISO image, -mv: Manip. (line 42) -* Restore, copy file into disk file, -paste_in: Restore. (line 124) -* Restore, copy file piece to disk, -extract_cut: Restore. (line 84) -* Restore, copy file to disk, -extract_single: Restore. (line 75) -* Restore, copy file tree to disk, -extract: Restore. (line 63) -* Restore, copy file trees to disk, -cp_rx: Restore. (line 111) -* Restore, copy files to disk, -cpax: Restore. (line 107) -* Restore, copy files to disk, -cpx: Restore. (line 95) -* Restore, copy files to disk, -extract_l: Restore. (line 79) +* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 144) +* Rename, in ISO image, -move: Manip. (line 31) +* Rename, in ISO image, -mv: Manip. (line 37) +* Restore, copy file into disk file, -paste_in: Restore. (line 115) +* Restore, copy file piece to disk, -extract_cut: Restore. (line 80) +* Restore, copy file to disk, -extract_single: Restore. (line 73) +* Restore, copy file tree to disk, -extract: Restore. (line 62) +* Restore, copy file trees to disk, -cp_rx: Restore. (line 104) +* Restore, copy file trees to disk, -cp_rx <1>: Restore. (line 112) +* Restore, copy files to disk, -cpax: Restore. (line 101) +* Restore, copy files to disk, -cpx: Restore. (line 90) +* Restore, copy files to disk, -extract_l: Restore. (line 76) * Restore, enable ISO-to-disk, -osirrox: Restore. (line 18) * Result layout, more shell-like, -sh_style_result: Scripting. - (line 67) + (line 61) * Rock Ridge, _definition: Extras. (line 6) +* Session, altered start address, -displacement: Loading. (line 57) +* Session, info string, -session_string: Inquiry. (line 73) +* Session, issue mount command, -mount: Restore. (line 147) +* Session, log when written, -session_log: Scripting. (line 134) +* Session, mount command line, -mount_cmd: Inquiry. (line 49) +* Session, mount parameters, -mount_opts: Inquiry. (line 64) +* Session, select as input, -load: Loading. (line 33) * Session, _definition: Model. (line 6) -* Session, altered start address, -displacement: Loading. (line 60) -* Session, info string, -session_string: Inquiry. (line 78) -* Session, issue mount command, -mount: Restore. (line 158) -* Session, log when written, -session_log: Scripting. (line 149) -* Session, mount command line, -mount_cmd: Inquiry. (line 52) -* Session, mount parameters, -mount_opts: Inquiry. (line 68) -* Session, select as input, -load: Loading. (line 35) -* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27) -* SUN Disk Label, production: Bootable. (line 293) -* SUN SPARC boot images, activation: Bootable. (line 366) -* Symbolic link, create, -lns: Insert. (line 176) -* System area, _definition: Bootable. (line 174) -* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 238) -* Table-of-content, show, -toc: Inquiry. (line 28) -* Timestamps, set in ISO image, -alter_date: Manip. (line 154) -* Timestamps, set in ISO image, -alter_date_r: Manip. (line 187) -* Tree, disk, traverse, -findx: Navigate. (line 106) +* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) +* SUN Disk Label, production: Bootable. (line 295) +* SUN SPARC boot images, activation: Bootable. (line 368) +* Symbolic link, create, -lns: Insert. (line 160) +* System area, _definition: Bootable. (line 175) +* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 225) +* Table-of-content, show, -toc: Inquiry. (line 27) +* Timestamps, set in ISO image, -alter_date: Manip. (line 136) +* Timestamps, set in ISO image, -alter_date_r: Manip. (line 168) +* Tree, disk, traverse, -findx: Navigate. (line 88) * Tree, ISO, traverse and alter, -find: CmdFind. (line 7) * UTF-16, for Joliet paths, -compliance: SetWrite. (line 108) * Verify, check blocks, -check_media: Verify. (line 21) -* Verify, compare ISO and disk file, -compare: Navigate. (line 146) -* Verify, compare ISO and disk tree, -compare_r: Navigate. (line 159) -* Verify, compare ISO and disk, -compare_l: Navigate. (line 164) -* Verify, file checksum, -check_md5: Verify. (line 166) -* Verify, file tree checksums, -check_md5_r: Verify. (line 182) -* Verify, preset -check_media, -check_media_defaults: Verify. (line 41) -* Write, block size, -dvd_obs: SetWrite. (line 333) +* Verify, compare ISO and disk file, -compare: Navigate. (line 128) +* Verify, compare ISO and disk tree, -compare_r: Navigate. (line 140) +* Verify, compare ISO and disk, -compare_l: Navigate. (line 144) +* Verify, file checksum, -check_md5: Verify. (line 164) +* Verify, file tree checksums, -check_md5_r: Verify. (line 178) +* Verify, preset -check_media, -check_media_defaults: Verify. (line 40) +* Write, block size, -dvd_obs: SetWrite. (line 314) * Write, bootability, -boot_image: Bootable. (line 65) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 340) -* Write, close media, -close: SetWrite. (line 359) -* Write, compliance to specs, -compliance: SetWrite. (line 58) -* Write, defect management, -stream_recording: SetWrite. (line 321) -* Write, disable Rock Ridge, -rockridge: SetWrite. (line 52) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 351) +* Write, close media, -close: SetWrite. (line 366) +* Write, compliance to specs, -compliance: SetWrite. (line 56) +* Write, defect management, -stream_recording: SetWrite. (line 303) +* Write, disable Rock Ridge, -rockridge: SetWrite. (line 51) +* Write, drive buffer, -modesty_on_drive: SetWrite. (line 320) * Write, enable HFS+, -hfsplus: SetWrite. (line 14) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 352) -* Write, free space, -tell_media_space: Inquiry. (line 104) -* Write, log problematic disk files, -errfile_log: Scripting. (line 129) -* Write, log written sessions, -session_log: Scripting. (line 149) -* Write, padding image, -padding: SetWrite. (line 384) -* Write, pending ISO image, -commit: Writing. (line 29) -* Write, predict image size, -print_size: Inquiry. (line 91) -* Write, set speed, -speed: SetWrite. (line 302) -* Write, simulation, -dummy: SetWrite. (line 348) -* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 376) -* xattr, _definition: Extras. (line 65) -* xattr, control handling, -xattr: Loading. (line 178) -* xattr, set in ISO image, -setfattr: Manip. (line 118) -* xattr, set in ISO image, -setfattr_list: Manip. (line 134) -* xattr, set in ISO image, -setfattr_r: Manip. (line 131) -* xattr, show in ISO image, -getfattr: Navigate. (line 81) -* xattr, show in ISO image, -getfattr_r: Navigate. (line 85) +* Write, fifo size, -fs: SetWrite. (line 361) +* Write, free space, -tell_media_space: Inquiry. (line 97) +* Write, log problematic disk files, -errfile_log: Scripting. (line 116) +* Write, log written sessions, -session_log: Scripting. (line 134) +* Write, padding image, -padding: SetWrite. (line 389) +* Write, pending ISO image, -commit: Writing. (line 27) +* Write, predict image size, -print_size: Inquiry. (line 85) +* Write, set speed, -speed: SetWrite. (line 285) +* Write, simulation, -dummy: SetWrite. (line 358) +* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 382) +* xattr, control handling, -xattr: Loading. (line 169) +* xattr, set in ISO image, -setfattr: Manip. (line 103) +* xattr, set in ISO image, -setfattr_list: Manip. (line 117) +* xattr, set in ISO image, -setfattr_r: Manip. (line 115) +* xattr, show in ISO image, -getfattr: Navigate. (line 69) +* xattr, show in ISO image, -getfattr_r: Navigate. (line 72) +* xattr, _definition: Extras. (line 66)  Tag Table: -Node: Top420 -Node: Overview1375 -Node: Model3405 -Node: Media6311 -Node: Methods8982 -Node: Drives11557 -Node: Extras15099 -Node: Processing19558 -Node: Dialog23178 -Node: Commands24856 -Node: ArgSort26533 -Node: AqDrive28025 -Node: Loading31070 -Node: Insert47999 -Node: SetInsert58213 -Node: Manip67033 -Node: CmdFind76813 -Node: Filter94447 -Node: Writing99069 -Node: SetWrite109200 -Node: Bootable129906 -Node: Jigdo151756 -Node: Charset156003 -Node: Exception159318 -Node: DialogCtl165438 -Node: Inquiry168036 -Node: Navigate176478 -Node: Verify184776 -Node: Restore194603 -Node: Emulation203207 -Node: Scripting213595 -Node: Frontend221366 -Node: Examples230973 -Node: ExDevices232151 -Node: ExCreate232817 -Node: ExDialog234102 -Node: ExGrowing235367 -Node: ExModifying236172 -Node: ExBootable236676 -Node: ExCharset237228 -Node: ExPseudo238120 -Node: ExCdrecord239018 -Node: ExMkisofs239335 -Node: ExGrowisofs240675 -Node: ExException241810 -Node: ExTime242264 -Node: ExIncBackup242723 -Node: ExRestore246713 -Node: ExRecovery247646 -Node: Files248216 -Node: Seealso249515 -Node: Bugreport250238 -Node: Legal250819 -Node: CommandIdx251830 -Node: ConceptIdx268711 +Node: Top415 +Node: Overview1369 +Node: Model3404 +Node: Media6317 +Node: Methods9003 +Node: Drives11589 +Node: Extras15144 +Node: Processing19620 +Node: Dialog23255 +Node: Commands24941 +Node: ArgSort26618 +Node: AqDrive28112 +Node: Loading31167 +Node: Insert48136 +Node: SetInsert58361 +Node: Manip67209 +Node: CmdFind76992 +Node: Filter94752 +Node: Writing99375 +Node: SetWrite109530 +Node: Bootable132115 +Node: Jigdo154049 +Node: Charset158308 +Node: Exception161635 +Node: DialogCtl167764 +Node: Inquiry170366 +Node: Navigate178811 +Node: Verify187106 +Node: Restore196968 +Node: Emulation205589 +Node: Scripting215999 +Node: Frontend223780 +Node: Examples233415 +Node: ExDevices234593 +Node: ExCreate235254 +Node: ExDialog236554 +Node: ExGrowing237825 +Node: ExModifying238634 +Node: ExBootable239144 +Node: ExCharset239699 +Node: ExPseudo240595 +Node: ExCdrecord241518 +Node: ExMkisofs241838 +Node: ExGrowisofs243195 +Node: ExException244349 +Node: ExTime244807 +Node: ExIncBackup245265 +Node: ExRestore249291 +Node: ExRecovery250237 +Node: Files250809 +Node: Seealso252126 +Node: Bugreport252841 +Node: Legal253432 +Node: CommandIdx254444 +Node: ConceptIdx271267  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 009b7643..f89a69a5 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISO 1 "Version 1.4.1, Mai 17, 2015" +@c man .TH XORRISO 1 "Version 1.4.1, Jul 30, 2015" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -330,7 +330,7 @@ for @command{xorriso}. @* Closed is the state of DVD-ROM media and of multi-session media which were written with command -close on. If the drive is read-only hardware then it will -probably show any media as closed CD-ROM resp. DVD-ROM. +probably show any media as closed CD-ROM or DVD-ROM. @* Overwriteable media assume this state in such read-only drives or if they contain unrecognizable data in the first 32 data blocks. @@ -1003,7 +1003,7 @@ If an ISO image was written onto a partition with offset of 640000 blocks of 512 bytes, then it can be loaded from the base device by -displacement 160000. @* In both cases, the ISO sessions should be self contained, i.e. not add-on -sessions to an ISO image outside their track resp. partition. +sessions to an ISO image outside their track or partition. @c man .TP @item -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern @kindex -drive_class controls drive accessability @@ -1240,7 +1240,8 @@ for substantial time after they have been used for reading. This reduces the startup time for the next drive operation but can be loud and waste energy if no i/o with the drive is expected to happen soon. @* -Modes "in", "out", "all" immediately calm down -indev, -outdev, resp. both. +Modes "in", "out", "all" immediately calm down -indev, -outdev, or both, +respectively. Mode "revoke" immediately alerts both. Mode "on" causes -calm_drive to be performed automatically after each -dev, -indev, and -outdev. Mode "off" disables this. @@ -1394,7 +1395,7 @@ as files to add, if they are not parameters to appropriate commands. @cindex Insert, paths from disk file, -path_list Like -add but read the parameter words from file disk_path or standard input if disk_path is "-". -The list must contain exactly one pathspec resp. disk_path pattern per line. +The list must contain exactly one pathspec or disk_path pattern per line. @c man .TP @item -quoted_path_list disk_path @kindex -quoted_path_list inserts paths from disk file @@ -1547,7 +1548,7 @@ In case of collision merge directories with existing ones, but do not overwrite existing ISO file objects. @* The rules for generating the copy addresses are the same as with -command -cpr (see above) resp. shell command cp -r. Other than with -cpr, +command -cpr (see above) or shell command cp -r. Other than with -cpr, relative iso_rr_path_original will get prepended the -cd path and not the -cdx path. Consider to -mkdir iso_rr_path_dest before -cp_clone so the copy address does not depend on the number of iso_rr_path_original @@ -1648,7 +1649,7 @@ if they contain a / character, or as -not_leaf pattern. @kindex -quoted_not_list sets exclusions @cindex Insert, file exclusion, -quoted_not_list Like -not_list but with quoted input reading rules. Each word is -handled as one parameter for -not_paths resp. -not_leaf. +handled as one parameter for -not_paths or -not_leaf. @c man .TP @item -follow occasion[:occasion[...]] @kindex -follow softlinks and mount points @@ -1751,7 +1752,7 @@ Set the threshold for automatic splitting of regular files. Such splitting maps a large disk file onto a ISO directory with several part files in it. This is necessary if the size of the disk file exceeds -file_size_limit. Older operating systems can handle files in mounted ISO 9660 filesystems -only if they are smaller than 2 GiB resp. 4 GiB. +only if they are smaller than 2 GiB or in other cases 4 GiB. @* Default is 0 which will exclude files larger than -file_size_limit by a FAILURE event. @@ -1915,8 +1916,8 @@ ACL entries are separated by comma or newline. If an entry is empty text or begins with "#" then it will be ignored. A valid entry has to begin by a letter out of @{ugom@} for "user", "group", "other", "mask". It has to contain two colons ":". A non-empty text between those ":" gives a user id -resp. group id. After the second ":" there may be letters out of @{rwx- #@}. -The first three give read, write resp. execute permission. +or group id. After the second ":" there may be letters out of @{rwx- #@}. +The first three give read, write, or execute permission. Letters "-", " " and TAB are ignored. "#" causes the rest of the entry to be ignored. Letter "X" or any other letters are not supported. Examples: @* @@ -2193,7 +2194,7 @@ All applicable -compliance rules are taken into respect. Rule "omit_version" is always enabled, because else namespaces "joliet" and "ecma119" would cause changes with every non-directory name. -Consider to also enable rules "no_force_dots" resp. "no_j_force_dots". +Consider to also enable rules "no_force_dots" and "no_j_force_dots". @* The namespaces use different character sets and apply further restrictions to name length, permissible characters, and mandatory name components. @@ -2223,7 +2224,7 @@ is performed if the decision is "yes" or "true". See operator -if. @c man \fB\-true\fR and \fB\-false\fR : @c man-ignore-lines 1 @item -true and -false : -Always match resp. match not. Evaluation goes on. +Always match or match not, respectively. Evaluation goes on. @* @item -sort_lba : Always match. This causes -find to perform its action in a sequence sorted by @@ -2718,7 +2719,7 @@ under SEE ALSO. @item -eject "in"|"out"|"all" @kindex -eject ejects drive tray @cindex Drive, eject tray, -eject -Eject the medium in -indev, resp. -outdev, resp. both drives. +Eject the medium in -indev, -outdev, or both drives, respectively. Note: It is not possible yet to effectively eject disk files. @c man .TP @item -commit_eject "in"|"out"|"all"|"none" @@ -2864,9 +2865,9 @@ Only if the drive reports contradicting speed information there will appear -speed 0, if it deviates from "Write speed H". @* "Read speed L" and "Read speed H" tell the minimum and maximum read speeds, -as reported by the drive. They would be chosen by -read_speed "min" resp. -"max" if they undercut resp. surpass the built-in limits. These are "1x" -resp. "52xCD", "24xDVD", "20xBD". +as reported by the drive. They would be chosen by -read_speed "min" or +"max" if they undercut or surpass the built-in limits. These are "1x", +"52xCD", "24xDVD", "20xBD". @c man .TP @item -close_damaged "as_needed"|"force" @kindex -close_damaged closes damaged track and session @@ -2889,7 +2890,8 @@ After closing was attempted, both drives are given up. @item -list_profiles "in"|"out"|"all" @kindex -list_profiles lists supported media @cindex Drive, list supported media, -list_profiles -Put out a list of media types supported by -indev, resp. -outdev, resp. both. +Put out a list of media types supported by -indev, -outdev, or both, +respectively. The currently recognized type is marked by text "(current)". @end table @c man .TP @@ -3335,6 +3337,46 @@ or BD media. A number of 64 KB may improve throughput with bus systems which show latency problems. The default depends on media type, on command -stream_recording , and on compile time options. @c man .TP +@item -modesty_on_drive parameter[:parameters] +@kindex -modesty_on_drive keep drive buffer hungry +@cindex Write, drive buffer, -modesty_on_drive +Control whether the drive buffer shall be kept from getting completely filled. +Parameter "on" (or "1") keeps the program from trying to write to the burner +drive while its buffer is in danger to be filled over a given limit. +If this limit is exceeded then the program will wait until the filling +reaches a given low percentage value. +@* +This can ease the load on operating system and drive controller and thus help +with achieving better input bandwidth if disk and burner are not on independent +controllers (like hda and hdb). It may also help with simultaneous burns on +different burners with Linux kernels like 3.16. On the other hand it increases +the risk of buffer underflow and thus reduced write speed. +@* +Some burners are not suitable because they +report buffer fill with granularity too coarse in size or time, +or expect their buffer to be filled to the top before they go to full speed. +@* +Parameters "off" or "0" disable this feature. +@* +The threshhold for beginning to wait is given by parameter "max_percent=". +Parameter "min_percent=" defines the threshhold for resuming transmission. +Percentages are permissible in the range of 25 to 100. Numbers in this +range without a prepended name are interpreted as "on:min_percent=". +@* +E.g.: -modesty_on_drive 75 +@* +The optimal values depend on the buffer behavior of the drive. +@* +There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=". +Read the description of burn_drive_set_buffer_waiting() in libburn.h, +before setting them to non-default values. +@* +Parameters, which are not mentioned with a -modesty_on_drive command, +stay unchanged. +Default is: +@* + -modesty_on_drive off:min_percent=65:max_percent=95 +@c man .TP @item -stdio_sync "on"|"off"|"end"|number @kindex -stdio_sync controls stdio buffer @cindex Write, buffer syncing, -stdio_sync @@ -3845,8 +3887,8 @@ This is mutually exclusive with production of other boot blocks like MBR. @* @strong{mips_discard}, @strong{sparc_discard}, @strong{hppa_discard}, @strong{alpha_discard} -revoke any boot file declarations made for mips, mipsel, sparc, hppa, -resp. alpha. +revoke any boot file declarations made for mips/mipsel, sparc, hppa, +or alpha, respectively. This removes the ban on production of other boot blocks. @* @cindex HFS+ serial number @@ -4322,7 +4364,7 @@ before ending the program. With setting "tree" the reassuring prompt will appear for an eventual directory only once and not for each file in its whole subtree. @* -Setting "off" silently kills any kind of image file object resp. performs +Setting "off" silently kills any kind of image file object and performs above irrevocable actions. @* To really produce user prompts, command -dialog needs to be set to "on". @@ -4455,7 +4497,7 @@ address. "%sbsector%" will be substituted by the session start sector. @* "%track%", "%session%", "%volid%" will be substituted by track number, -session number, resp. volume id of the depicted session. +session number, or volume id of the depicted session. @c man .TP @item -print_size @kindex -print_size predicts image size @@ -4607,8 +4649,8 @@ File type 'e' indicates the El Torito boot catalog. @* If the file has non-trivial ACL, then a '+' is appended to the permission info. If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' -for "hfsplus", resp. 'H' for multiple hiding gets appended. -Together with ACL it is 'i', 'j', 'a', resp. 'h'. +for "hfsplus", 'H' for multiple hiding gets appended. +Together with ACL it is 'i', 'j', 'a', 'h'. @c man .TP @item -lsdl iso_rr_pattern [***] @kindex -lsdl lists files in ISO image @@ -5320,7 +5362,7 @@ commands -mkdir, -cp_clone, -find update_merge, and -find rm_merge. -root and -old-root set command -disk_dev_ino to "ino_only" and -md5 to "on", by default. @minus{}disk_dev_ino can be set to "off" by @minus{}@minus{}old-root-no-ino -resp. to "on" by @minus{}@minus{}old-root-devno . +or to "on" by @minus{}@minus{}old-root-devno . @minus{}md5 can be set to "off" by @minus{}@minus{}old-root-no-md5 . @* Not original mkisofs options are @minus{}@minus{}quoted_path_list , @@ -5493,7 +5535,7 @@ character device. If list_path is not empty then the record will also be appended to the data file given by this path. @* -Program scdbackup_verify will recognize and verify tag resp. record. +Program scdbackup_verify will recognize and verify tag and file record. @end table @c man .TP @c man .B Scripting, dialog and program control features: @@ -5674,7 +5716,7 @@ result and info channel. An empty text will cause no output at all. @cindex Program, prompt for enter key, -prompt Show text at beginning of output line and wait for the user to hit the Enter key -resp. to send a line via stdin. +or to send a line via stdin. @c man .TP @item -sleep seconds @kindex -sleep waits for a given time span @@ -5711,7 +5753,7 @@ This transport becomes visible with -report_about "ALL". If path is not empty it gives the address of a plain text file where a log record gets appended after each session. This log can be used to determine the start_lba of a session for mount options -o sbsector= -resp. -s from date or volume ID. +(on GNU/Linux) or -s (on FreeBSD) from date or volume ID. @* Record format is: timestamp start_lba size volume-id @* @@ -5934,7 +5976,7 @@ or be "-" to leave the according standard i/o channel unreplaced. @* xorriso will open the stdin pipe, read and execute dialog lines from it until the sender closes the pipe. The output pipes get opened depending on -mode "buffered" resp. "direct". After all lines are executed, xorriso will +mode "buffered" or "direct". After all lines are executed, xorriso will close its side of the pipes and enter a new cycle of opening, reading and executing. @* @@ -6562,7 +6604,7 @@ sums against the current file content on hard disk. This is usually much faster than the default which compares both contents directly. @* With @strong{mount} option @strong{-o "sbsector="} on GNU/Linux -resp. @strong{-s} on FreeBSD or NetBSD +or @strong{-s} on FreeBSD or NetBSD it is possible to access the session trees which represent the older backup versions. With CD media, GNU/Linux mount accepts session numbers directly by its option "session=". @@ -6666,7 +6708,7 @@ $ xorriso -abort_on NEVER -indev /dev/sr0 \ This can be repeated several times, if necessary with -eject or with other -indev drives. See the human readable part of "$HOME"/dvd_copy.map for addresses which can be used on "$HOME"/dvd_copy with mount option -o sbsector= -resp. -s. +or -s. @c man .SH FILES @node Files, Seealso, Examples, Top @chapter Files @@ -6798,7 +6840,7 @@ If more privacy is desired, mail to @email{scdbackup@@gmx.net}. @* @sp 1 Please describe what you expect @command{xorriso} to do, -the program arguments resp. commands by which you tried to achieve it, +the program arguments or dialog commands by which you tried to achieve it, the messages of @command{xorriso}, and the undesirable outcome of your program run. @* diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index c466be41..a787c02b 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -365,6 +365,16 @@ struct XorrisO { /* the global context of xorriso */ int dvd_obs; /* DVD write chunk size: 0, 32k or 64k */ + int modesty_on_drive; /* "enable" of burn_drive_set_buffer_waiting() + 0= disable , 1= enable waiting , + (-1 = do not change setting) + */ + int min_buffer_usec; /* The other parameters for this function */ + int max_buffer_usec; + int buffer_timeout_sec; + int min_buffer_percent; + int max_buffer_percent; + int stdio_sync; /* stdio fsync interval: -1, 0, >=32 */ int stdio_sync_is_default; /* 1= is still default , 0= has been set */ diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 64af5bc5..42d78bc1 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2015.07.04.094919" +#define Xorriso_timestamP "2015.07.31.162206"