com32/chain: allow service-only runs
[profile/ivi/syslinux.git] / doc / chain.txt
index 76234f1..c508651 100644 (file)
@@ -10,6 +10,7 @@ Chain module can perform few basic tasks:
 - load and jump to a file (also loading a sector for other purposes)
 - prepare handover data to use by a file / boot sector
 - fix different options in a file / sector / partition entries
+- perform a "service-only" run
 
 It can chainload data from both GPT and DOS partitions, as well as boot the
 first sector from a raw disk.
@@ -33,6 +34,22 @@ In most basic form, syslinux loads specified boot sector (or mbr, if not
 specified) at 0:0x7c00, prepares handover area as a standard mbr would do, and
 jumps to 0:0x7c00.
 
+A "service-only" run is possible when either:
+
+- 'nochain' is in effect
+
+or
+
+- 'nofile' and 'nomaps' are in effect
+
+This is useful for invocations such as:
+
+chain.c32 hdN M setbpb save nochain
+chain.c32 hdN mbrchs nochain
+chain.c32 hdN unhideall nochain
+
+Please see respective options for more details.
+
 
 Module invocation:
 
@@ -187,7 +204,7 @@ drive we use during chainloading is not fd0 or hd0.
 In certain situations it's useful to hide partitions - for example to make sure
 DOS gets C:. 'hide' will hide hidable primary partitions, except the one we're
 booting from. Similary, 'hideall' will hide all hidable partitions, except the
-one we're booting from. Hiding is performed only on the booting drive. Options
+one we're booting from. Hiding is performed only on the selected drive. Options
 starting with 'un' will simply unhide every partition (primary ones or all).
 Writing is only performed, if the os type values actually changed.
 
@@ -196,7 +213,7 @@ Writing is only performed, if the os type values actually changed.
 
 If you want to make a drive you're booting from totally compatible with current
 BIOS, you can use this to fix all partitions' CHS numbers. Good to silence e.g.
-FreeDOS complainig about 'logical CHS differs from physcial' of sfdisk about
+FreeDOS complainig about 'logical CHS differs from physical' of sfdisk about
 'found (...) expected (...).  Functionally seems to be mostly cosmetic, as
 Microsoft world - in cases it cares about geometry - generally sticks to values
 written in bootsectors. And the rest of the world generally doesn't care about
@@ -214,6 +231,17 @@ stacks in memory (pxelinux only).
 This option will wait for a keypress right before continuing the chainloading.
 Useful to see warnings emited by the chain module.
 
+       *chain
+       nochain
+       nochain sets: nofile nomaps nohand
+
+It is possible to trigger a "service-only" run - The chain module will do
+everything requested as usual, but it will not perform the actual chainloading.
+'nochain' option disables handover, file loading and sector mapping, as these
+are pointless in such scenario (although file might be reenabled in some future
+version, if writing to actual files becomes possible). Mainly useful for
+options 'mbrchs', '[un]hide[all]' and setbpb.
+
        isolinux=<file>
        sets: file=<file> nohand nosect isolinux
 
@@ -279,7 +307,7 @@ Chainloads GRUB4DOS grldr, performing additional corrections on the file
 in memory.
 
        bss=<file>
-       sets: bss=<file> nomaps setbpb bss
+       sets: file=<file> nomaps setbpb bss
 
 This emulates syslinux's native BSS option. This loads both the file and the
 sector, adjusts BPB values in the loaded sector, then copies all possible BPB
@@ -287,7 +315,7 @@ fields to the loaded file. Everything is made with reference to the selected
 disk/partition.
 
        bs=<file>
-       sets: bs=<file> nosect filebpb
+       sets: file=<file> nosect filebpb
 
 This emulates syslinux's native BS option. This loads the file and if possible
 - adjusts its BPB values. Everything is made with reference to the selected