Hybrid image mode for Knoppix 8.0

Improving Bootability

Knoppix includes a tiny "boot-only" ISO image in the KNOPPIX folder, which allows you to boot computers that have a USB but cannot boot from it because of a BIOS limitation, to first boot kernel and initial ramdisk from the tiny (20MB) CD version. This then searches for the KNOPPIX folder in all attached drives containing the main system files. This also may be a good workaround for non-hybrid booting BIOSes.

For a UEFI boot, I included a FAT32 partition image with a signed 64-bit pre-bootloader, which then chainloads a special EFI version of syslinux (the disk bootloader) for starting kernel and initial ramdisk in this boot mode.

In theory, computers that can only boot via UEFI should find this image as a UEFI partition on the DVD, as well as on flash disk, and boot from there. In UEFI "secure" mode, a dialog will ask for permission to enroll the bootloader's checksum in the UEFI firmware to enable execution of the "foreign" OS.

With secure mode turned off, UEFI will start the boot screen normally (just without the usual boot splash graphics; we are not in VGA mode anymore).

Image Layout

Figure 6 shows the old DVD-only layout on the left, the new hybrid DVD+Flash layout in the middle, and the "improved" format on the right which allows you to write on the first partition again. The latter is still created by the included flash-knoppix and is not usable for DVDs.

Figure 6: Image layouts for three versions of Knoppix (old, hybrid, and enhanced).

Only the enhanced layout allows to use special Knoppix features, such as changing boot options (the first partition needs to be writable for that) and encryption of the data overlay on the last partition.

Regaining Unclaimed Space

You may have noted the tiny (4MB) Linux partition at the end of the hybrid image format. This is a trick that allows me to adjust the last partition automatically with no interaction during the first boot of a USB flash disk that was freshly installed from the hybrid image using dd or Disk Imager.

During the first boot of Knoppix in the hybrid layout, the idea is to:

  1. Expand the last (KNOPPIX-DATA) partition of the disk to the maximum size.
  2. Expand the filesystem (ReiserFS) on the partition to also use the now available full capacity.
  3. Continue booting normally with the adjusted KNOPPIX-DATA partition as a writable overlay for personal data.

As seen with other distros, there is usually a reboot issued after modifying partitions. I'm trying to avoid this by letting the Knoppix ramdisk do the adjustment before actually mounting the partition, so the kernel can reread the new partition table without problems.

Even if rereading the partition table fails (you never know…), the data partition's start is unchanged, because it was already there, so it can already be used regardless of a temporary "wrong" partition size. Somewhat to my surprise, this works perfectly on all tested computers, so you have a full-sized data partition for your installations and configuration changes immediately from the first boot.

The relevant section in the initial ramdisk script makes sure that only a partition labeled as KNOPPIX-DATA will be expanded, so no other partitions are affected accidentally.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Knoppix 6.3 Exclusive!

    Knoppix creator (and Q&A mastermind) Klaus Knopper shares some insights on the latest release.

  • Knoppix 7.3

    Knoppix 7.3 comprises the current state of Debian GNU/Linux development and comes with the current hardware support of kernel 3.13, a new update function, and extended security and privacy features.

  • Ask Klaus!

    New fdisk behavior, booting Knoppix from USB, and using PHP mail() in Apache.

  • Ask Klaus!

    Klaus Knopper answers your Linux questions.

  • Ask Klaus!


comments powered by Disqus