boot from CD

I am trying to make a CD bootable . For that i am doing the following

touch flp.img

dinit -f test.ifs -s 1440k flp.img

dloader flp.img pc1-flop

& then gave like this

mkisofs -b flp.img -o cd.iso cddir

where cddir is the directory in which i have flp.img & other files
I burnt a CD with this cd.iso file.
But when i boot from this CD
the system stops after Hit Esc for altboot & i don’t get any …
What might be the problem? is there anything else i need to give as option

ghullur@yahoo.com sed in <b9dgpi$ahj$1@tiger.openqnx.com>:

dloader flp.img pc1-flop

First, try to create a Real Floppy that does boot.
Images should be considered after that.

Examine the contents of the boot floppy
created during the installation.

kabe

Did you try to create a physical floppy instead of going to a floppy image
file?

That way you can test your boot floppy and make sure that it works
correctly.

We create bootable CD’s with our own kernel image for software installation.
We use a physical floppy and then extract the image. I never got around
trying to write directly to an image file with dinit.

Here is what we do:

mkifs -v src/scripts/install.build install.image
dinit -R -f install.image -m “Starting installation…” /dev/fd0

\

Jens


“sam” <ghullur@yahoo.com> wrote in message
news:b9dgpi$ahj$1@tiger.openqnx.com

I am trying to make a CD bootable . For that i am doing the following

touch flp.img

dinit -f test.ifs -s 1440k flp.img

dloader flp.img pc1-flop

& then gave like this

mkisofs -b flp.img -o cd.iso cddir

where cddir is the directory in which i have flp.img & other files
I burnt a CD with this cd.iso file.
But when i boot from this CD
the system stops after Hit Esc for altboot & i don’t get any …
What might be the problem? is there anything else i need to give as option

You have to use physical floppy, at least up until 6.2. I haven’t tried that
with 6.2.1 yet (dinit has a new option there) but it definitely does not
work with 6.2. Been there, wasted lot of time.

– igor

“Jens H Jorgensen” <jhj@remove-nospam-videk.com> wrote in message
news:b9dskv$6dt$1@inn.qnx.com

Did you try to create a physical floppy instead of going to a floppy image
file?

That way you can test your boot floppy and make sure that it works
correctly.

We create bootable CD’s with our own kernel image for software
installation.
We use a physical floppy and then extract the image. I never got around
trying to write directly to an image file with dinit.

Here is what we do:

mkifs -v src/scripts/install.build install.image
dinit -R -f install.image -m “Starting installation…” /dev/fd0

\

Jens


“sam” <> ghullur@yahoo.com> > wrote in message
news:b9dgpi$ahj$> 1@tiger.openqnx.com> …
I am trying to make a CD bootable . For that i am doing the following

touch flp.img

dinit -f test.ifs -s 1440k flp.img

dloader flp.img pc1-flop

& then gave like this

mkisofs -b flp.img -o cd.iso cddir

where cddir is the directory in which i have flp.img & other files
I burnt a CD with this cd.iso file.
But when i boot from this CD
the system stops after Hit Esc for altboot & i don’t get any …
What might be the problem? is there anything else i need to give as
option

kovalenko@attbi.com sed in <b9duik$88b$1@inn.qnx.com>:

You have to use physical floppy, at least up until 6.2.

Investigating further, dinit (6.2) seems to clobber geometry info
at the top of the PBR (offset 0xe-0x10) no matter what
when manipulating file images.

Fixing this will require dinit to have CHS parameter option.
(for the same reason, dinit can’t create 2.88MB image)

I thought using /boot/sys/ipl-diskpc2 (no -flop; extended INT 13) will
solve, but some BIOSes doesn’t support LBA on floppy.

The suggested workaround will be

  • Use a real floppy, or
  • After dinit, overwrite the bootsector from a real floppy, i.e
    dd if=real-floppy.img of=target.img bs=1 conv=notrunc
    (don’t use dinit -B)


    Working with a real floppy is prone to read/write errors
    so I understand to prefer using image as much as possible.

    kabe

kabe@sra-tohoku.co.jp wrote:

kovalenko@attbi.com > sed in <b9duik$88b$> 1@inn.qnx.com> >:
You have to use physical floppy, at least up until 6.2.
Investigating further, dinit (6.2) seems to clobber geometry info
at the top of the PBR (offset 0xe-0x10) no matter what
when manipulating file images.

It will make some devctl() to get the device geometry, and since the
file image is on a hard disk, that is the underlying device that is
used to provide the values. So, yes, making a floppy image in this
manner will end up patching the hard geometry into the loader.

I thought using /boot/sys/ipl-diskpc2 (no -flop; extended INT 13) will

It (dinit, dloader, etc) will still patch based on who/what is hosting
the image file (typically you are diniting-in-place).

The suggested workaround will be

  • Use a real floppy, or
  • After dinit, overwrite the bootsector from a real floppy, i.e

These sound good. I’m trying to get some time to look into dinit,
and will see about adding some geometry overrides to it (like we
now have -D to set BIOS drive number) …