Subject: Re: Kernels > 4MB ???
To: Bruce Martin <brucem@cat.co.za>
From: Mark Brinicombe <mark@causality.com>
List: port-arm32
Date: 11/04/1999 01:28:53
On Wed, 3 Nov 1999, Bruce Martin wrote:

> I am trying to build a kernel with embedded filesystem for use as a diskless
> system. We have 8MB of flash available. As soon as my kernel grows above 4MB
> in size (which happens when I increase my memory disk image above 3MB), it
> doesn't boot properly - it gets to     bootstrap done.
> init subsystems: stacks vectors undefined pmap
> 
> and no further. Is there something limiting the kernel to a certain size, or
> memory disks to a certain size? It works perfectly as soon as I decrease the
> size below 4MB.
Yep the kernel bootstrap code assumes that the kernel will fit within 4MB.
This is done to keep things simple and means that the kernel text, data,
bss etc can be mapped in a single L2 page table (which maps up to 4MB).
The bootstrap code could be modified to raise this limit thought for
normal kernels this has never been a problem since kernels are normally
less than 2MB and arm32 install ramdisk images are 2MB or less.

Alternatively the ramdisk could be separated from the kernel bss and
the ramdisk attach suitably modified.

Cheers,
				Mark