Re: Linux boot code

Koala GNU (koala.gnu@tiscalinet.it)
Tue, 15 Jul 2003 11:17:46 +0200


Hi, Riley,

thanks for your reply.

I noticed the native boot code for floppy is not supported any more. In
fact in the current code display a message and reboot the machine after
the press of a key.

But I am interested on how the old native boot code worked.

Do you know if there is a particular reason why the boot sector is moved
to 0x9000:0 (excuse me if I repeat the question, but I need help on this)?

I hope someone else can point me a site where is reported the format of
the floppy parameter table at address 0x0:0x78.

Thanks in advance and excuse me for this other post.

Riley Williams wrote:

>Hi.
>
> > I am looking at the boot code in bootsect.S and I have some doubt.
> > I tried to search the answers to my questions on
> > marc.theaimsgroup.com and on Google but I haven't found them.
>
>I know nothing about the former site, so can't comment thereon.
>
> > Probably these are newbie question but I'll appreciate if someone
> > of you help me.
>
>I'll do what I can.
>
> > 1) In the bootsect code the first thing that is done is to copy
> > the boot sector to 0x90000 and move the program count to
> > 0x9000, go. Why it is necessary move the code there? Is it not
> > possible continue the process from 0x7C00?
>
>Following moving the boot code there, the next step is to load the
>kernel image, either from 0x10000 (64k) or from 1M upwards, this
>being dependent on various factors. However, the boot sector holds
>several flags whose values are important AFTER the kernel image has
>been loaded, so is moved out the way first.
>
> > 2) Another step is to move the parameters table from 0x78:0 to
> > 0x9000:0x4000-12. What are the info contained in this table?
> > Can you send me a link to a site that specify these info?
> > Without these info I am not able to understand these three
> > line of code
> >
> > movb $36, 0x4(%di) # patch sector count
> > movw %di, %fs:(%bx)
> > movw %es, %fs:2(%bx)
>
>That area of memory contains parameters configured by the BIOS of
>the machine in question. I would suspect it's the parameters for
>the floppy drives, and the code that follows is presumably that
>used to determine how many sectors per track the floppy in /dev/fd0
>actually has.
>
> > Thanks in advance for your help
>
>No problem.
>
>Best wishes from Riley.
>---
> * Nothing as pretty as a smile, nothing as ugly as a frown.
>
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.500 / Virus Database: 298 - Release Date: 10-Jul-2003
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/