[patch] for pre-2.1.37: dublicate exports [*tqueue_lock,...]

Richard B. Johnson (root@analogic.com)
Sun, 4 May 1997 14:04:50 -0400 (EDT)


I just spent the entire weekend getting and building new tools in an attempt
to build a SMP kernel that works.

I now have the latest of everything except the C runtime library which
won't compile and isn't used in the kernel anyway.

I took the latest linux-2.1.36.tar.gz and exploaded it into a new tree.
I gunzipped the latest pre-patch-2.1.37-3.gz and patched the source tree.
Again, even though I created a symlink v2.1.36 to the source tree so that
everything was exactly as shown in the first few patches in the patch-file,
and even though I use -p0 on the command-line, and even though there were
no errors or rejects, the result was a partial linux tree in the current
directory containing a few dozen files that had to be manually put into
the correct directories. Basically any NEW files did not go into the
correct places.

Anyway, I built the kernel. There was an error from 'objcopy'. It would not
boot.

It would uncompress then reboot. I found that the new 'objcopy' was
defective. I don't know why. I recompiled it and built the kernel again.

The machine came up to the point where it booted the second processor
then it issued a "stuck" message and hung forever.

Undaunted, I downloaded the latest aic7xxx driver code. It would not compile
because its assembler uses lex instead of flex. A symlink doesn't fix this
because the library needs to be "-lfl", etc., etc. I fixed all this stuff.
I don't know why anyone would even use lex, but I guess once you have started
using yacc, your future is predefined.

Anyway, I got it to compile. Now the system comes up to where it is actually
tries to mount the root file-system. There it hangs. Sometimes there is
an Oops with various random addresses from 00000000 to ffffffff (honest) and
code that sometimes is real, but usually junk like:

Code: 0e 0e 0e 0e 0e 0e 0e ...etc

If I set init to be /bin/bash, the system stays running for a time. I
was even able to mount the root file-system manually and got /proc up.

executing swapon -a is a killer.
executing mount -a is a killer because one of the file-systems is MS-DOS.

The last operating system that worked on my SMP machine was version
2.1.33. It had a small tcp stall problem, but that's all I was able
to discover. No later kernel was ever able to run for more than a
few minutes on my SMP Machine.

processor : 0
cpu : 586
model : Pentium 75+
vendor_id : GenuineIntel
stepping : 12
fdiv_bug : no
hlt_bug : no
fpu : yes
fpu_exception : yes
cpuid : yes
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic
bogomips : 66.36

processor : 1
cpu : 586
model : Pentium 75+
vendor_id : GenuineIntel
stepping : 12
fdiv_bug : no
hlt_bug : no
fpu : yes
fpu_exception : yes
cpuid : yes
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic
bogomips : 66.36

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.35 on an i586 machine (66.15 BogoMips).
Warning : I read unsolicited mail for $350.00 per hour. Supply billing address.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-