Ifplop.c32

From Syslinux Wiki
Jump to: navigation, search


ifplop.c32 is a COM32 module for Syslinux that detects if PLoP Boot Manager was used to boot a CDROM drive or USB drive, by checking for the presence of the PLoP INT13h hook.

It is only available in Syslinux 4.01 or later.

Usage

 ifplop.c32 [<plop_detected>] -- [<plop_not_detected>]

Purpose

You may want to boot PLoP by default from Syslinux when you boot from your USB stick/drive:

  • PLoP can improve the speed offered by the BIOS from USB 1.1 to USB 2.0 speed if you have USB 2.0 controllers on your mobo.
  • Some BIOSes can access only the first 128GiB (137GB) on USB drives, while internal hard drives don't necessarily suffer from this 128GiB limitation. Using PLoP's USB capabilities, you can access the whole drive.

Let's take first the following (partial) config file, which does not use ifplop.c32:

 DEFAULT plop
 PROMPT 0
 
 LABEL plop
  LINUX plpbt.bin
  APPEND hiddenusb usb1=2

Once within PLoP Boot Manager, when you select the "USB" entry in PLoP, it will boot your USB stick/drive again. With the above Syslinux config file, it would then cycle back to PLoP again if you have set PLoP as DEFAULT boot option.

By using ifplop.c32, you can specify which action you want to perform the second time your USB stick/drive is booted; so you can load another config file, or boot a large hard disk image, or whatever you want.

Examples

You can specify the full command line for each option (PLoP INT13h hook detected or not). Note: you need to remove the ".bin" file name extension from the "plpbt.bin" file in such case:

 ifplop.c32 menu.c32 another.cfg -- plpbt hiddenusb usb1=2

Or instead, you can specify label names:

 ifplop.c32 plop_detected -- plop_not_detected

A possible configuration file in that case could be:

 DEFAULT plopcheck
 
 # Check for the presence of PLoP (run by default).
 #  When PLoP INT13h hook is found, run the first command (plop_detected).
 #  When PLoP INT13h hook is not found, run the second command (plop_not_detected).
 LABEL plopcheck
  COM32 ifplop.c32
  APPEND plop_detected -- plop_not_detected
 
 # When PLoP INT13h hook was found, boot the menu system.
 # PLoP can potentially provide USB 2.0 speed, so the entries we want to
 # boot will be read from disk much faster (assuming that we have a BIOS
 # that only supports USB 1.1 speed, but a mobo with USB 2.0 controllers).
 LABEL plop_detected
  COM32 menu.c32
  APPEND another.cfg
 
 # PLoP INT13h hook was not found, so we boot PLoP, so it can add USB 2.0 support.
 # When using "LINUX plpbt.bin", you don't need to remove the ".bin" extension.
 LABEL plop_not_detected
  LINUX plpbt.bin
  APPEND hiddenusb usb1=2

PLoP Boot Manager website

http://www.plop.at/en/bootmanagers.html