[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC

Thomas Schmitt scdbackup at gmx.net
Tue Mar 21 11:43:39 PDT 2017


Hi,

i wrote:
> > Did you copy the whole file tree of the ISO to the USB stick filesystem ?
> > Including things like the /.disk directory ?

David Christensen wrote:
> https://www.debian.org/releases/jessie/i386/ch04s03.html.en#usb-copy-flexible
> "If you used an hd-media image, you should now copy the ISO file of a Debian
>  ISO image[4] onto the stick."
> # cp -ip /mnt/samba/data/dpchrist/iso/debian/8.7.1/i386/debian-8.7.1-i386-xfce-CD-1.i so /mnt/usb/.

The sparse content of the "syslinux.cfg" file tells me that this
setup is not supposed to establish the ISO as (pseudo-) device which
would be a candidate for Debian's search for the installtion ISO.

Similar presciptions for other systems clearly say that the ISO
shall be mounted and its content be copied to the prepared filesystem
on the stick:
  https://wiki.archlinux.org/index.php/USB_flash_installation_media#Using_manual_formatting
  https://wiki.gentoo.org/wiki/LiveUSB/Guide#Copying_the_files

---------------------------------------------------------------------

One can bonk into the text-install initrd.gz of the ISO:

  gunzip < /mnt/iso/install.386/initrd.gz  | less

and look for the message:

  Template: cdrom-detect/wrong-cd
  Type: error
  Description: Incorrect CD-ROM detected
  The CD-ROM drive contains a CD which cannot be used for installation.
  .
  Please insert a suitable CD to continue with the installation.

its emitter:

          devices="$(list-devices cd; list-devices maybe-usb-floppy)"
          for device in $devices; do
                  if try_mount $device $CDFS; then
                        break 2
                fi
          done
        
          devices="$(list-devices usb-partition)"
          for device in $devices; do

          ...

          if [ "$WRONG" ]; then
                db_input critical cdrom-detect/wrong-cd || [ $? -eq 30 ]

and the probable reason why "WRONG" is set:

  try_mount() {
          local device=$1
          local type=$2

          local ret=1
          if mount -t $type -o $OPTIONS $device /cdrom; then
                  log "CD-ROM mount succeeded: device=$device fstype=$type"
                  if [ -e /cdrom/.disk/info ]; then
                          CDNAME=$(cat /cdrom/.disk/info)
                          log "Detected CD '$CDNAME'"
                          db_set cdrom-detect/cdrom_device $device
                          db_set cdrom-detect/cdrom_fs $type
                          ret=0
                  else
                          log "The CD in $device is not a Debian CD!"
                          umount /cdrom 2>/dev/null || true
                          WRONG=1
                  fi

We learn that at least this initrd.gz looks for for devices, which
bear the file

  /.disk/info

Inside the ISO there is such a file with content
  Debian GNU/Linux 8.7.1 "Jessie" - Official i386 xfce-CD Binary-1 20170116-10:08
So i conclude one shall pour out the whole ISO into the USB stick.


> > Yep, debian-cd at lists.debian.org should be the right one.

> Okay.

I am curious how this goes on.


Have a nice day :)

Thomas



More information about the Syslinux mailing list