English / Deutsch | Print version
Twitter
twitter

PlopKexec - Boot Manager


1. Introduction                                
2. Screenshots
3. Download
4. How to compile
4.1. Automatic build
4.2. Step by step
5. Config files
6. Syslinux commands

1. Introduction


PlopKexec is a Linux Kernel based boot manager for auto detecting and chain loading Linux distributions on USB and CD/DVD drives. You can start PlopKexec from CD, USB or any Linux loader/boot manager. To start PlopKexec from floppy use the 0.3 version because of the size. You can boot Linux from USB even if there is no Bios USB support.

PlopKexec is based on a Linux Kernel and can load only other Linux kernels! PlopKexec is not a fork of kexec-loader.

The Linux distribution detection works only with distributions that are using Syslinux, LILO, GRUB, GRUB2. The distributions can be on FAT, EXT2/3/4 formatted USB drives and on CD/DVD's. You can easily boot the detected Linux distribution from a menu.

Compiled for i486, Linux Kernel 4.3, 50 MB RAM required.

USB support: USB 1.1, 2.0, 3.0
PC-Card (PCMCIA) and PCI Express is supported


2. Screenshots


The screenshots are showing distros from DVD. It works also with distros on USB.

Main Screen, after inserting a Debian install DVD


Submenu


Boot Entry Edit Mode


Debug View


DMESG




3. Download


Please support PlopKexec and donate a few Euros or Dollars


Test release:1.4-test2   28/Jun/2016
plopkexec-1.4-test2.tar.gz120 MB, source code, linux kernel, kernel config, kexec, precompiled program, livecd iso, floppy image
plopkexec.isoISO file, LiveCD, 6.2MB, hybrid
plopkexecTo start by linux loader/boot manager (grub, lilo, syslinux, ...)


Latest release:1.3   08/Feb/2016
plopkexec-1.3.tar.gz110 MB, source code, linux kernel, kernel config, kexec, precompiled program, livecd iso, floppy image
plopkexec.isoISO file, LiveCD, 4.7MB
plopkexecTo start by linux loader/boot manager (grub, lilo, syslinux, ...)
plopkexec.imgFloppy image, Version 0.3
plopkexec.md5sumMD5SUM


Old versions:

plopkexec-1.2.tar.gz, 19/Jan/2016
plopkexec-1.1.tar.gz, 03/Dec/2015
plopkexec-1.0.tar.gz, 17/Jan/2015
plopkexec-0.3.tar.gz, 23/Dec/2011
plopkexec-0.2.tar.gz, 14/Dec/2011


4. How to compile


You need a 32 bit environment with GCC and plopkexec-1.3.tar.gz


4.1. Automatic build


The tar.gz file has some device nodes included (in kernel/initramfs/dev). You should do the whole stuff as root to avoid permission problems.

Extract plopkexec-1.3.tar.gz

Run the script build.sh

When the built was successful then find the files plopkexec and plopkexec.iso in the build/ directory.

You can use the created file plopkexec in grub, lilo, syslinux and so on. Add it to the menu like any other linux kernel.


4.2. Step by step


I suggest to use the Midnight Commander to navigate fast through the filesystem. The tar.gz file has some device nodes included (in kernel/initramfs/dev). You should do the whole stuff as root to avoid permission problems.

You have to do:

  • Extract the file plopkexec-1.3.tar.gz.

    tar xfz plopkexec-1.3.tar.gz
    

  • Change to the plopkexec-1.3/src/ directory.

  • Run make to create the first program (the program name will be init)

  • Change to the plopkexec-1.3/kernel/ directory.

  • Extract the linux kernel source code

    tar xfJ linux-4.3.tar.xz
    

  • Copy the file .config to the linux-4.3/ directory.

  • Extract initramfs.tar.gz to the linux-4.3/ directory.

    tar xfz initramfs -C linux-4.3
    

  • Copy the file plopkexec-1.3/src/init to the linux-4.3/initramfs/ directory.

  • Change to the plopkexec-1.3/kexec directory.

  • Extract the kexec source code

    tar xfz kexec-tools-2.0.2.tar.gz
    

  • In kexec-tools-2.0.2/ run the following commands

    patch -p1 < ..-kexec-plop.patch
    ./configure
    make
    

  • Change to kexec-tools-2.0.2/build/sbin/ and run strip -s kexec

  • Copy the file kexec-tools-2.0.2/build/sbin/kexec to the plopkexec-1.3/kernel/linux-4.3/initramfs/ directory.

  • Change to the linux-4.3/ directory and run make bzImage

  • The compiled file is linux-4.3/arch/x86/boot/bzImage. Rename this file to plopkexec

You can use the created plopkexec in grub, lilo, syslinux and so on.

GRUB, LILO, Syslinux: You can load plopkexec like any linux kernel

ISO: Use plopkexec-1.3/iso/make-iso.sh to create your own ISO. Don't forget to copy your plopkexec file to the plopkexec-1.3/iso/iso/ directory.

Floppy: PlopKexec 0.3

  • Mount the floppy image plopkexec.img with mount -o loop plopkexec.img /mnt

  • Copy your plopkexec to /mnt/

  • Unmount with umount /mnt


5. Config files


PlopKexec is searching for

  • Syslinux config files syslinux.cfg, isolinux.cfg and extlinux.conf in the Syslinux standard directories.

  • The LILO config file /etc/lilo.conf

  • The GRUB legacy config file /boot/grub.conf

  • The GRUB2 config files in /boot/grub.d/ and /etc/grub.d/

  • The file plopkexec.cfg will be searched. It supports the Syslinux commands listed below. The plopkexec.cfg config file has the highest priority. All previous settings like TIMEOUT and DEFAULT can be overridden.

    The location of plopkexec.cfg can be
    /
    /boot/
    /syslinux/
    /isolinux/
    /extlinux/


6. Syslinux commands


List of supported config file commands:

  • APPEND
  • DEFAULT
  • INCLUDE
  • INITRD
  • KERNEL
  • LABEL
  • MENU LABEL
  • TIMEOUT


© 2016 by Elmar Hanlhofer
This page was last modified on 28/Jun/2016.