Subject: Bug#4060: Update: 4060 - Kernel decompression failure.

From: "Christopher R. Hertel" <[email-masked]>
Date: Mon, 12 Aug 1996 16:23:03 -0500

Package: boot (boot1440.bin, install)
Version: 1.1  (kernel is 2.0.0)

Updated information...

Problem: On some systems, the compressed kernel image provided on the
installation floppy (boot1440.bin) is not decompressed properly when
read from floppy.  One solution that seems to work for most users is to
*disable the internal cache*.  If this does not work for you, try
disabling both the internal and external cache.  This is done via the
bios setup.

This is not a fix, but a work-around.  I have tested this on my system
(which has this behavior), and disabling the internal cache allows the
kernel decompression to proceed.  It is my understanding (I have not had
a chance to test this) that the cache can be re-enabled once the system
has been installed.

BTW, my floppy controller is built into my Adaptec controller.  I don't
have the system in front of me, but the controller is a 154x.  (I just
can't remember that last digit... sorry).

Thanks to Bruce Perens <[email-masked]> for looking into this.

Here are some notes from <[email-masked]>:

: From: "Christopher R. Hertel" <[email-masked]>
: > I disabled the internal cache and--*poof*--the problem went away.
: > I will send a report to [email-masked].
:
: I have one other report matching this, and two anecdotes, all
: reproduced below. I suspect that BIOS floppy I/O is breaking when the
: cache is enabled, and you are thus feeding bad data to the disk
: uncompression code in the kernel. This could perhaps be a bug in
: syslinux, (the boot loader we are using) or a bug in the decompression
: code (which is in the kernel, but is sort of a 16-bit prelude to the
: actual kernel).  You might try other ways of starting the kernel (LILO
: on a floppy rather than a hard disk, LOADLIN from DOS, etc.) to see if
: any of them fail with the cache enabled.  That might tell you if it's
: the uncompression code or the loader that is at fault. About the only
: way to fix this is will be someone with the susceptible hardware to
: drive the process.
:
: Steve Gaarder:
: > I am installing Debian 1.1.1 on a generic clone with an AMD 486 on
: > an Opti-based motherboard. If I have the internal cache enabled in
: > setup, I get the error "invalid compressed format" after the
: > "uncompressing Linux" message.  If I disable the cache, it boots
: > fine.  It boots ok from the hard drive either way.  Anyone know what
: > is going on?
:
: > From: Dan Bergman <[email-masked]>
: > I had problems like this a couple years back when I was installing
: > OS/2 on a Dell Machine (486,66mhz).. The installation would fail if
: > I didn't disabel both L1 and L2 caches.. But I ripped out the
: > TsengLab GFX card (VLB) and all troubles went away.. Ripping out gfx
: > card is often not a option but the Dell MB had a Cyrrus Logic Chip
: > on it...
:
: mike cotherman:
: > I had this problem when I used EDO RAM on a motherboard that did not
: > support EDO...just a thought

-- 
Christopher R. Hertel -)-----                   University of Minnesota
[email-masked]              Networking and Telecommunications Services

---

From: Sebastian Benoit <[email-masked]>
Date: Wed, 14 Aug 1996 15:10:17 +0200 (CES)

> disabling both the internal and external cache.  This is done via the

It is possible that your system has timing problems ... Try to increase 
the IO-Waitstates in the BIOS-Setup (if there is an option like that), 
and leave both internal and external cache on.
                                   
- Sebastian Benoit                                  Save the planet !
- [email-masked]
- [email-masked]
- http://www.mathematik.uni-marburg.de/~benoit      less is more !

---

From: "Christopher R. Hertel" <[email-masked]>
Date: Wed, 14 Aug 1996 11:07:37 -0500

On Aug 14,  3:10pm, Sebastian Benoit wrote:
:
: It is possible that your system has timing problems ... Try to
: increase  the IO-Waitstates in the BIOS-Setup (if there is an option
: like that),  and leave both internal and external cache on.
:
>-- End of excerpt from Sebastian Benoit

Thanks for the recommendation.  I will give it a try.  On the other
hand,

- I'm not the only person who has reported this problem.  I've seen a
  few reports.  I'll try to find out if there is a similarity.

- I've heard reports from OS/2 users that similar problems have been
  seen with some installations of that OS.  Again, the solution was to
  disable cache.

- Linux 1.2.8 loads and runs fine from the hard disk.  The others who
  had to turn off cache in order to install Debian found that they
  could re-enable cache once they had installed the system.

I don't know enough about hardware to know if these points are
consistant with timing problems.  As I said, turning off the internal
cache (external remains on, on my system) works.  I'll also try your
suggestion, since the results will shed some light on the problem.

Thanks!

Christoph -)-----

---

From: [email-masked] (Bruce Perens)
Date: Sun, 18 Aug 96 19:44 PDT

From: "Christopher R. Hertel" <[email-masked]>
> I've heard reports from OS/2 users that similar problems have been
> Linux 1.2.8 loads and runs fine from the hard disk.  The others who

My hypothesis at this time is that this is a problem in SysLinux.
I've uploaded a disk we can use to investigate this. Please download
ftp://ftp.pixar.com/pub/bruce/LILO_BOOTDISK.gz and see if it will boot
on your system. It won't do much once you've booted it because it does
not have the hard disk driver linked in (this is the _all_module_ boot
floppy for 1.2 in an early incarnation). But it should boot the kernel
and load the compressed root filesystem all from one floppy. If it works,
please copy the kernel from this disk onto your SysLinux boot floppy
(both are MS-DOS filesystems), and veriify that that does not boot. 
If that's the case, we will have Peter Anvin (author of SysLinux) work
on the problem with you.

	Thanks

	Bruce
--
       Clinton isn't perfect, but I like him a lot more than Dole.
            Please register to vote, and vote for Democrats.
Bruce Perens AB6YM          [email-masked]            http://www.hams.com/

---

From: [email-masked] (Kai Henningsen)
Date: 27 Aug 1996 20:00:00 +0200

> a chance to test this) that the cache can be re-enabled once the system

If disabling the cache makes a difference, this is almost certainly a  
hardware problem. The problem will not be isolated to floppy boots,  
however; it will still bite you from time to time, when the circumstances  
are just right.

The best solution is either changing the timing, or changing the relevant  
hardware - for internal cache, that's the CPU (or the CPU clock).

MfG Kai