Subject: Re: how to make boot menu work
To: Frederick Bruckman <fredb@immanent.net>
From: David Laight <david@l8s.co.uk>
List: port-i386
Date: 08/04/2002 20:41:21
> > no, time for mbr(8):
> >
> >      3             No operating system.  The bootsector was loaded successful-
> >                    ly, but it was not valid (i.e.  the magic number check
> >                    failed).
> 
> So maybe it's the offset thing. Short of rearranging the partitions,
> maybe simply adjusting the values in the mbr (with "fdisk") could
> trick the stage-1 loader into finding stage-2 at the right place.

That error means that when the mbr code read what it thought was
the first sector of the patition, the last two bytes were not
0xaa55 (or maybe 0x55aa).

This means either:
1) you didn't write it there (/usr/mdec/installboot)
2) your BIOS doesn't support LBA addressing (so can't read any
   sector above 8Mb).

All the early parts of the boot process use bios calls to read
disks, they also don't pass any information (other than the
contents of the sector read) to the next level.

Interestingly it is probably possible to write a bootstrap
that will boot IDE disk 0 (ie the one on the standard port)
bypassing the bios.....
(OTOH an assembler that knows the instruction set would make
it a lot easier.)

	David

-- 
David Laight: david@l8s.co.uk