Error compiling kernel

James Wilkinson james at westexe.demon.co.uk
Fri Aug 20 00:01:44 UTC 2004


Tony Mai wrote:
> System is too big. Try using bzImage or modules.
>
> Question: What does this mean and why would it care so
> much about such minicure memory that it aborted the
> entire process?
> 
> Everything worked after I followed its advice and did
> a 'make bzImage'. I am just a little confused about
> the memory message. Can someone explain to me what it
> tried to do here?

When booting on x86, Linux starts off in old-fashioned 8086 "real"
mode, with the 640K limitations inherent. It rapidly switches to 32 bit
mode and then uncompresses the kernel, but the boot loader is required
to fully load both the kernel and any initrd in real mode.

bzImage is a newer and more flexible way of loading the kernel and
initrd. I believe that zImage tried to get the kernel + bootloader in
under 640K, whereas bzImage puts them beyond 1 MB. Obviously, with 2.6
kernels regularly coming in at over 1 MB, they're not going to fit in
640K, and I understand the option is going to go away.

A few mostly-extinct PCs had weird memory maps under real mode, which is
why it took longer to get bzImage right. These days, real mode is
basically there, well understood, and not touched from one generation to
the next.

Intel have ambitions to replace the real-mode bootstrap procedure with a
32 bit Extensible Firmware Interface:
http://www.intel.com/technology/efi/ . As I understand it, this is the
standard for IA 64, so Linux support for it is there.

See /usr/src/linux-*/Documentation/i386/boot.txt for more details.

James.
-- 
E-mail address: james | Dalek invasion at work today. Plugged them into the
@westexe.demon.co.uk  | net: they behave better than some Windows boxes. They
                      | make great spam filters: "Enlarge your ..."
                      | "EX - TER - MIN - ATE!" All in a day's work ...





More information about the fedora-list mailing list