bootsmith-iso 1.0.0

ISO9660 inspection and boot-mode auto-classification for bootsmith
Documentation
  • Coverage
  • 28.57%
    2 out of 7 items documented0 out of 2 items with examples
  • Size
  • Source code size: 27.21 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 554.96 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 7s Average build duration of successful builds.
  • all releases: 7s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • jma24/bootsmith
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • jma24

ISO9660 inspection. Two responsibilities:

  1. Classify an ISO into one of the four BootMode families so the pipeline knows what to build (auto-mode resolution).
  2. Inspect an ISO well enough to dry-run the file copy step without actually mounting it via hdiutil.

The classifier walks the ISO9660 directory tree and applies the current mode markers:

  • Hybrid: protective MBR / GPT signature at offset 0x1FE + EFI System Partition GUID present in protective MBR area.
  • Windows NT5: contains I386/TXTSETUP.SIF plus NT5 loader/marker files.
  • Windows: contains bootmgr AND sources/install.wim or sources/install.esd.
  • IsolinuxLinux: contains isolinux/isolinux.bin.
  • UefiOnly: contains EFI/BOOT/BOOTX64.EFI (or other UEFI loader path) AND lacks an MBR signature.

Windows 2000 media (NT 5.0) is split out from XP/2003 (NT 5.1/5.2) using the WIN51/WIN52 root-marker files that Microsoft has shipped on XP-and-later install media since XP launched. Presence = XP/2003 → WindowsNtXp; absence (but still NT5-class) = Win2k → Windows2000. The two modes share the GRUB4DOS chain shape but differ in the textmode ramdisk driver (FiraDisk vs SVBus).

Vista (and a handful of other Microsoft install DVDs) ship a stub ISO9660 whose PVD root contains only README.TXT; the real install tree lives in UDF. The [udf] module walks that tree so the classifier still sees BOOTMGR and SOURCES/INSTALL.WIM on those discs.