Difference between revisions of "Install"

From Syslinux Wiki
Jump to: navigation, search
m (Minor misc. changes.)
m (Wiki formatting.)
 
Line 12: Line 12:
 
files in the OS might vary too.
 
files in the OS might vary too.
  
<!-- The following Note is intentionally *repeated* here -->
+
<!-- The following Note is intentionally *repeated* here  
<!--  and in other sections. -->
+
--><!--  and in other sections. -->
 
This document mentions several files that are part of the official  
 
This document mentions several files that are part of the official  
 
Syslinux distribution archives published in [[Download|{{nowrap|kernel.org}}]].  
 
Syslinux distribution archives published in [[Download|{{nowrap|kernel.org}}]].  
Line 23: Line 23:
 
In the official Syslinux distribution archives,  
 
In the official Syslinux distribution archives,  
 
there is no script (nor equivalent automatic method)  
 
there is no script (nor equivalent automatic method)  
to edit / modify / replace / update the configuration {{nowrap|file(s)}}.
+
to edit / modify / replace / update the configuration {{nowrap|file(s).}}  
 
However, there are some command line options that allow changing the (next) boot behavior.
 
However, there are some command line options that allow changing the (next) boot behavior.
  
Line 30: Line 30:
  
 
For BIOS systems,  
 
For BIOS systems,  
the SYSLINUX bootloader file is named {{nowrap|"<tt>ldlinux.sys</tt>"}}.
+
the SYSLINUX bootloader file is named {{nowrap|"<tt>ldlinux.sys</tt>".}}
  
 
{{V|4.00+}}EXTLINUX has been merged into SYSLINUX,  
 
{{V|4.00+}}EXTLINUX has been merged into SYSLINUX,  
Line 38: Line 38:
 
SYSLINUX also needs at least a core module.  
 
SYSLINUX also needs at least a core module.  
 
The location of the core module file inside the official Syslinux  
 
