[syslinux] Old Syslinux version 1.40

Kevin Grant kevinpgrant at yahoo.co.uk
Sat May 14 11:55:23 PDT 2022


Thanks for your detailed response, Thomas.
I'm grateful that you showed your methods, as well as confirming my theories. It's always useful to learn new commands in these circumstances :)
The CDROM image does boot successfully, from physical media or mounted as an ISO in a virtual machine - my ambition was to eliminate the need for either a physical disc or a host OS to run the virtual machine - after all, it is just booting a linux 2.0.x kernel and some init scripts, right? :D
You are correct that it then maps a lot of files to /cdrom/live and /cdrom/boot after the initial floppy stage. The process of exactly how it got from the boot.catalog to that stage was proving elusive and opaque to me, thanks for shining some light on it. From inspecting the running machine I could not quite tell which files were in which of the "layers". Those files pointing to /cdrom will probably present their own challenges in due course, but obviously will be well beyond the scope of Syslinux at that point. 
At least now I can continue my meddling.
Cheers!

Kevin Grant  

    On Saturday, 14 May 2022, 12:41:12 BST, Thomas Schmitt <scdbackup at gmx.net> wrote:  
 
 Hi,

Kevin Grant wrote:
> I'm having some fun playing with a really old bootable CDROM image (seems to
> be based off a Slackware image originally) and trying to run it off a USB
> stick or HDD partition instead of CD, but it wasn't created as a hybrid
> image originally and it just won't play ball (yet).
> [...]
> It seems to be using floppy emulation mode, which doesnt help.
> [...]
> https://archive.org/download/cobaltraqrestorecd/CobaltRaQ%20%28196-00102-01%29.iso

At least the download speed is from the early 2000s. :))

  $ xorriso -indev CobaltRaQ__196-00102-01_.iso \
            -pvd_info -report_system_area plain -report_el_torito plain

reports:

  Drive current: -indev 'CobaltRaQ__196-00102-01_.iso'
  PVD address  : 16s
  Volume Id    : CDROM
  Volume Set Id:
  Publisher Id :
  Preparer Id  :
  App Id      : MKISOFS ISO 9660 FILESYSTEM BUILDER
  System Id    : LINUX
  CopyrightFile:
  Abstract File:
  Biblio File  :
  Creation Time: 2000091116290500
  Cr. Time Zone: -07:00
  Modif. Time  : 2000091116290500
  Mo. Time Zone: -07:00
  Expir. Time  : 0000000000000000
  Eff. Time    : 2000091116290500
  Ef. Time Zone: -07:00
  xorriso : NOTE : No System Area was loaded
  El Torito catalog  : 19024  1
  El Torito cat path : /boot/boot.catalog
  El Torito images  :  N  Pltf  B  Emul  Ld_seg  Hdpt  Ldsiz        LBA
  El Torito boot img :  1  BIOS  y  fd2.8  0x0000  0x00      1      19027
  El Torito img path :  1  /boot/eltorito.img

So it's 21.5 years old and the boot image is indeed announced in the
boot catalog as 2.8 MB floppy image which is present in the ISO as data
file /boot/eltorito.img.
Mounting the ISO i get from that file

  $ file /mnt/iso/boot/eltorito.img
  /mnt/iso/boot/eltorito.img: DOS/MBR boot sector, code offset 0x3c+2,
  OEM-ID "SYSLINUX", sectors/cluster 2, root entries 240,
  sectors 5760 (volumes <=32 MB) , sectors/FAT 9, sectors/track 36,
  serial number 0x1e4219cf, label: "LINUX BOOT ", FAT (12 bit),
  followed by FAT

Mounting the file as /mnt/fat i get

  $ find /mnt/fat -exec ls -ld '{}' ';'
  drwxr-xr-x 2 root root 7680 Jan  1  1970 /mnt/fat
  -r-xr-xr-x 1 root root 5352 May 28  1998 /mnt/fat/LDLINUX.SYS
  -rwxr-xr-x 1 root root 1396332 Dec  8  1999 /mnt/fat/INITRD.IMG
  -rwxr-xr-x 1 root root 214 Dec  6  1999 /mnt/fat/MESSAGE.TXT
  -rwxr-xr-x 1 root root 13016 May 27  1998 /mnt/fat/SYSLINUX
  -rwxr-xr-x 1 root root 337 May 12  1998 /mnt/fat/SYSLINUX.CFG
  -rwxr-xr-x 1 root root 6508 May 27  1998 /mnt/fat/SYSLINUX.COM
  -rwxr-xr-x 1 root root 543530 Mar 25  1999 /mnt/fat/VMLINUZ

It might be possible to to use INITRD.IMG, SYSLINUX.CFG, and VMLINUZ
to pack up a new ISO with modern ISOLINUX equipment and isohybrid MBR.

Decisive are probably these lines from SYSLINUX.CFG :

  default vmlinuz initrd=initrd.img ramdisk_size=6144 load_ramdisk=1 prompt_ramdisk=0 rw root=/dev/ram0
  append initrd=initrd.img ramdisk_size=6144 load_ramdisk=1 prompt_ramdisk=0 rw root=/dev/ram0

and then of course how the stuff in INITRD.IMG finds the ISO in order to
load the final operating system.

The initrd is a gzip compressed ext2 filesystem:

  $ file /mnt/fat/INITRD.IMG
  /mnt/fat/INITRD.IMG: gzip compressed data, was "initrd", last modified:
  Thu Dec  9 03:29:00 1999, from Unix

  $ gunzip </mnt/fat/INITRD.IMG >CobaltRaQ_initrd.img
  $ file CobaltRaQ_initrd.img
  CobaltRaQ_initrd.img: Linux rev 0.0 ext2 filesystem data, UUID=2aa52f1e-0032-11d2-9f79-00a02428eca0

2500 files in there. (The ISO has 32000.)
Telling from dangling symbolic links, i'd say the ISO shall be mounted as
"/cdrom/live".

I would begin by checking that the original ISO can be still be booted from
real CD or by qemu -cdrom.


But such endeavors are out of my scope as ISO 9660 producer.


Have a nice day :)

Thomas

  


More information about the Syslinux mailing list