From Syslinux Wiki
Jump to: navigation, search


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.


  • working Syslinux environment
  • two booting entries (labels)


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, first_label is loaded, else let's boot second_label.

The use of -- is required!


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

CPU Features

  • 64  : CPU have 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 have to be SMP

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


    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