The patch is against 2.1.33, but should apply to 2.0.30 as well.
Martin
--
Martin Radford | M.P.Radford@exeter.ac.uk
| martin@zamenhof.demon.co.uk
"Only wimps use tape backup: _real_ men just upload their important stuff
on ftp, and let the rest of the world mirror it ;)" - Linus Torvalds
diff -u --recursive --new-file linux-2.1.33-orig/Documentation/00-INDEX linux/Documentation/00-INDEX
--- linux-2.1.33-orig/Documentation/00-INDEX Thu Jan 16 02:46:05 1997
+++ linux/Documentation/00-INDEX Sat Apr 12 04:48:12 1997
@@ -18,6 +18,8 @@
- how to access I/O mapped memory from within device drivers.
SMP.txt
- notes, and "To Fix" list for multi-processor Linux. (see smp.tex)
+big-kernel.txt
+ - short notes on support for "big" (>512k) kernels.
cdrom/
- directory with information on the CD-ROM drivers that Linux has.
devices.tex
diff -u --recursive --new-file linux-2.1.33-orig/Documentation/big-kernel.txt linux/Documentation/big-kernel.txt
--- linux-2.1.33-orig/Documentation/big-kernel.txt Thu Jan 1 01:00:00 1970
+++ linux/Documentation/big-kernel.txt Sat Apr 12 04:38:39 1997
@@ -0,0 +1,22 @@
+Note: this file applies only to Linux on the i386 architecture, and
+not to any of the other ports.
+
+As Linux has grown bigger and become more fully-featured over the
+years, so has the size of the kernel. Due to an architectural
+limitation of the i386 and above processors, the kernel cannot be over
+512kb when using a standard compressed Image (the so-called "zImage").
+If you get the message "System is too big", then you have hit this
+limit.
+
+This problem has been worked around by the use of the "big" zImage, or
+"bzImage". To use this, you need a bootloader that can cope with
+bzImages (LILO 18 or above, loadlin 1.6 or above), and to build your
+kernel using:
+
+ make bzImage instead of make zImage
+ make bzdisk instead of make zdisk
+ make bzlilo instead of make zlilo
+
+An alternative way round the problem is to compile some drivers as
+kernel loadable modules to reduce the size of the kernel itself; read
+Documentation/modules.txt for information on this.
diff -u --recursive --new-file linux-2.1.33-orig/arch/i386/boot/tools/build.c linux/arch/i386/boot/tools/build.c
--- linux-2.1.33-orig/arch/i386/boot/tools/build.c Wed Jul 10 11:10:59 1996
+++ linux/arch/i386/boot/tools/build.c Sat Apr 12 05:04:12 1997
@@ -256,7 +256,11 @@
#endif
sys_size = (sz + 15) / 16;
if (sys_size > SYS_SIZE)
- die("System is too big");
+ die("System is too big"
+#ifndef __BIG_KERNEL__
+ " - read Documentation/big-kernel.txt for advice"
+#endif
+ );
while (sz > 0) {
int l, n;