# can't boot isolinux

## queen

I downloaded a set of programs, created an iso image from the script they provide and burned the iso to dvd. I tried to boot the laptop and I get an error 

```
 isolinux: Disk Error 31, AX=4200, drive 9F
```

.

 The number 31, drive 9f may be different. Can't remember exact the numbers.  

The script which creates the image looks like this: 

```
#!/bin/bash

# ---------------------------------------------------

# Script to create bootable ISO in Linux

# usage: make_iso.sh [ /tmp/slax.iso ]

# author: Tomas M. <http://www.linux-live.org>

# ---------------------------------------------------

if [ "$1" = "--help" -o "$1" = "-h" ]; then

  echo "This script will create bootable ISO from files in curent directory."

  echo "Current directory must be writable."

  echo "example: $0 /mnt/hda5/slax.iso"

  exit

fi

CDLABEL="SLAX"

ISONAME="$1"

if [ "$ISONAME" = "" ]; then

   SUGGEST=$(readlink -f ../../$(basename $(pwd)).iso)

   echo -ne "Target ISO file name [ Hit enter for $SUGGEST ]: "

   read ISONAME

   if [ "$ISONAME" = "" ]; then ISONAME="$SUGGEST"; fi

fi

mkisofs -o "$ISONAME" -v -J -R -D -A "$CDLABEL" -V "$CDLABEL" \

-no-emul-boot -boot-info-table -boot-load-size 4 \

-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.boot ../.

```

The name that was created is bt3.iso

My laptop can boot other bootable cds/dvds. So it looks like it's the isolinux problem

Anyone can tell me what is wrong? How can I repair it?

----------

## mjf55

The make_iso.sh script is intended to be used at the 'root' of the file structure you want on the CD.    What I mean is say your pwd = /home/queen.  You should run the script from that directory.  Now, according to the script, you should have a boot and a boot/isolinux directory off your 'root' (aka /home/queen) , so the complete structure is /home/queen/boot and /home/queen/boot/isolinux.

Ok, now you should have isolinux.bin and isolinux.cat in the isolinux directory.  ( note the script calls for isolinux.boot instead of isolinux.cat, but I suspect that may be an error)  These are 3 of the things to check on.

Now, the last line of your script section contains ../..  Please post the entire contents of the script file.

Now mount the iso file using mount -o loop bt3.iso some/directory.  Please post the contents of this directory ( the iso root), the boot and boot/isolinux directories.  You should also see a isolinux.cfg file along the way.  Post it's contents.  

With this we should be able to see what is happening.

----------

## queen

 *mjf55 wrote:*   

> The make_iso.sh script is intended to be used at the 'root' of the file structure you want on the CD.    What I mean is say your pwd = /home/queen.  You should run the script from that directory.  Now, according to the script, you should have a boot and a boot/isolinux directory off your 'root' (aka /home/queen) , so the complete structure is /home/queen/boot and /home/queen/boot/isolinux.
> 
> Ok, now you should have isolinux.bin and isolinux.cat in the isolinux directory.  ( note the script calls for isolinux.boot instead of isolinux.cat, but I suspect that may be an error)  These are 3 of the things to check on.
> 
> Now, the last line of your script section contains ../..  Please post the entire contents of the script file.
> ...

 

Hello mjf

Sorry for the late reply. I had some other serious problems with the laptop and I didn't have time for that. Now I am trying your suggestions and here are the answers:

1. The script make_iso.sh I posted above is complete. If something is missing than, it's not my fault. I created directories boot inside /home/queen/ and another dir isolinux inside boot aka /home/queen/boot/isolinux.

2. I put the rar inside boot directory and opened the rar there. When I extracted the rar there is no  isolinux.cat but only isolinux.bin isolinux.boot isolinux.cfg. I copied them into isolinux directory.

3. I can't create now the iso file because it throws error 

```
mkisofs: Uh oh, I cant find the boot catalog directory 'boot/isolinux'!
```

I assume that there is an error in the script. How can I correct it?

The contents so far of /home/queen/boot (because I extracted the rar there is):

```
BT3.bat         chain.c32        home.lzm       liblinuxlive  mesa701.lzm   pxe.lzm       syslinux.com  vmlinuz

INSTALL.txt     client-djtr.lzm  initrd.gz      lilo          milw0rm.lzm   readme.txt    syslinux.exe

LICENSE         config           isolinux       livecd.sgn    mkisofs.exe   rmlivemod     tgz2lzm

bin.lzm         cubez.lzm        isolinux.bin   loadlin.exe   mksquashfs    root.lzm      unsquashfs

bootinst.bat    cygwin1.dll      isolinux.boot  lzm2dir       mt86p         sbin.lzm      uselivemod

bootinst.sh     deb2lzm          isolinux.cfg   make_iso.bat  opt.lzm       srv.lzm       usr.lzm

bootlilo.sh     dir2lzm          kernel.lzm     make_iso.sh   optional.lzm  syslinux      var.lzm

bt3b141207.rar  etc.lzm          lib.lzm        mbr.bin       pentest.lzm   syslinux.cfg  vesamenu.c32

```

----------

## mjf55

I did a search for the make_ISO.sh and found this one.  It is different, but can be modified to fit.  

```
 mkisofs -pad -l -r -J -v -V "TINAKNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /home/pab/knoppix.iso /knoppix/
```

.  This was all one line.  

man mkisosf will help understand all the parameters used.

NOTE: the difference in the -c parameter and the lack of the -o parameter.  Based on the error message you get, I think the -c is the culprit.  

Bottomline - change your script from 

```
mkisofs -o "$ISONAME" -v -J -R -D -A "$CDLABEL" -V "$CDLABEL" \

-no-emul-boot -boot-info-table -boot-load-size 4 \

-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.boot ../. 
```

  to

```
mkisofs -o "$ISONAME" -v -J -R -D -A "$CDLABEL" -V "$CDLABEL" \

-no-emul-boot -boot-info-table -boot-load-size 4 \

-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.cat ../. 
```

and give it a try.

----------

