[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [cobalt-developers] Raq3 kernel and dev86
- Subject: Re: [cobalt-developers] Raq3 kernel and dev86
- From: Tim Hockin <thockin@xxxxxxxxxx>
- Date: Wed Feb 16 10:12:16 2000
- Organization: Cobalt Networks
Greg Boehnlein wrote:
> Hmm.. that explains why none of the kernels I originaly built would boot
> properly. Your ROM based kernel doesn't understand Bzip? This may exclude
> making a non-modular kernel in some cases.. Easy enough to get around with
> modules...
>
> In any case, I did manage to get around the problem using "make vmlinux ;
> gzip -9 vmlinux".
>
> One of the things that I ran into was that when I did manage to build a
> working kernel w/ the new RAID code compiled in, I ran into Memory
> constraints with the size of the kernel. I got around that by disabling a
> variety of junk in the kernel and shrinking it's size.
>
> Bzip might buy a little more space...
Contrary to popular belief bzImage is not bzipped. 'b' is for 'big'.
On a standard PC (LILO or similar), a bzImage is flagged as 'big'. When
the boot code does a read from disk->mem it realizes that it needs to
load the bzImage at a higer address. The reason is this:
remember the magic number 640k? If we put a bzImage at the standard
(0x1000) address, we will overflow the 'real memory' range - which ends
at 640k. Therefore, a bzImage is located at 0x10000 - in the 'extended
memory' range. (all of this applies ONLY to intel-compatible PC's, not
our mips line or any other architecture out there)
So, you see, the bzImage is, merely gzipped (read the output of a 'make
bzImage' sometime :). See my previous email for a bit more detail on
what is actaully in a bzImage.
Lastly, re: kernel size and a Cobalt system: it shouldn't matter how
big the kernel image gets - because we don't use the standard mechanism
for booting. By the time we actually read the kernel from disk we are
in protected mode, and we don't need to worry about 640k. If you got an
error from the compile about size, please send me the output of the
compile. 'make vmlinux' should not be checking size, because at that
point it is irrelevant.
<whew>! That said - I'll happily entertain any questions :) We are
working on a more complete TechNote on building a raq3 kernel so all
this will be well documented.
Tim
--
Tim Hockin
Software Engineer / OS Engineer
Cobalt Networks
thockin@xxxxxxxxxx