FIX for bzImage+initrd

Hans Lermen (lermen@elserv.ffm.fgan.de)
Thu, 7 Mar 1996 16:37:06 +0100 (MET)


Hi,

this fixes a subtle glitch in our bzImage+initrd patch:

-------------------------------------------------------------------
--- linux/arch/i386/boot/compressed/head.S~ Thu Mar 7 13:18:34 1996
+++ linux/arch/i386/boot/compressed/head.S Thu Mar 7 13:18:34 1996
@@ -130,5 +130,11 @@
rep
movsb
xorl %ebx,%ebx
+/*
+ * Well, the kernel relies on %esp pointing into low mem,
+ * with the decompressor loaded high this is no longer true,
+ * so we set esp here.
+ */
+ mov $0x90000,%esp
ljmp $(KERNEL_CS), $0x100000
move_routine_end:
-------------------------------------------------------------------

Well, it is our bug, of course. However, if the kernel had setup its own
stack at startup, this subtle and diabolic bug never would have happend.
It never was reproduceable on my machine, and seemed to disappear
in 1.3.71. Fortunately it happend yesterday on _my_ machine.

A corrected full patch of this amazing bzImage+initrd patch can be found at:

ftp://lrcftp.epfl.ch/pub/people/almesber/lilo/bzImage+initrd-1.3.71a.patch.gz
and
ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/bzImage+initrd-1.3.71a.patch.gz

Hans
<lermen@elserv.ffm.fgan.de>