Messages in this thread | | | Date | Sat, 07 Aug 1999 16:00:30 -0700 | From | "H. Peter Anvin" <> | Subject | Re: Kernels > 1M |
| |
Riley Williams wrote: > > Hi Peter. > > I've now analysed the code, and the enclosed patch does a large part > of what is necessary for the kernel loaders to support kernels over > 1023k in size, but it doesn't do all of it. I'd like your comments on > the patch so far, and also on what's left to do. > > First, whilst the patch to build.c that you suggested will allow the > kernel to compile ok with `make bzImage`, the resulting kernel will be > unstable and most probably will not work at all. > > The reason for this is that the current kernel loader uses the value > of a 16-bit unsigned int in the boot sector as the number of 16-byte > paragraphs of kernel source to load, thus only supporting kernels of > not more than 0xFFFF0 (1,048,560) bytes in size. Worse still, the > value stored in this word is the lower 16 bits of the calculated > value, so if the kernel was, say, 0x107630 (1,078,832) bytes ( in > size, the stored value would be 0x00763 paragraphs, or about 30k !!!
The kernel would work fine, *unless* you use the pathetically old bootsect.S loader.
However, fixing that bug is a plus.
-hpa
-- <hpa@transmeta.com> at work, <hpa@zytor.com> in private!
- 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/
| |