[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why do distiguish between zImage and bzImage ?



> I know when system is greater than 448kb or so ,   We have to compile it to bzImage.
> And the source says  it will high load to 0x1000000. while zImage is put on 0x1000

I am pretty sure, this should read 0x100000 and 0x10000 respectively.
The former is right after the first 1MB which is the limit for
conventional memory (anything before 80286 was limited to 1MB). The
latter is right above the first 64kB, which is a safe space to
start loading code to, when you want to stay in conventional memory.
The upper limit for conventional memory is 0xA0000 (anything between
this address and 1MB is reserved for ISA extension cards and BIOS
ROM).

> Why not just put bzImage on 0x1000. Why we have to distinguish thesese two.
> 
> I hope sb can help answer me !

While the kernel can be loaded to any address you want, it must be
loaded into a contiguous address space. As conventional memory
only gives you about 576kB, upper memory (beyond 1MB) is probably
more advisable. Unfortunately, writing to that memory range is
more difficult and not all boot loaders support this option. That's
why Linux kernels can still be compiled as zImages (as opposed to
bzImages). For most typical end-users, this really shouldn't be
an issue and unless you suffer from a limited boot loader, you should
always use bzImage.


Markus

-- 
Markus Gutschke                                Resonate, Inc.
3637 Fillmore Street #106                      385 Moffett Park Drive
San Francisco, CA 94123-1600                   Sunnyvale, CA 94089
+1-415-567-8449                                +1-408-548-5528
[email protected]                            [email protected]


--  
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]