From 04c5aa191c9ecccd908da9a4905f824c68481012 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 18 Apr 2010 15:46:12 +0000 Subject: [PATCH] Updated documentation about MBR --- libisoburn/trunk/xorriso/xorriso.1 | 26 ++++-- libisoburn/trunk/xorriso/xorriso.info | 123 +++++++++++++++----------- libisoburn/trunk/xorriso/xorriso.texi | 49 +++++----- 3 files changed, 111 insertions(+), 87 deletions(-) diff --git a/libisoburn/trunk/xorriso/xorriso.1 b/libisoburn/trunk/xorriso/xorriso.1 index 93a528ec..a1947856 100644 --- a/libisoburn/trunk/xorriso/xorriso.1 +++ b/libisoburn/trunk/xorriso/xorriso.1 @@ -378,7 +378,12 @@ xorriso is able to create or maintain an El Torito object which makes such an image bootable. For details see option -boot_image. .br It is possible to make ISO images bootable from USB stick or other -hard-disk-like media by -boot_image argument system_area= . +hard-disk-like media by -boot_image argument system_area= . This installs +a Master Boot Record which may get adjusted according to the needs +of GRUB resp. ISOLINUX. +An \fBMBR\fR contains boot code and a partition table. It does not hamper +CDROM booting. The new MBR of a follow-up session can get in effect +only on overwriteable media. .br Emulation -as mkisofs supports the example options out of the ISOLINUX wiki. It also supports the options used in GRUB script grub-mkrescue. @@ -2245,9 +2250,6 @@ the very start of the ISO image. This System Area is reserved for system dependent boot software, e.g. an MBR which can be used to boot from USB stick or hard disk. .br -Special disk_path "/dev/zero" causes 32k of NUL-bytes. -Use this to discard an MBR which eventually was loaded with the ISO image. -.br Other than a El Torito boot image, the file disk_path needs not to be added to the ISO image. .br @@ -2257,13 +2259,23 @@ to the ISO image. 446 to 511 of the System Area. .br With type "isolinux" it shows a partition that begins at byte 0 and it causes -the boot image LBA to be written into the MBR. This works only if also -"system_area=" and "bin_path=" or "dir=" is given. +the boot image LBA to be written into the MBR. For the first session this +works only if also "system_area=" and "bin_path=" or "dir=" is given. .br With types "any" and "grub" it shows a single partiton which starts at byte 512 and ends where the ISO image ends. This works with or without system_area= or boot image. .br +In follow-up sessions the existing System Area is preserved by default. +If types "isolinux" or "grub" are set to "patch", then "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 when the new System Area is written. +.br +Special "system_area=/dev/zero" causes 32k of NUL-bytes. +Use this to discard an MBR which eventually was loaded with the ISO image. +.br .TP .B Character sets: .PP @@ -3131,7 +3143,7 @@ same name and hardcoded argument "on", e.g. -acl "on". Explicit arguments are expected by --stdio_sync and --scdbackup_tag. .br ---sort-weight gets as argument a number and an iso_rr_path. +--sort-weight gets as arguments 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). diff --git a/libisoburn/trunk/xorriso/xorriso.info b/libisoburn/trunk/xorriso/xorriso.info index 4578268e..61ecd686 100644 --- a/libisoburn/trunk/xorriso/xorriso.info +++ b/libisoburn/trunk/xorriso/xorriso.info @@ -337,7 +337,11 @@ 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 option -boot_image. It is possible to make ISO images bootable from USB stick or other -hard-disk-like media by -boot_image argument system_area= . +hard-disk-like media by -boot_image argument system_area= . This +installs a Master Boot Record which may get adjusted according to the +needs of GRUB resp. ISOLINUX. An *MBR* contains boot code and a +partition table. It does not hamper CDROM booting. The new MBR of a +follow-up session can get in effect only on overwriteable media. Emulation -as mkisofs supports the example options out of the ISOLINUX wiki. It also supports the options used in GRUB script grub-mkrescue. The support for other boot image types is sparse. @@ -2004,20 +2008,27 @@ of the existing sessions, unless one can assume overwriteable media. 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 be used to boot from USB stick or hard disk. - Special disk_path "/dev/zero" causes 32k of NUL-bytes. Use this - to discard an MBR which eventually was loaded with the ISO image. Other than a 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". "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 boot image LBA to be written into the MBR. This - works only if also "system_area=" and "bin_path=" or "dir=" is - given. + and it causes the boot image LBA 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 partiton which starts at byte 512 and ends where the ISO image ends. This works with or without system_area= or boot image. + In follow-up sessions the existing System Area is preserved by + default. If types "isolinux" or "grub" are set to "patch", then + "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 + when the new System Area is written. + Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use this + to discard an MBR which eventually was loaded with the ISO image.  File: xorriso.info, Node: Charset, Next: Exception, Prev: Bootable, Up: Options @@ -2806,7 +2817,7 @@ programs trigger comparable actions. xorriso options with the same name and hardcoded argument "on", e.g. -acl "on". Explicit arguments are expected by --stdio_sync and --scdbackup_tag. - --sort-weight gets as argument a number and an iso_rr_path. The + --sort-weight gets as arguments 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). @@ -3787,7 +3798,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top [index] * Menu: -* ACL, _definiton: Extras. (line 32) +* ACL, _definiton: Extras. (line 36) * ACL, control handling, -acl: Loading. (line 128) * ACL, set in ISO image, -setfacl: Manip. (line 73) * ACL, set in ISO image, -setfacl_list: Manip. (line 100) @@ -3889,6 +3900,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Insert, piece of data file, -cut_out: Insert. (line 126) * iso_rr_path, _definition: Insert. (line 7) * List delimiter, _definiton: Processing. (line 8) +* MBR, _definiton: Extras. (line 26) +* MBR, set, -boot_image system_area=: Bootable. (line 85) * MD5, control handling, -md5: Loading. (line 141) * Media, erase, -blank: Writing. (line 45) * Media, format, -format: Writing. (line 69) @@ -3918,6 +3931,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Ownership, global in ISO image, -uid: SetWrite. (line 125) * Ownership, in ISO image, -chown: Manip. (line 42) * Ownership, in ISO image, -chown_r: Manip. (line 47) +* Partition table, _definiton: Bootable. (line 92) * Pathspec, _definition: SetInsert. (line 120) * Pattern expansion, _definition: Processing. (line 22) * Pattern expansion, for disk paths, -disk_pattern: Insert. (line 31) @@ -3968,6 +3982,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Session, mount command line, -mount_cmd: Inquiry. (line 31) * Session, mount parameters, -mount_opts: Inquiry. (line 47) * Session, select as input, -load: Loading. (line 11) +* System area, _definiton: Bootable. (line 85) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 189) * Table-of-content, show, -toc: Inquiry. (line 18) * Timestamps, set in ISO image, -alter_date: Manip. (line 146) @@ -3997,7 +4012,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Write, predict image size, -print_size: Inquiry. (line 69) * Write, set speed, -speed: SetWrite. (line 145) * Write, simulation, -dummy: SetWrite. (line 185) -* xattr, _definiton: Extras. (line 46) +* xattr, _definiton: Extras. (line 50) * xattr, control handling, -xattr: Loading. (line 136) * xattr, set in ISO image, -setfattr: Manip. (line 110) * xattr, set in ISO image, -setfattr_list: Manip. (line 126) @@ -4015,50 +4030,50 @@ Node: Media6089 Node: Methods8519 Node: Drives11066 Node: Extras14332 -Node: Processing17463 -Node: Dialog20959 -Node: Options22616 -Node: AqDrive24184 -Node: Loading27090 -Node: Insert39525 -Node: SetInsert47882 -Node: Manip56449 -Node: CmdFind64325 -Node: Filter73572 -Node: Writing77921 -Node: SetWrite84210 -Node: Bootable94342 -Node: Charset99988 -Node: Exception102742 -Node: DialogCtl107257 -Node: Inquiry109602 -Node: Navigate113742 -Node: Verify121096 -Node: Restore129516 -Node: Emulation136172 -Node: Scripting142858 -Node: Frontend148420 -Node: Examples149621 -Node: ExDevices150790 -Node: ExCreate151272 -Node: ExDialog152546 -Node: ExGrowing153808 -Node: ExModifying154610 -Node: ExBootable155111 -Node: ExCharset155658 -Node: ExPseudo156486 -Node: ExCdrecord157380 -Node: ExMkisofs157695 -Node: ExGrowisofs158698 -Node: ExException159822 -Node: ExTime160276 -Node: ExIncBackup160735 -Node: ExRestore164207 -Node: ExRecovery165176 -Node: Files165742 -Node: Seealso166780 -Node: Legal167304 -Node: CommandIdx168226 -Node: ConceptIdx181527 +Node: Processing17736 +Node: Dialog21232 +Node: Options22889 +Node: AqDrive24457 +Node: Loading27363 +Node: Insert39798 +Node: SetInsert48155 +Node: Manip56722 +Node: CmdFind64598 +Node: Filter73845 +Node: Writing78194 +Node: SetWrite84483 +Node: Bootable94615 +Node: Charset100726 +Node: Exception103480 +Node: DialogCtl107995 +Node: Inquiry110340 +Node: Navigate114480 +Node: Verify121834 +Node: Restore130254 +Node: Emulation136910 +Node: Scripting143597 +Node: Frontend149159 +Node: Examples150360 +Node: ExDevices151529 +Node: ExCreate152011 +Node: ExDialog153285 +Node: ExGrowing154547 +Node: ExModifying155349 +Node: ExBootable155850 +Node: ExCharset156397 +Node: ExPseudo157225 +Node: ExCdrecord158119 +Node: ExMkisofs158434 +Node: ExGrowisofs159437 +Node: ExException160561 +Node: ExTime161015 +Node: ExIncBackup161474 +Node: ExRestore164946 +Node: ExRecovery165915 +Node: Files166481 +Node: Seealso167519 +Node: Legal168043 +Node: CommandIdx168965 +Node: ConceptIdx182266  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorriso.texi b/libisoburn/trunk/xorriso/xorriso.texi index 5573d244..42746eb5 100644 --- a/libisoburn/trunk/xorriso/xorriso.texi +++ b/libisoburn/trunk/xorriso/xorriso.texi @@ -505,25 +505,20 @@ 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 option -boot_image. @* +@cindex MBR, _definiton It is possible to make ISO images bootable from USB stick or other -hard-disk-like media by -boot_image argument system_area= . +hard-disk-like media by -boot_image argument system_area= . This installs +a Master Boot Record which may get adjusted according to the needs +of GRUB resp. ISOLINUX. +An @strong{MBR} contains boot code and a partition table. It does not hamper +CDROM booting. The new MBR of a follow-up session can get in effect +only on overwriteable media. @* Emulation -as mkisofs supports the example options out of the ISOLINUX wiki. It also supports the options used in GRUB script grub-mkrescue. @* The support for other boot image types is sparse. @* -@c -@c >>> isohybrid MBR generation has been disabled on request -@c >>> of its inventor H. Peter Anvin on 31 Mar 2010 -@c -@c An MBR is generated together with the El Torito boot record if the -@c boot image bears the isohybrid signature of ISOLINUX 3.72 or later. -@c It will occupy the first 512 bytes of the emerging ISO image and -@c enable booting from media which appear as hard disk rather than -@c as CDROM. An MBR does not hamper CDROM booting. The MBR of a -@c follow-up session can get in effect only on overwriteable media. -@c @c man .PP @sp 1 @cindex ACL, _definiton @@ -2700,36 +2695,40 @@ is given by "any" "bin_path=". "boot_info_table=off" disables patching. "patch" applies boot info table patching if an existing boot image gets copied to a new location. @* +@cindex System area, _definiton +@cindex MBR, set, -boot_image system_area= "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 be used to boot from USB stick or hard disk. @* -Special disk_path "/dev/zero" causes 32k of NUL-bytes. -Use this to discard an MBR which eventually was loaded with the ISO image. -@* Other than a 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". @* +@cindex Partition table, _definiton "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 boot image LBA to be written into the MBR. This works only if also -"system_area=" and "bin_path=" or "dir=" is given. +the boot image LBA 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 partiton which starts at byte 512 and ends where the ISO image ends. This works with or without system_area= or boot image. @* -@c -@c Bootspec "isohybrid=off" disables MBR generation, "isohybrid=on" -@c prevents the write session if not the isohybrid signature is found -@c in the bin_path file. Default is "isohybrid=auto" which silently -@c omits the MBR if the signature is missing. -@c +In follow-up sessions the existing System Area is preserved by default. +If types "isolinux" or "grub" are set to "patch", then "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 when the new System Area is written. +@* +Special "system_area=/dev/zero" causes 32k of NUL-bytes. +Use this to discard an MBR which eventually was loaded with the ISO image. +@* @end table @c man .TP @c man .B Character sets: @@ -3765,7 +3764,7 @@ same name and hardcoded argument "on", e.g. -acl "on". Explicit arguments are expected by @minus{}@minus{}stdio_sync and @minus{}@minus{}scdbackup_tag. @* -@minus{}@minus{}sort-weight gets as argument a number and an iso_rr_path. +@minus{}@minus{}sort-weight gets as arguments 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). @@ -3779,8 +3778,6 @@ For MBR bootable ISOLINUX images there is -isohybrid-mbr FILE, 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. @* -@c Quite special is isolinux_mbr= (see -boot_image isolinux isohybrid=). -@c @* Personalites "@strong{xorrisofs}", "@strong{genisoimage}", and "@strong{genisofs}" are aliases for "mkisofs". @*