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, then first_label is loaded, else let's boot second_label.
The use of "
--" is required!
- display some debugging messages
- just do the detection, don't boot
- CPU has to be x86_64 compatible
- Processor must have hardware virtualization (hvm or svm)
- Processor is running under an hypervisor
- Processor must be multi-core
- Processor features Physical Address Extension (PAE)
- System has 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