wamblee.org

Overview

Sticky911 is a simple script and XML based interface to easily and quickly create bootable USB and CD/DVD images for booting one or more linux installations. It uses isolinux under the covers. The idea is to be able to boot quickly and reliably into a linux distribution for which the boot sector is no longer usable. Therefore, only a small subset of isolinux functionality is exposed. Just get your linux kernel, initrd image, root device name, and kernel options and you are ready to go. The aim is first time right.

Advantages of this approach over direct isolinux use are:

  • (Almost) guaranteed correct isolinux configuration file through rigorous XML validation and runtime checks such as:
    • Existence of vmlinuz and initrd files
    • Various consistency checks of the input XML file based on XML schema
    • Guaranteed correct isolinux config file syntax
  • Easier maintenance of kernel and initrd files because the limitation of 8 characters is avoided (sticky911 generates short filenames automagically for you). This means you can maintain your images in a user-friendly way.

Disadvantage is that only limited functionality of isolinux is exposed. This is intentional. It is called sticky911 for a reason because you will typically use this in emergency situations.

Usage

The steps in using it are as follows:

  • Create an XML boot file: Create an XML file that defines:
    • kernel/initrd pairs: Kernel/initrd pairs identified by a symbolic name. This allows use of the same kernel/initrd pairs without copy/paste.
    • entry definition: Define the meny entries by referring to the kernel/initrd pair you want to use, the root directory, and other kernel options.
    • default entry: The definition of the default entry to boot.
    See for example my boot.xml file.
  • Create the image: makebootiso myboot.xml myboot.iso
  • Deploy the image: Burn it onto a CD/DVD or simply copy it to a USB stick like: dd if=myboot.iso of=/dev/sdd bs=10M (substitute your particular device name for /dev/sdd).

Installation

Installation is simple. Just get the latest version from subversion using svn export, copy the files to some location and then put the bin directory of the distribution in your path or invoke the script using the absolute path of the script.

Installation requirements are:

  • isolinux
  • xsltproc
  • xmllint
  • mkisofs

On OpenSuSE 11.3, this amounts to the following packages:

  • syslinux
  • cdrkit-cdrtools-compat
  • libxml2
  • libxslt

Download

There are no releases for this software. It is however used regularly and updated whenever necessary. The subversion URL for read-only access is https://wamblee.org/svn/public/sticky911/trunk . You are free to use it but use it at your own risk.

Credits

A great thanks to the isolinux community. I have used it before and it was already relatively easy but I could not resist the temptation to make a simple XML based interface for isolinux to make rescue situations a little less stressful.