Difference between revisions of "Ifcpu.c32"

From Syslinux Wiki
Jump to: navigation, search
m (Update wikimedia markup.)
(Wiki formatting.)
Line 1: Line 1:
 
[[Category:Comboot]]
 
[[Category:Comboot]]
[[Category:Move To Scripting Engine]]
 
 
[[Category:Modules]]
 
[[Category:Modules]]
 +
'''ifcpu.c32''' is a comboot module for Syslinux that checks some CPU flags and
 +
loads the appropriate label in a Syslinux configuration file.
  
== About ==
+
This module is available in Syslinux 3.84 or later.  
 
+
Some options were added in later versions.
'''ifcpu.c32''' is a comboot module for Syslinux that checks some CPU flags and loads the appropriate label in a Syslinux configuration file.
+
 
+
This module is available in Syslinux 3.84 or later. Some options were added in later versions.
+
  
 
== Requirements ==
 
== Requirements ==
Line 15: Line 13:
  
 
== Syntax ==
 
== Syntax ==
 +
{|
 +
|
 +
ifcpu.c32 <''options''> <''cpu_features''> -- ''first_label'' -- ''second_label''
 +
|}
  
<pre>ifcpu.c32 <options> <cpu_features> -- first_label -- second_label</pre>
+
When <tt>ifcpu.c32</tt> is used with no additional parameters, the usage help is printed.
 
+
When <code>ifcpu.c32</code> is used with no additional parameters, the usage help is printed.
+
  
If the <code><cpu_features></code> match the current host, <tt>first_label</tt> is loaded, else let's boot <tt>second_label</tt>.
+
If the <tt>''cpu_features''</tt> match the current host, then <tt>''first_label''</tt> is loaded,  
 +
else let's boot <tt>''second_label''</tt>.
  
The use of '''<tt>--</tt>''' is required!
+
The use of "<code>'''--'''</code>" is required!
  
 
== Options ==
 
== Options ==
  
*    debug     : display some debugging messages
+
; debug
*    dry-run   : just do the detection, don't boot
+
: display some debugging messages
 +
; dry-run
 +
: just do the detection, don't boot
  
 
== CPU Features ==
 
== CPU Features ==
  
*    64         : CPU have to be x86_64 compatible
+
; 64
*    hvm       : Processor must have hardware virtualization (hvm or svm)
+
: CPU has to be x86_64 compatible
*    hypervisor : Processor is running under an hypervisor
+
; hvm
*    multicore : Processor must be multi-core
+
: Processor must have hardware virtualization (hvm or svm)
*    pae       : Processor features Physical Address Extension (PAE)
+
; hypervisor
*    smp       : System have to be SMP
+
: Processor is running under an hypervisor
 +
; multicore
 +
: Processor must be multi-core
 +
; pae
 +
: Processor features Physical Address Extension (PAE)
 +
; smp
 +
: System has to be SMP
  
 
If you want to match several cpu features, just separate them with a single space.
 
If you want to match several cpu features, just separate them with a single space.
Line 42: Line 51:
 
== Example ==
 
== Example ==
  
 +
{|
 +
|
 
<pre>
 
<pre>
    label test
+
label test
        com32 ifcpu.c32
+
com32 ifcpu.c32
        append 64 hvm multicore -- boot_entry_1 -- boot_entry_2
+
append 64 hvm multicore -- boot_entry_1 -- boot_entry_2
    label boot_entry_1
+
label boot_entry_1
        kernel vmlinuz_64
+
kernel vmlinuz_64
        append ...
+
append ...
    label boot_entry_2
+
label boot_entry_2
        kernel vmlinuz
+
kernel vmlinuz
        append ...
+
append ...
 
</pre>
 
</pre>
 +
|}
  
 
== See Also ==
 
== See Also ==
  
 
* [[Ifcpu64.c32]] - Detection of 64bits capable CPUs
 
* [[Ifcpu64.c32]] - Detection of 64bits capable CPUs

Revision as of 13:13, 26 January 2019

ifcpu.c32 is a comboot module for Syslinux that checks some CPU flags and loads the appropriate label in a Syslinux configuration file.

This module is available in Syslinux 3.84 or later. Some options were added in later versions.

Requirements

  • working Syslinux environment
  • two booting entries (labels)

Syntax

ifcpu.c32 <options> <cpu_features> -- first_label -- second_label

When ifcpu.c32 is used with no additional parameters, the usage help is printed.

If the cpu_features match the current host, then first_label is loaded, else let's boot second_label.

The use of "--" is required!

Options

debug
display some debugging messages
dry-run
just do the detection, don't boot

CPU Features

64
CPU has to be x86_64 compatible
hvm
Processor must have hardware virtualization (hvm or svm)
hypervisor
Processor is running under an hypervisor
multicore
Processor must be multi-core
pae
Processor features Physical Address Extension (PAE)
smp
System has to be SMP

If you want to match several cpu features, just separate them with a single space.

Example

label test
 com32 ifcpu.c32
 append 64 hvm multicore -- boot_entry_1 -- boot_entry_2
label boot_entry_1
 kernel vmlinuz_64
 append ...
label boot_entry_2
 kernel vmlinuz
 append ...

See Also