2003-07-25 17:50:52

by Koala GNU

[permalink] [raw]
Subject: froom assembly to C in boot code

Hi all,

I forward to the lkml a mail I posted on kernelnewbies hoping someone of
you can help me.
-------------------------------------------------------------------------------------------------------------------------

Hi,

for a couple of weeks I worked on some examples about boot process. In
my previous post on kernelnewbies I post some of them.

Now I have a problem. My goal is to boot from a diskette, load the setup
code (4 sectors), load the kernel at 0x10000 and move it at 0x1000
trying to execute a main C routine that
should represent the start of the kernel. This C routine print simply
"Hello Kernel".

For my job I used the examples of Berlin Brown at
http://bama.ua.edu/~brown084/main.html because this code is a
simplified version of the linux boot process.

Attached there is my code, hoping someone of you can give a look at it
and tell me if there is something wrong (I think so).

Before the jump to 0x0100 all seems work fine. The problem happen when I switch in
protected mode and try to jump to 0x0100.

Ahhhh!!! I use bochs for my test.


PS

To build my code type:

make clean (when necessary)
make all

to write on a diskette:
make disk




Attachments:
boot.tar.gz (40.00 kB)

2003-07-25 22:20:10

by Gianni Tedesco

[permalink] [raw]
Subject: Re: froom assembly to C in boot code

On Fri, 2003-07-25 at 19:05, Koala GNU wrote:
> Hi all,
>
> I forward to the lkml a mail I posted on kernelnewbies hoping someone of
> you can help me.
> -------------------------------------------------------------------------------------------------------------------------

Try post on alt.os.development they are usually a useful crowd for this
kind of thing.

PS. If you want to write your own kernel, you are probably best making a
multiboot kernel that can be loaded by grub. Saves a lot of heartache...

--
// Gianni Tedesco (gianni at scaramanga dot co dot uk)
lynx --source http://www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import
8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part