The location of the core module file inside the official Syslinux  
distribution archives is {{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>"}}.
+
distribution archives is {{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>".}}
  
 
The SYSLINUX installers for BIOS systems will copy the bootloader file  
 
The SYSLINUX installers for BIOS systems will copy the bootloader file  
 
and patch the filesystem boot area (usually, the VBR).  
 
and patch the filesystem boot area (usually, the VBR).  
Since version 5.00, also the core module, {{nowrap|"<tt>ldlinux.c32</tt>"}},
+
Since version 5.00, also the core module, {{nowrap|"<tt>ldlinux.c32</tt>",}}  
 
is copied, together in the same directory,  
 
is copied, together in the same directory,  
 
according to the installation command line [[#options|options]].
 
according to the installation command line [[#options|options]].
  
<!-- The following Note is intentionally *repeated* here -->
+
<!-- The following Note is intentionally *repeated* here  
<!--  and in other sections. -->
+
--><!--  and in other sections. -->
 
Note: The SYSLINUX bootloader is <u>not</u> installed to the MBR area  
 
Note: The SYSLINUX bootloader is <u>not</u> installed to the MBR area  
 
(as other bootloaders do).  
 
(as other bootloaders do).  
Line 54: Line 54:
 
in addition to installing SYSLINUX.
 
in addition to installing SYSLINUX.
  
<!-- The following Note is intentionally *repeated* here -->
+
<!-- The following Note is intentionally *repeated* here  
<!--  and in other sections. -->
+
--><!--  and in other sections. -->
 
Note: Some command line [[#options|options]]  
 
Note: Some command line [[#options|options]]  
 
are available in every alternative installer.  
 
are available in every alternative installer.  
Line 68: Line 68:
 
Inside the official Syslinux distribution archives:
 
Inside the official Syslinux distribution archives:
 
; [bios/]linux/syslinux
 
; [bios/]linux/syslinux
: Also known as {{nowrap|"syslinux-nomtools"}}, requires root permissions and the device's filesystem shall <u>not</u> be mounted. Supports FAT.
+
: Also known as {{nowrap|"syslinux-nomtools",}} <!--
 +
--> requires root permissions and the device's filesystem shall <u>not</u> be mounted. <!--
 +
--> Supports FAT.
 
; [bios/]mtools/syslinux
 
; [bios/]mtools/syslinux
: Depends on "mtools", requires unprivileged write permissions and the device's filesystem shall <u>not</u> be mounted. Supports FAT.
+
: Depends on "mtools", <!--
 +
--> requires unprivileged write permissions and <!--
 +
--> the device's filesystem shall <u>not</u> be mounted. Supports FAT.
 
; [bios/]extlinux/extlinux
 
; [bios/]extlinux/extlinux
 
: Requires the filesystem (volume) to be mounted. Supports several [[filesystem]]s.
 
: Requires the filesystem (volume) to be mounted. Supports several [[filesystem]]s.
Line 78: Line 82:
 
{{nowrap|Linux-based}} SYSLINUX installers since Syslinux 4.02,  
 
{{nowrap|Linux-based}} SYSLINUX installers since Syslinux 4.02,  
 
unless noted differently.
 
unless noted differently.
<!-- Some options exposed in this document -->
+
<!--
<!--  are also valid in prior versions of the Linux-based -->
+
--><!-- Some options exposed in this document  
<!--  installers, specially since version 4.00. -->
+
--><!--  are also valid in prior versions of the Linux-based  
<!-- The presentation of the options for version 4.02+ -->
+
--><!--  installers, particularly since version 4.00.  
<!--  has been chosen for simplicity and clarity. -->
+
--><!-- The presentation of the options for version 4.02+  
<!-- The fact that some options are valid for older versions too -->
+
--><!--  has been chosen for simplicity and clarity.  
<!--  does not change the main goal of the content of this document. -->
+
--><!-- The fact that some options are valid for older versions too  
<!-- Making the content more accurate by adding more detailed -->
+
--><!--  does not change the main goal of the content of this document.  
<!--  information about versions and their options would over-complicate -->
+
--><!-- Making the content more accurate by adding more detailed  
<!--  the document and would not improve its clarity for final users.-->
+
--><!--  information about versions and their options would over-complicate  
<!-- -->
+
--><!--  the document and would not improve its clarity for final users.
 +
--><!-- -->
  
  
 
'''Syntax:'''
 
'''Syntax:'''
 
<br />Note: The ''Device'' should be <u>unmounted</u>  
 
<br />Note: The ''Device'' should be <u>unmounted</u>  
before executing the syslinux command.
+
before executing the <tt>syslinux</tt> command.
<!-- Do NOT use "pre" tags in the following few lines, -->
+
<!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
 
  syslinux --version
 
  syslinux --version
 
  syslinux [--help]
 
  syslinux [--help]
Line 102: Line 107:
  
 
<br />Note: For <u>mounted</u> fs installation:
 
<br />Note: For <u>mounted</u> fs installation:
<!-- Do NOT use "pre" tags in the following few lines, -->
+
<!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
 
  extlinux --version
 
  extlinux --version
 
  extlinux [--help]
 
  extlinux [--help]
Line 125: Line 130:
 
supports FAT and NTFS mounted filesystems.
 
supports FAT and NTFS mounted filesystems.
  
In some {{nowrap|64-bits}} Windows environments  
+
In some {{nowrap|64-bit}} Windows environments  
{{nowrap|(e.g. some WinPE x64)}},
+
{{nowrap|(e.g. some WinPE x64),}}  
 
the normal {{nowrap|"syslinux.exe"}} installer might fail.  
 
the normal {{nowrap|"syslinux.exe"}} installer might fail.  
 
In such case,  
 
In such case,  
Line 141: Line 146:
  
 
'''Syntax:'''
 
'''Syntax:'''
<!-- Do NOT use "pre" tags in the following few lines, -->
+
<!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
 
  syslinux[64].exe --version
 
  syslinux[64].exe --version
 
  syslinux[64].exe [--help]
 
  syslinux[64].exe [--help]
Line 158: Line 163:
 
<pre>syslinux.exe --mbr --active --directory /boot/syslinux/ --install z:</pre>
 
<pre>syslinux.exe --mbr --active --directory /boot/syslinux/ --install z:</pre>
  
* In the above example, [[Configuration_location_and_name|syslinux.cfg]] would be expected to be in ''<tt>z:\boot\syslinux\syslinux.cfg</tt>''
+
* In the above example, [[Configuration_location_and_name|syslinux.cfg]] <!--
 +
--> would be expected to be in ''<tt>z:\boot\syslinux\syslinux.cfg</tt>''.
  
* Note that the directory path in the command line is using {{nowrap|slash "<tt><nowiki>/</nowiki></tt>", not backslash "<tt><nowiki>\</nowiki></tt>"}}.
+
* Note that the directory path in the command line is using <!--
 +
--> {{nowrap|slash "<tt><nowiki>/</nowiki></tt>",}} <!--
 +
--> {{nowrap|not backslash "<tt><nowiki>\</nowiki></tt>".}}
  
 
* Note the slash characters, "/", before and after the directory path.
 
* Note the slash characters, "/", before and after the directory path.
  
* Note: Under NT/2K you may get a ''dialog box'' about not getting exclusive access and with {{nowrap|<tt>Abort/Retry/Ignore</tt>}} buttons; <!--  
+
* NOTE: Under NT/2K you may get a ''dialog box'' about not getting <!--
  --> selecting "''<tt>Ignore</tt>''" will make the command execute sucessfully.
+
--> exclusive access and with {{nowrap|<tt>Abort/Retry/Ignore</tt>}} buttons; <!--
 +
--> selecting "'''<tt>Ignore</tt>'''" will make the command execute sucessfully.
  
 
<br />
 
<br />
Line 179: Line 188:
  
 
'''Syntax:'''
 
'''Syntax:'''
<!-- Do NOT use "pre" tags in the following few lines, -->
+
<!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
 
  syslinux.com --version
 
  syslinux.com --version
 
  syslinux.com [--help]
 
  syslinux.com [--help]
Line 193: Line 202:
 
=== options ===
 
=== options ===
  
<!-- The following Note is intentionally *repeated* here -->
+
<!-- The following Note is intentionally *repeated* here  
<!--  and in other sections. -->
+
--><!--  and in other sections. -->
 
Note: The SYSLINUX bootloader is <u>not</u> installed to the MBR area  
 
Note: The SYSLINUX bootloader is <u>not</u> installed to the MBR area  
 
(as other bootloaders do).  
 
(as other bootloaders do).  
Line 201: Line 210:
 
in addition to installing SYSLINUX.
 
in addition to installing SYSLINUX.
  
<!-- The following Note is intentionally *repeated* here -->
+
<!-- The following Note is intentionally *repeated* here  
<!--  and in other sections. -->
+
--><!--  and in other sections. -->
 
Note: Some command line [[#options|options]]  
 
Note: Some command line [[#options|options]]  
 
are available in every alternative installer.  
 
are available in every alternative installer.  
Line 212: Line 221:
 
The following tables describe the available "long" options.  
 
The following tables describe the available "long" options.  
 
For some of them, the "short" option is shown (too).  
 
For some of them, the "short" option is shown (too).  
<!-- Some short options are not available in some variants whereas -->
+
<!--
<!--  the corresponding long option is valid. -->
+
--><!-- Some short options are not available in some variants whereas  
<!-- Documenting only long options simplifies the presentation -->
+
--><!--  the corresponding long option is valid.  
<!--  and reduces potential misunderstandings. -->
+
--><!-- Documenting only long options simplifies the presentation  
<!-- -->
+
--><!--  and reduces potential misunderstandings.  
<!-- The following options were initially introduced -->
+
--><!--  
<!--  to some of the installers in version 4.00 -->
+
--><!-- The following options were initially introduced  
<!--  and were expanded to all of them by version 4.02. -->
+
--><!--  to some of the installers in version 4.00  
 +
--><!--  and were expanded to all of them by version 4.02.  
 +
-->
 
The following options are available since version 4.02,  
 
The following options are available since version 4.02,  
 
unless noted differently.  
 
unless noted differently.  
Line 227: Line 238:
 
{{nowrap|"<tt>--help</tt>"}} option.
 
{{nowrap|"<tt>--help</tt>"}} option.
  
Note that the options are {{nowrap|case-sensitive}}.
+
Note that the options are {{nowrap|case-sensitive.}}
  
 
Certain options require an additional argument  
 
Certain options require an additional argument  
{{nowrap|1=(e.g. "<tt>--once=</tt>")}}. In such cases,  
+
{{nowrap|1=(e.g. "<tt>--once=</tt>").}} In such cases,  
 
the option itself and its argument need to be separated,  
 
the option itself and its argument need to be separated,  
 
either by an equal sign {{nowrap|1=("<tt>=</tt>")}}  
 
either by an equal sign {{nowrap|1=("<tt>=</tt>")}}  
 
or by a space character  
 
or by a space character  
{{nowrap|1=(e.g. "<tt>--sectors=32</tt>" or "<tt>--sectors&nbsp;32</tt>")}}.
+
{{nowrap|1=(e.g. "<tt>--sectors=32</tt>" or "<tt>--sectors&nbsp;32</tt>").}}
  
<!-- -->
+
<!--  
<!-- * The short option corresponding to certain long option -->
+
--><!-- * The short option corresponding to certain long option  
<!-- might have changed between versions. -->
+
--><!--   might have changed between versions.  
<!-- * Some short options are available -->
+
--><!-- * Some short options are available  
<!--    in some alternative installers but not in others. -->
+
--><!--    in some alternative installers but not in others.  
<!-- * Being case-sensitive, short options are prone to misuse. -->
+
--><!-- * Being case-sensitive, short options are prone to misuse.  
<!-- So, -->
+
--><!-- 
<!-- some short options are intentionally not included in this list. -->
+
--><!-- So,  
<!-- Users can use each binary's help to find out which options -->
+
--><!-- some short options are intentionally not included in this list.  
<!--  are available. -->
+
--><!-- Users can use each binary's help to find out which options  
<!-- Examples: -->
+
--><!--  are available.  
<!--  -o : --once or --offset or invalid; according to version. -->
+
--><!-- Examples:  
<!--  -O : --clear-once -->
+
--><!--  -o : --once or --offset or invalid; according to version.  
<!--  -M : --menu-save -->
+
--><!--  -O : --clear-once  
<!--      (the lowercase, -m, is used for another option -->
+
--><!--  -M : --menu-save  
<!-- It is safer to simply use the long options. -->
+
--><!--      (the lowercase, -m, is used for another option  
<!--  --raid-mode : The long option has been documented as "raid", -->
+
--><!-- It is safer to simply use the long options.  
<!--                without the "-mode". -->
+
--><!--  --raid-mode : The long option has been documented as "raid",  
<!--                The short option, "-r" has been consistent. -->
+
--><!--                without the "-mode".  
<!--  -->
+
--><!--                The short option, "-r" has been consistent.  
<!--  -->
+
--><!--   
<!-- Comments in libinstaller/syslxopt.c: -->
+
--><!--   
<!-- "force"  :  DOS/Win32/mtools only; e.g. see mtools/syslinux.c -->
+
--><!-- Comments in libinstaller/syslxopt.c:  
<!-- "mbr"    :  DOS/Win32 only -->
+
--><!-- "force"  :  DOS/Win32/mtools only; e.g. see mtools/syslinux.c  
<!-- "active" :  DOS/Win32 only -->
+
--><!-- "mbr"    :  DOS/Win32 only  
<!-- Actually extlinux could also use -d to provide a directory too... -->
+
--><!-- "active" :  DOS/Win32 only  
<!--  -->
+
--><!-- Actually extlinux could also use -d to provide a directory too...  
<!--  -->
+
--><!--   
<!-- Do NOT use "pre" tags in the following few lines, -->
+
--><!--   
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- Do NOT use "pre" tags in the following few lines,  
<!--  -->
+
--><!-- as "pre" does not parse wiki markup.  
<!--  -->
+
--><!--   
<!-- Since the content of the cells include hyphen (minus) characters, -->
+
--><!-- Since the content of the cells includes hyphen (minus) characters,  
<!--  which is part of the table formatting too, -->
+
--><!--  which is part of the table formatting too,  
<!--  each cell should start with a space character. -->
+
--><!--  each cell should start with a space character.  
<!-- To ensure the text/paragraph/sentence is align independently of its -->
+
--><!-- To ensure the text/paragraph/sentence is align independently of its  
<!--  particular content/words when showing the table, -->
+
--><!--  particular content/words when showing the table,  
<!--  *all* cells shall start with a space character. -->
+
--><!--  *all* cells shall start with a space character.  
<!-- Since all cells will start with a space character, -->
+
--><!-- Since all cells will start with a space character,  
<!--  then the "cell spacing" (wiki/html/css) properties should be zero. -->
+
--><!--  then the "cell spacing" (wiki/html/css) properties should be zero.  
<!-- -->
+
--><!--  
<!-- -->
+
--><!-- -->
 
{| border="0" cellpadding="1" cellspacing="0" bgcolor="#f9f9f9" width="100%" style="border: 1px dashed darkgray; padding: 1em; background: #f9f9f9; width: 100%; font-family: monospace; "
 
{| border="0" cellpadding="1" cellspacing="0" bgcolor="#f9f9f9" width="100%" style="border: 1px dashed darkgray; padding: 1em; background: #f9f9f9; width: 100%; font-family: monospace; "
 
|+ style="text-align: left; width: 100%; white-space: nowrap; " | <code>SYSLINUX options:</code>  
 
|+ style="text-align: left; width: 100%; white-space: nowrap; " | <code>SYSLINUX options:</code>  
Line 328: Line 339:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
<!-- In the source code, -->
+
<!--
<!--  the following long option is "--raid-mode". -->
+
--><!-- In the source code,  
<!-- Since there is no other option starting with "--raid", -->
+
--><!--  the following long option is "--raid-mode".  
<!--  the option is interpreted as intended. -->
+
--><!-- Since there is no other option starting with "--raid",  
 +
--><!--  the option is interpreted as intended.  
 +
-->
 
| '''-r''' || '''--raid'''  
 
| '''-r''' || '''--raid'''  
 
|-
 
|-
Line 342: Line 355:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
<!-- Depending on version and on alternative installer, -->
+
<!--
<!--  "-o" means --once or --offset or invalid. -->
+
--><!-- Depending on version and on alternative installer,  
<!-- It can be seen in each binary's help. -->
+
--><!--  "-o" means either --once or --offset or invalid.  
<!-- The "-o" is not presented here for "--once" -->
+
--><!-- It can be seen in each binary's help.  
<!--  so as to avoid potential confusions. -->
+
--><!-- The "-o" is not presented here for "--once"  
 +
--><!--  so as to avoid potential confusions.  
 +
-->
 
| '''&nbsp;&nbsp;''' || '''--once=''<span style="color: maroon; ">...</span>'''''  
 
| '''&nbsp;&nbsp;''' || '''--once=''<span style="color: maroon; ">...</span>'''''  
 
|-
 
|-
Line 359: Line 374:
 
| colspan="3" | &nbsp; Reset auxiliary data vector
 
| colspan="3" | &nbsp; Reset auxiliary data vector
 
|-
 
|-
<!-- <nowiki> -M : --menu-save </nowiki> -->
+
<!--
<!-- <nowiki> The lowercase, -m, is used for another option </nowiki> -->
+
--><!-- <nowiki> -M : --menu-save                                 </nowiki>  
<!-- <nowiki> It can be seen in each binary's help. </nowiki> -->
+
--><!-- <nowiki> The lowercase, -m, is used for another option   </nowiki>  
<!-- <nowiki> The "-M" is not presented here for "--menu-save" </nowiki> -->
+
--><!-- <nowiki> It can be seen in each binary's help.           </nowiki>  
<!-- <nowiki>  so as to avoid potential confusions, </nowiki> -->
+
--><!-- <nowiki> The "-M" is not presented here for "--menu-save" </nowiki>  
<!-- <nowiki>  specially for users of case-insensitive OSes. </nowiki> -->
+
--><!-- <nowiki>  so as to avoid potential confusions,           </nowiki>  
 +
--><!-- <nowiki>  specially for users of case-insensitive OSes.   </nowiki>  
 +
-->
 
| '''&nbsp;&nbsp;''' || '''--menu-save=''<span style="color: maroon; ">mylabel</span>'''''  
 
| '''&nbsp;&nbsp;''' || '''--menu-save=''<span style="color: maroon; ">mylabel</span>'''''  
 
|-
 
|-
Line 383: Line 400:
 
--><!-- THIS ROW SETS COLUMN1and2 (not column3) WIDTH because we use colspan -->
 
--><!-- THIS ROW SETS COLUMN1and2 (not column3) WIDTH because we use colspan -->
 
|- <!-- Alternatively use <nowiki>style="font-weight: bold; "</nowiki> -->
 
|- <!-- Alternatively use <nowiki>style="font-weight: bold; "</nowiki> -->
| colspan="3" style"text-align: left; white-space: nowrap; " | <code> Usage: syslinux [options] ''<span style="color: maroon; ">&lt;Device_Or_Image&gt;</span>'' </code>  
+
| colspan="3" style"text-align: left; white-space: nowrap; " | <!--
 +
--> <code> Usage: </code><br /><!--
 +
--> <code> syslinux [options]<!--
 +
--> ''<span style="color: maroon; ">&lt;Device_Or_Image&gt;</span>'' </code>  
 
|-
 
|-
 
| &nbsp;
 
| &nbsp;
Line 392: Line 412:
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' directory should rather be created before executing the command.  
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' directory should rather be created before executing the command.  
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' should rather be enclosed between slash characters.
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' should rather be enclosed between slash characters.
<!-- The slash characters before and after the path ensure that the installation directory will be the first to be searched-for when looking for the configuration file at boot time. -->
+
<!--
 +
--><!-- The slash characters before and after the path ensure that the  
 +
--><!-- installation directory will be the first to be searched-for when  
 +
--><!-- looking for the configuration file at boot time.  
 +
-->
 
|-
 
|-
 
| '''-f''' || '''--force'''  
 
| '''-f''' || '''--force'''  
Line 398: Line 422:
 
| colspan="3" | &nbsp; Force installing. Ignore precautions. In some cases, this option might not change the result.
 
| colspan="3" | &nbsp; Force installing. Ignore precautions. In some cases, this option might not change the result.
 
|-
 
|-
<!-- <nowiki> The short option -t is equivalent to --offset. </nowiki> -->
+
<!--
<!-- <nowiki> Older versions used to use -o for --offset. </nowiki> -->
+
--><!-- <nowiki> The short option -t is equivalent to --offset.                         </nowiki>  
<!-- <nowiki> To avoid potential confusions, </nowiki> -->
+
--><!-- <nowiki> Older versions used to use -o for --offset.                           </nowiki>  
<!-- <nowiki> the short option is not presented here. </nowiki> -->
+
--><!-- <nowiki> To avoid potential confusions,                                         </nowiki>  
<!-- <nowiki> The relevant binary's --help shows its available options, </nowiki> -->
+
--><!-- <nowiki> the short option is not presented here.                               </nowiki>  
<!-- <nowiki> in both, short and long, formats. </nowiki> -->
+
--><!-- <nowiki> The relevant binary's --help shows its available options,             </nowiki>  
<!-- <nowiki>| '''-t''' || '''--offset=''<span style="color: maroon; ">#</span>''''' </nowiki> -->
+
--><!-- <nowiki> in both, short and long, formats.                                     </nowiki>  
 +
--><!-- <nowiki>| '''-t''' || '''--offset=''<span style="color: maroon; ">#</span>''''' </nowiki>  
 +
-->
 
| '''&nbsp;&nbsp;''' || '''--offset=''<span style="color: maroon; ">#</span>'''''  
 
| '''&nbsp;&nbsp;''' || '''--offset=''<span style="color: maroon; ">#</span>'''''  
 
|-
 
|-
Line 422: Line 448:
 
--><!-- THIS ROW SETS COLUMN1and2 (not column3) WIDTH because we use colspan -->
 
--><!-- THIS ROW SETS COLUMN1and2 (not column3) WIDTH because we use colspan -->
 
|- <!-- Alternatively use <nowiki>style="font-weight: bold; "</nowiki> -->
 
|- <!-- Alternatively use <nowiki>style="font-weight: bold; "</nowiki> -->
| colspan="3" style"text-align: left; white-space: nowrap; " | <code> Usage: syslinux [options] ''<span style="color: maroon; ">&lt;drive&gt;</span>'': [bootsecfile] </code>
+
| colspan="3" style"text-align: left; white-space: nowrap; " | <!--
 +
--> <code> Usage: </code><br /><!--
 +
--> <code> syslinux [options]<!--
 +
--> ''<span style="color: maroon; ">&lt;drive&gt;</span>'': [bootsecfile] </code>  
 
|-
 
|-
 
| &nbsp;
 
| &nbsp;
Line 431: Line 460:
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' directory should rather be created before executing the command.  
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' directory should rather be created before executing the command.  
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' should rather be enclosed between slash characters.
 
The ''<span style="color: maroon; ">&lt;target_path&gt;</span>'' should rather be enclosed between slash characters.
<!-- The slash characters before and after the path ensure that the installation directory will be the first to be searched-for when looking for the configuration file at boot time. -->
+
<!--
 +
--><!-- The slash characters before and after the path ensure that the  
 +
--><!-- installation directory will be the first to be searched-for when  
 +
--><!-- looking for the configuration file at boot time.  
 +
-->
 
|-
 
|-
 
| '''-f''' || '''--force'''  
 
| '''-f''' || '''--force'''  
Line 458: Line 491:
 
--><!-- THIS ROW SETS COLUMN1and2 (not column3) WIDTH because we use colspan -->
 
--><!-- THIS ROW SETS COLUMN1and2 (not column3) WIDTH because we use colspan -->
 
|- <!-- Alternatively use <nowiki>style="font-weight: bold; "</nowiki> -->
 
|- <!-- Alternatively use <nowiki>style="font-weight: bold; "</nowiki> -->
| colspan="3" style"text-align: left; white-space: nowrap; " | <code> Usage: extlinux [options] ''<span style="color: maroon; ">&lt;target_directory&gt;</span>'' </code>
+
| colspan="3" style"text-align: left; white-space: nowrap; " | <!--
 +
--> <code> Usage: </code><br /><!--
 +
--> <code> extlinux [options]<!--
 +
--> ''<span style="color: maroon; ">&lt;target_directory&gt;</span>'' </code>  
 
<!-- <nowiki> Actually extlinux could also use -d to provide a directory too... </nowiki>-->
 
<!-- <nowiki> Actually extlinux could also use -d to provide a directory too... </nowiki>-->
 
|-
 
|-
Line 478: Line 514:
  
 
<u>Linux old Syntax:</u>
 
<u>Linux old Syntax:</u>
<!-- -->
+
<!--  
<!-- Do NOT use "pre" tags in the following few lines, -->
+
--><!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
  <del>syslinux [-sfr][-d ''<span style="color: maroon; ">&lt;target_path&gt;</span>''] [-o ''<span style="color: maroon; ">#</span>''] ''<span style="color: maroon; ">&lt;Device_Or_Image&gt;</span>''</del>
+
{|
 +
|
 +
  <del>syslinux [-sfr][-d ''<span style="color: maroon; ">&lt;target_path&gt;</span>''] <!--
 +
-->[-o ''<span style="color: maroon; ">#</span>''] <!--
 +
-->''<span style="color: maroon; ">&lt;Device_Or_Image&gt;</span>''</del>
 +
|}
 
<!--  -->
 
<!--  -->
  
<del>The <tt>-o</tt> option (if specified) is used with a ''disk image file'' and specifies the ''byte offset'' of the filesystem image in the file.</del>
+
<del>The <tt>-o</tt> option (if specified) is used with a ''disk image file'' <!--
 +
--> and specifies the ''byte offset'' of the filesystem image in the file.</del>
  
Note: Older versions used to use {{nowrap|"<tt>-o</tt>"}} (deprecated) for {{nowrap|"<tt>--offset</tt>"}}.
+
Note: Older versions used to use {{nowrap|"<tt>-o</tt>"}} (deprecated) for {{nowrap|"<tt>--offset</tt>".}}  
In versions where the long option, {{nowrap|"<tt>--offset</tt>"}}, is available,  
+
In versions where the long option, {{nowrap|"<tt>--offset</tt>",}} is available,  
the use of the short option, {{nowrap|"<tt>-o</tt>"}}, should be avoided.  
+
the use of the short option, {{nowrap|"<tt>-o</tt>",}} should be avoided.  
If a byte offset value is required, use the long option, {{nowrap|"<tt>--offset</tt>"}}, when available.
+
If a byte offset value is required, use the long option, {{nowrap|"<tt>--offset</tt>",}} when available.
  
  
 
<u>NT/2K/XP old Syntax:</u>
 
<u>NT/2K/XP old Syntax:</u>
<!-- -->
+
<!--  
<!-- Do NOT use "pre" tags in the following few lines, -->
+
--><!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
  <del>syslinux.exe [-sfmar][-d ''<span style="color: maroon; ">&lt;target_path&gt;</span>''] ''<span style="color: maroon; ">&lt;drive&gt;</span>'': [bootsecfile]</del>
+
{|
 +
|
 +
  <del>syslinux.exe [-sfmar]<!--
 +
-->[-d ''<span style="color: maroon; ">&lt;target_path&gt;</span>''] <!--
 +
-->''<span style="color: maroon; ">&lt;drive&gt;</span>'': [bootsecfile]</del>
 +
|}
 
<!--  -->
 
<!--  -->
  
  
 
<u>DOS old Syntax:</u>
 
<u>DOS old Syntax:</u>
<!-- -->
+
<!--  
<!-- Do NOT use "pre" tags in the following few lines, -->
+
--><!-- Do NOT use "pre" tags in the following few lines,  
<!-- as "pre" does not parse wiki markup. -->
+
--><!-- as "pre" does not parse wiki markup. -->
  <del>syslinux.com [-sfmar][-d ''<span style="color: maroon; ">&lt;target_path&gt;</span>''] ''<span style="color: maroon; ">&lt;drive&gt;</span>'': [bootsecfile]</del>
+
{|
 +
|
 +
  <del>syslinux.com [-sfmar]<!--
 +
-->[-d ''<span style="color: maroon; ">&lt;target_path&gt;</span>''] <!--
 +
-->''<span style="color: maroon; ">&lt;drive&gt;</span>'': [bootsecfile]</del>
 +
|}
 
<!--  -->
 
<!--  -->
  
Line 518: Line 570:
 
In BIOS systems,  
 
In BIOS systems,  
 
the ISOLINUX bootloader file is named  
 
the ISOLINUX bootloader file is named  
{{nowrap|"<tt>isolinux.bin</tt>"}}.
+
{{nowrap|"<tt>isolinux.bin</tt>".}}  
 
There is an alternative  
 
There is an alternative  
 
{{nowrap|"<tt>isolinux-debug.bin</tt>"}}  
 
{{nowrap|"<tt>isolinux-debug.bin</tt>"}}  
Line 525: Line 577:
 
The location of the ISOLINUX bootloader file inside the official  
 
The location of the ISOLINUX bootloader file inside the official  
 
Syslinux distribution archives is  
 
Syslinux distribution archives is  
{{nowrap|"<tt>[bios/]core/isolinux.bin</tt>"}}.
+
{{nowrap|"<tt>[bios/]core/isolinux.bin</tt>".}}
  
 
{{V|5.00+}}In addition to the main bootloader file,  
 
{{V|5.00+}}In addition to the main bootloader file,  
Line 531: Line 583:
 
The location of the core module file inside the official  
 
The location of the core module file inside the official  
 
Syslinux distribution archives is  
 
Syslinux distribution archives is  
{{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>"}}.
+
{{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>".}}
  
 
The bootloader file is used by {{nowrap|so-called}} "ISO building tools"  
 
The bootloader file is used by {{nowrap|so-called}} "ISO building tools"  
Line 546: Line 598:
 
{{nowrap|"<tt>ldlinux.c32</tt>"}}  
 
{{nowrap|"<tt>ldlinux.c32</tt>"}}  
 
needs to be copied to the same directory as  
 
needs to be copied to the same directory as  
{{nowrap|"<tt>isolinux.bin</tt>"}}.
+
{{nowrap|"<tt>isolinux.bin</tt>".}}
  
 
Optionally, ISO images can be featured with [[isohybrid]] capabilities,  
 
Optionally, ISO images can be featured with [[isohybrid]] capabilities,  
Line 564: Line 616:
 
: {{V|6.03+}}Supports TFTP/FTP/HTTP network booting.
 
: {{V|6.03+}}Supports TFTP/FTP/HTTP network booting.
 
; [bios/]gpxe/gpxelinux.0
 
; [bios/]gpxe/gpxelinux.0
: {{V|3.70-6.03}}A merge/mix of gpxe and pxelinux.0, supports several network protocols by means of network boot images (nbi).
+
: {{V|3.70-6.03}}A merge/mix of gpxe and pxelinux.0, <!--
<!-- : The original gpxe has been mostly superseded by ipxe (which has its own configuration syntax and features). -->
+
--> supports several network protocols by means of network boot images (nbi).
 +
<!--
 +
--><!-- : The original gpxe has been mostly superseded by ipxe  
 +
--><!--  (which has its own configuration syntax and features).  
 +
-->
  
 
{{V|5.00+}}In addition to the main bootloader file,  
 
{{V|5.00+}}In addition to the main bootloader file,  
Line 571: Line 627:
 
The location of the core module file inside the official  
 
The location of the core module file inside the official  
 
Syslinux distribution archives is  
 
Syslinux distribution archives is  
{{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>"}}.
+
{{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>".}}
  
 
The bootloader file shall be located in the relevant server,  
 
The bootloader file shall be located in the relevant server,  
Line 608: Line 664:
 
For storage media,  
 
For storage media,  
 
UEFI bootloaders are expected to be found in a  
 
UEFI bootloaders are expected to be found in a  
{{nowrap|so-called}} {{nowrap|''EFI SYSTEM PARTITION''}}.
+
{{nowrap|so-called}} {{nowrap|''EFI SYSTEM PARTITION''.}}
  
 
The {{nowrap|''EFI SYSTEM PARTITION''}}  
 
The {{nowrap|''EFI SYSTEM PARTITION''}}  
Line 617: Line 673:
 
although the UEFI specs allow for others too.  
 
although the UEFI specs allow for others too.  
 
Each firmware might recognize additional / different / several  
 
Each firmware might recognize additional / different / several  
filesystems for $ESP {{nowrap|(e.g. other FAT variants, UDF, HPF+, NTFS,...)}}.
+
filesystems for $ESP {{nowrap|(e.g. other FAT variants, UDF, HPF+, NTFS,...).}}
  
 
According to the UEFI specs,  
 
According to the UEFI specs,  
Line 656: Line 712:
 
Additionally, copy the necessary core module file  
 
Additionally, copy the necessary core module file  
 
(either {{nowrap|"<tt>ldlinux.e32</tt>"}}  
 
(either {{nowrap|"<tt>ldlinux.e32</tt>"}}  
or {{nowrap|"<tt>ldlinux.e64</tt>"}},
+
or {{nowrap|"<tt>ldlinux.e64</tt>",}}  
 
according to the architecture of the firmware) to the same directory.
 
according to the architecture of the firmware) to the same directory.
  
Line 664: Line 720:
  
 
* The UEFI network bootloader file is "syslinux.efi", instead of "lpxelinux.0".
 
* The UEFI network bootloader file is "syslinux.efi", instead of "lpxelinux.0".
* The adequate "syslinux.efi" file depends on the architecture of the client's firmware, {{nowrap|i.e. EFI IA32 or EFI X64}}.
+
* The adequate "syslinux.efi" file depends on the architecture <!--
* Instead of {{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>"}}, <!--  
+
--> of the client's firmware, {{nowrap|i.e. EFI IA32 or EFI X64.}}
   --> the core module is either {{nowrap|"<tt>efi32/com32/elflink/ldlinux/ldlinux.e32</tt>"}} <!--  
+
* Instead of {{nowrap|"<tt>[bios/]com32/elflink/ldlinux/ldlinux.c32</tt>",}} <!--  
   --> or {{nowrap|"<tt>efi64/com32/elflink/ldlinux/ldlinux.e64</tt>"}}, <!--  
+
   --> the core module is either <!--
 +
  --> {{nowrap|"<tt>efi32/com32/elflink/ldlinux/ldlinux.e32</tt>"}} <!--  
 +
   --> or {{nowrap|"<tt>efi64/com32/elflink/ldlinux/ldlinux.e64</tt>",}} <!--  
 
   --> depending on the architecture of the client's firmware.
 
   --> depending on the architecture of the client's firmware.
  
Line 687: Line 745:
 
== file list ==
 
== file list ==
  
<!-- The following Note is intentionally *repeated* here -->
+
<!-- The following Note is intentionally *repeated* here  
<!--  and in other sections. -->
+
--><!--  and in other sections. -->
 
This document mentions several files that are part of the official  
 
This document mentions several files that are part of the official  
 
Syslinux distribution archives published in [[Download|{{nowrap|kernel.org}}]].  
 
Syslinux distribution archives published in [[Download|{{nowrap|kernel.org}}]].  

Latest revision as of 07:39, 16 April 2020

Installing a Syslinux package is not the same as installing Syslinux as bootloader. This document is about how to install each of the Syslinux bootloaders so as to be able to use each of them to boot your system. This document is not about how to install some Syslinux-related package in your OS.

According to each (Linux) distribution, the Syslinux-related packages' names (and the amount of them) might vary. Each Syslinux-related file might be part of different packages, and the final location of the Syslinux-related files in the OS might vary too.

This document mentions several files that are part of the official Syslinux distribution archives published in kernel.org. The paths mentioned in this document are in reference to such official archives. The paths to the same files in your OS are not considered in this document.

The configuration file is not created/updated by the installation commands presented in this document. The configuration file might be modified either manually or by some auxiliary script/tool provided by a third party. In the official Syslinux distribution archives, there is no script (nor equivalent automatic method) to edit / modify / replace / update the configuration file(s). However, there are some command line options that allow changing the (next) boot behavior.


SYSLINUX

For BIOS systems, the SYSLINUX bootloader file is named "ldlinux.sys".

[4.00+] EXTLINUX has been merged into SYSLINUX, and both use "ldlinux.sys" as bootloader file.

[5.00+] In addition to the main bootloader file, SYSLINUX also needs at least a core module. The location of the core module file inside the official Syslinux distribution archives is "[bios/]com32/elflink/ldlinux/ldlinux.c32".

The SYSLINUX installers for BIOS systems will copy the bootloader file and patch the filesystem boot area (usually, the VBR). Since version 5.00, also the core module, "ldlinux.c32", is copied, together in the same directory, according to the installation command line options.

Note: The SYSLINUX bootloader is not installed to the MBR area (as other bootloaders do). See the mbr documentation about how to install the MBR/GPT boot code (if necessary), in addition to installing SYSLINUX.

Note: Some command line options are available in every alternative installer. Some command line options are (only) available in some installers but not in others.


Linux

There are several alternative commands available for installation of SYSLINUX as bootloader for BIOS systems.

Inside the official Syslinux distribution archives:

[bios/]linux/syslinux
Also known as "syslinux-nomtools", requires root permissions and the device's filesystem shall not be mounted. Supports FAT.
[bios/]mtools/syslinux
Depends on "mtools", requires unprivileged write permissions and the device's filesystem shall not be mounted. Supports FAT.
[bios/]extlinux/extlinux
Requires the filesystem (volume) to be mounted. Supports several filesystems.

The #options section in this document is valid for the Linux-based SYSLINUX installers since Syslinux 4.02, unless noted differently.


Syntax:
Note: The Device should be unmounted before executing the syslinux command.

syslinux --version
syslinux [--help]
syslinux [options] <Device_Or_Image>


Note: For mounted fs installation:

extlinux --version
extlinux [--help]
extlinux [options] <target_directory>


Linux Examples:

syslinux --directory /boot/syslinux/ --install /dev/sdb1

Note the slash characters, "/", before and after the directory path.

syslinux --install /dev/fd0


Windows

The Windows-based installer located inside the official Syslinux distribution archives as "[bios/]win32/syslinux.exe" supports FAT and NTFS mounted filesystems.

In some 64-bit Windows environments (e.g. some WinPE x64), the normal "syslinux.exe" installer might fail. In such case, use "[bios/]win64/syslinux64.exe" instead.

The Windows-based SYSLINUX installers are also capable of installing an optional MBR boot code in addition to the normal installation of the bootloader. See #options.

The #options section in this document is valid for the Windows-based SYSLINUX installers since Syslinux 4.02, unless noted differently.

Syntax:

syslinux[64].exe --version
syslinux[64].exe [--help]
syslinux[64].exe [options] <drive>: [bootsecfile]

Windows Examples:

 Floppy: (a: in this example)

syslinux.exe --install a:

 HardDrive/FlashDrive/etc: (z: in this example)

syslinux.exe --mbr --active --directory /boot/syslinux/ --install z:
  • In the above example, syslinux.cfg would be expected to be in z:\boot\syslinux\syslinux.cfg.
  • Note that the directory path in the command line is using slash "/", not backslash "\".
  • Note the slash characters, "/", before and after the directory path.
  • NOTE: Under NT/2K you may get a dialog box about not getting exclusive access and with Abort/Retry/Ignore buttons; selecting "Ignore" will make the command execute sucessfully.


DOS

The DOS-based installer located inside the official Syslinux distribution archives as "[bios/]dos/syslinux.com" supports FAT mounted filesystems.

The #options section in this document is valid for the DOS-based SYSLINUX installers since Syslinux 4.02, unless noted differently.

Syntax:

syslinux.com --version
syslinux.com [--help]
syslinux.com [options] <drive>: [bootsecfile]

DOS Examples:

syslinux.com --install a:


options

Note: The SYSLINUX bootloader is not installed to the MBR area (as other bootloaders do). See the mbr documentation about how to install the MBR/GPT boot code (if necessary), in addition to installing SYSLINUX.

Note: Some command line options are available in every alternative installer. Some command line options are (only) available in some installers but not in others.

Some command line options are available in some versions but not in others; i.e. there are old deprecated options, and new options added.

The following tables describe the available "long" options. For some of them, the "short" option is shown (too). The following options are available since version 4.02, unless noted differently. For the full list of options for each alternative installer (which might vary for each version), please execute the specific installer with the "--help" option.

Note that the options are case-sensitive.

Certain options require an additional argument (e.g. "--once="). In such cases, the option itself and its argument need to be separated, either by an equal sign ("=") or by a space character (e.g. "--sectors=32" or "--sectors 32").

SYSLINUX options:
     
-h --help
-v --version
 
-i --install
  Install over the current bootsector
-U --update
  Update a previous installation of the bootloader code
 
-H --heads=#
  Force number of heads
-S --sectors=#
  Force the number of sectors per track
-z --zip
  Force zipdrive geometry (-H 64 -S 32)
 
-s --stupid
  Slow, safe, stupid mode.

Use simpler code that boots better. May work on some very buggy BIOSes on which SYSLINUX would otherwise fail. If you find a machine on which the "-s" option is required to make it boot reliably, please send as much info about your machine as you can, and include the failure mode.

 
-r --raid
  Raid mode.

If Syslinux fails to boot, then tell the BIOS to boot the next device in the boot sequence (usually the next hard disk), instead of stopping with an error message. This is useful for RAID-1 booting.

 
   --once=...
  Execute a one-time command upon next boot. Usually the command is a known label.
   --clear-once
  Clear the boot-once command
   --reset-adv
  Reset auxiliary data vector
   --menu-save=mylabel
  Set the label to select as default on the next boot.

For this option to be applied, the configuration file needs to include the MENU SAVE directive too.



Only for unmounted fs installation:
     
Usage:
syslinux [options] <Device_Or_Image>
 
-d --directory <target_path>
  Subdirectory for installation target, based on the root of the target device.

The <target_path> directory should rather be created before executing the command. The <target_path> should rather be enclosed between slash characters.

-f --force
  Force installing. Ignore precautions. In some cases, this option might not change the result.
   --offset=#
  Specify the byte offset of the filesystem image in the target "device".

The offset option is applicable only when the target device is a disk image file.



Only for fs installation under DOS/Windows:
     
Usage:
syslinux [options] <drive>: [bootsecfile]
 
-d --directory <target_path>
  Subdirectory for installation target, based on the root of the target device.

The <target_path> directory should rather be created before executing the command. The <target_path> should rather be enclosed between slash characters.

-f --force
  Force installing. Ignore precautions. In some cases, this option might not change the result.
-m --mbr
  Install a generic boot code to the MBR.

Note: The SYSLINUX bootloader is not installed to the MBR area, whether with or without this option.

-a --active
  Mark the partition as "active" ("boot" flag).



Only for mounted fs installation:
     
Usage:
extlinux [options] <target_directory>
 
   --device=device_name
[4.06+] Force use of a specific block device (experts only).



other versions

Some command line options that were valid for prior versions have then changed in newer ones (or are deprecated). Newer versions might also add new options.


Linux old Syntax:

syslinux [-sfr][-d <target_path>] [-o #] <Device_Or_Image>

The -o option (if specified) is used with a disk image file and specifies the byte offset of the filesystem image in the file.

Note: Older versions used to use "-o" (deprecated) for "--offset". In versions where the long option, "--offset", is available, the use of the short option, "-o", should be avoided. If a byte offset value is required, use the long option, "--offset", when available.


NT/2K/XP old Syntax:

syslinux.exe [-sfmar][-d <target_path>] <drive>: [bootsecfile]


DOS old Syntax:

syslinux.com [-sfmar][-d <target_path>] <drive>: [bootsecfile]


EXTLINUX

[4.00+] EXTLINUX has been merged into SYSLINUX, and both use "ldlinux.sys" as bootloader file. See the #SYSLINUX section of this document.

ISOLINUX

In BIOS systems, the ISOLINUX bootloader file is named "isolinux.bin". There is an alternative "isolinux-debug.bin" bootloader file for special purposes.

The location of the ISOLINUX bootloader file inside the official Syslinux distribution archives is "[bios/]core/isolinux.bin".

[5.00+] In addition to the main bootloader file, ISOLINUX also needs at least a core module. The location of the core module file inside the official Syslinux distribution archives is "[bios/]com32/elflink/ldlinux/ldlinux.c32".

The bootloader file is used by so-called "ISO building tools" (e.g. mkisofs/genisoimage/xorriso) as an "El Torito no-emulation" method for booting optical media.

There are no "installers" for ISOLINUX. Before building ISO images, usually the "isolinux.bin" bootloader file needs to be copied to a specific location, part of the future content of the ISO image. The "ISO building tool" will need to know this location as part of the parameters used during the procedures to build the ISO image. Since version 5.00, also the core module named "ldlinux.c32" needs to be copied to the same directory as "isolinux.bin".

Optionally, ISO images can be featured with isohybrid capabilities, so as to be able to boot storage media other than optical ones.

See ISOLINUX.


PXELINUX

The following bootloader files for BIOS network clients are included in the official Syslinux distribution archives:

[bios/]core/pxelinux.0
Supports TFTP network booting.
[bios/]core/lpxelinux.0
[6.03+] Supports TFTP/FTP/HTTP network booting.
[bios/]gpxe/gpxelinux.0
[3.70-6.03] A merge/mix of gpxe and pxelinux.0, supports several network protocols by means of network boot images (nbi).

[5.00+] In addition to the main bootloader file, PXELINUX also needs at least a core module. The location of the core module file inside the official Syslinux distribution archives is "[bios/]com32/elflink/ldlinux/ldlinux.c32".

The bootloader file shall be located in the relevant server, where the network client fetches it. Since version 5.00, also the core module named "ldlinux.c32" needs to be copied to the same directory as the bootloader file.


See PXELINUX.

For UEFI network booting, see the #UEFI section of this document.


UEFI

For UEFI systems, the bootloader files included in the official Syslinux distribution archives are originally named syslinux.efi:

efi32/efi/syslinux.efi
UEFI bootloader for EFI IA32 (x86) firmware.
efi64/efi/syslinux.efi
UEFI bootloader for EFI X64 (x86_64) firmware.

The UEFI bootloader files can be renamed, usually maintaining the ".efi" filename extension.

In UEFI systems, a GPT scheme usually replaces the traditional MBR Partition Table for storage media. The GPT standard is part of the UEFI specification, and it can also be used with BIOS firmware (Syslinux includes "gptmbr*.bin" files for the latter).

For storage media, UEFI bootloaders are expected to be found in a so-called EFI SYSTEM PARTITION.

The EFI SYSTEM PARTITION (see UEFI and EFI System partition) is frequently known as "$ESP". The most commonly supported filesystem format for $ESP is FAT32, although the UEFI specs allow for others too. Each firmware might recognize additional / different / several filesystems for $ESP (e.g. other FAT variants, UDF, HPF+, NTFS,...).

According to the UEFI specs, the default location and naming conventions for storage media are:

EFI_SYSTEM_PARTITION/EFI/BOOT/BOOTIA32.EFI
for EFI IA32 firmware.
EFI_SYSTEM_PARTITION/EFI/BOOT/BOOTX64.EFI
for EFI X64 firmware.

The UEFI specs allow for additional alternative locations and names for UEFI binaries; the aforementioned are just the default location and naming conventions according to the UEFI specs, depending on the relevant firmware/architecture type.

Some firmware might use a different default location and naming for its default UEFI executable(s).

Note: According to the UEFI specs, the firmware uses backslash ("\") instead of slash ("/") characters as path separator.


The syslinux.efi bootloader files need at least a corresponding core module. Inside the official Syslinux distribution archives, the core modules for respective UEFI architectures are located as:

efi32/com32/elflink/ldlinux/ldlinux.e32
for EFI IA32.
efi64/com32/elflink/ldlinux/ldlinux.e64
for EFI X64.

There are no "installers" for syslinux.efi. Copy the relevant syslinux.efi file to an appropriate location, and rename it if necessary or desired. Additionally, copy the necessary core module file (either "ldlinux.e32" or "ldlinux.e64", according to the architecture of the firmware) to the same directory.


For UEFI network boot, the "installation" (or rather, "setup") is similar to the #PXELINUX section of this document, with some differences:

  • The UEFI network bootloader file is "syslinux.efi", instead of "lpxelinux.0".
  • The adequate "syslinux.efi" file depends on the architecture of the client's firmware, i.e. EFI IA32 or EFI X64.
  • Instead of "[bios/]com32/elflink/ldlinux/ldlinux.c32", the core module is either "efi32/com32/elflink/ldlinux/ldlinux.e32" or "efi64/com32/elflink/ldlinux/ldlinux.e64", depending on the architecture of the client's firmware.

The UEFI bootloader file shall be located in the relevant server, where the UEFI network client fetches it. Together with the UEFI bootloader file, the relevant core module, named either "ldlinux.e32" or "ldlinux.e64" respectively, needs to be copied to the same directory as the bootloader file.

Multiple BIOS and UEFI bootloader files and their respective "ldlinux" core module can work together, selecting the necessary booting files depending on the architecture of the client's firmware.


See PXELINUX#UEFI and PXELINUX-Multi-Arch.



file list

This document mentions several files that are part of the official Syslinux distribution archives published in kernel.org. The paths mentioned in this document are in reference to such official archives. The paths to the same files in your OS are not considered in this document.

The locations of the relevant files as found in the official Syslinux distribution archives are here posted for convenience.


SYSLINUX (for BIOS) installers:

[bios/]linux/syslinux
[bios/]mtools/syslinux
[bios/]extlinux/extlinux
[bios/]win32/syslinux.exe
[bios/]win64/syslinux64.exe
[bios/]dos/syslinux.com

ISOLINUX:

[bios/]core/isolinux.bin
[bios/]com32/elflink/ldlinux/ldlinux.c32

Network booting (for BIOS):

[bios/]core/pxelinux.0
[bios/]core/lpxelinux.0
[bios/]gpxe/gpxelinux.0
[bios/]com32/elflink/ldlinux/ldlinux.c32

UEFI IA32:

efi32/efi/syslinux.efi
efi32/com32/elflink/ldlinux/ldlinux.e32

UEFI X64:

efi64/efi/syslinux.efi
efi64/com32/elflink/ldlinux/ldlinux.e64


See also