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.
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:
- Expand the last (
KNOPPIX-DATA
) partition of the disk to the maximum size. - Expand the filesystem (ReiserFS) on the partition to also use the now available full capacity.
- 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.
« Previous 1 2 3 Next »
Buy this article as PDF
(incl. VAT)