I am also the one who is interested in compiling old kernel, like v0.0.1 or v1.0, and booting it. However, I had difficulties to compile those acient kernels, for example, in link stage, a lot of symbols in x86 assembly code(head.S is one) remains undefined. Noticed here is that I used current gcc compiler, like 2.7.2 or egcs, not the one to used to compile those acient kernels(maybe 2.4). I hope to get gcc2.4 but nowhere to find it. I posted the help several weeks ago and unfortunately didnt get any answers. SO, it remains a future excise for me. Hope this email may get some response from the linux community.
Thanks all
Ming Lei
>>>>>>
From: Rick Hohensee <humbubba@smarty.smart.net>
Date: Wed, 22 Sep 1999 21:02:35 -0400 (EDT)
Subject: Re: Becoming a Linux Hacker?
it went something like this....
On Tue, 21 Sep 1999, Will Morton wrote:
> So, basically, my question is this: Where should I start? My C is
> pretty good, I'm fairly au fait with all the popular distributions, and
> I've got a fairly wide selection of hardware to test things on.
> Eric Raymond suggests becoming a beta tester, and I figure he
knows
> what he's talking about. I'd be grateful if anyone could point me in the
> direction of a list of things that need testing, or feel free to bug me
> if you want me to test your own stuff.
> General pointers to sites, FAQs and lists welcomed.
I'm not in a position to say, but those that are are busy. Some things
that have helped me are the book Linus recommends, IIRC,
"The Design of the UNIX Operating System" Maurice J. Bach, 198[5?]
AT&T copyright. The "K&R" of the OS, stylistically and substantively,
and priced similarly, unfortunately. (What an ugly sentence-oid!)
I think another thing that's a key to the kernel code idiom is the gcc
mechanisms for going from C to asm and vice versa. The Bach book covers
the 30 or so syscalls in SysV. There are ~150 in Linux. They're a key
also. They define the OS.
Another way to unravel something like a particular unix kernel
implementation is historically. Note that some far-eastern guy posted to
here recently wanting help on getting Linux 0.01 to boot. I think that's
the one that's about 64k of code. It's an ancestral thing.
I think the very most interesting piece of code in the kernel is in the
x86 boot code where Linus lays down a long-jump instruction with
.byte psuedo-ops cause it's 1992 as86.
Here's your first assignment... Where's main() ?
Rick Hohensee
_start(){
write(1, "Help! I'm a ROCK!", 40);
exit(69);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/