I started with 1.2.13 from an old RedHat CD included in a book that
somehow appeared at my house. The original RedHat installation went
great. Dual boot works, I remade the kernel once or twice to get
ethernet and the sound cards working. PnP works (with isapnptools if
you must know). X runs on my Matrox card (with SuSE). I was a happy
camper.
At some point I decided to add IP-masq and get with the latest and
greatest, so I decided to download a 2.x kernel. I read the "Changes"
file, and saw that I had to download a whole bunch of other software.
So, I plugged into the nearest sunsite and got me the latest binutils,
bash, gcc, libc, etc. This is when my trouble started...
I will admit my recklessness. I did not read the "release" files. I
would just "tar -ztvf", change to the root directory and "tar -zxvf"
from there. To everyone reading this and attempting to do something
similar I will give this advice: READ THE READMEs!!! READ THE
"release" FILES!!! Don't assume that you "know what you are doing"
because then something will bite you in the ass.
Aside from installing everything in the wrong order (first: ld.so,
then gcc, then libc...), I didn't keep a log of what I was doing, nor
did I backup anything.
If you read this far and think you can help, I will appreciate it.
Here's what I recall from memory:
- Tried to do ld.so by running "sh instldso.sh". Got a bunch of error
messages. Ignored them (another mistake). After this, "ldconfig"
started dumping core (SEGV). Strange....Tried with "ldd -v" to see
if the version was right. It dumps core (SEGV, but it gets to
print out the version number "1.9.5" before it dies).
- Tried to continue with gcc, everything looked fine, but didn't test
it right away, because "I wasn't finished" (right: I wasn't finished
wrecking my system).
- Let's do libc now...Like I said above, I just cd to "/" and untarred
the .gz file. After that, ldd kept dumping core, but after it
printed out its diagnostics. Hmmmm. Interesting output:
# ldd /bin/ls
libc.so.5 => /lib/libc.so.5.0.9 (0x50009000)
(note: this is from memory). What is interesting is that libc.so.5
kept pointing to the old library file. I *did* rm and remade the
symlink, so what was happening??
- Again, following the pattern of recklessness, I decided to go ahead
and make the kernel (maybe that'll help, I thought)
gcc fails with "invalid number constant" (and goes in a loop until
memory is exhausted).
- Another "brilliant" idea: get the old "ldconfig" to rebuild the
cache, since that must be the problem and I can't run the new
version to make one. Got the old "ldconfig" from the CDs, ran it
(without backing up the cache file...ANOTHER BAD IDEA). Now, every
command that tries to open shared libs sqwak out to stderr:
<whatever cmd>: cache '/etc/ld.so.cache' is corrupt.
- OK, let me redo the "libc" step according to the "release" file. I
just tried and my system HUNG. It rebooted now. I checked and the
links I deleted are still there. Most passing strange.
- LAST MINUTE UPDATE: I created a link from /lib/libc.so.5.4.44 to
/lib/libc.so but ldconfig still dumpscore and gcc doesn't work...
My system is semi-hosed. It boots, it runs X, it still hooks up with
my ISP via ppp. Every command spits out the "corrupt cache" message,
but what the hey...Linux+GNU is a noble system. Don't let anyone tell
you otherwise. I was just trying to make a kernel...
Of course, you may have deduced that I am stubborn and absolutely
*refuse* to shell out 50 bucks for a new RedHat disk.
If you read this far and understood everything I did wrong, then you
are the person I want to hear. Please post your advice (other than
"reinstall") to the newsgroup. The reply address on this post is
non-existant. I know about 1036, but one of the reasons I want to
upgrade is so that I can use the Linux box as file/fetchmail/procmail
servers and filter spam the right way.
(if you got this far, you'll know what to do about the space). Please
don't abuse it.
Cheers,
Saico
(P.S. Please don't write to tell me what a hosehead I was to do what I
did. Tell me something I didn't already know ;-).