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
ifcpu.c32 is used with no additional parameters, the usage help is printed.
<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
- 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 ...
- Ifcpu64.c32 - Detection of 64bits capable CPUs