Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Upgrading to Linux 2.0



> I'm trying to upgrade my Slackware 1.2.1 Linux kernel to the
> latest Linux 2.0 and I have a few questions...

I think that is older than mine was. It is a.out, right?

> According to the read me files, I first need to up-rev my gcc compiler.
> I will also need a new binutils. My April 1996 Developers Kit contains
> several versions of binutils. Does anyone know what binutils version I
> should use if I want to upgrade to 2.7 of the gcc compiler?
> 
> Has anyone, who is running Slackware, successfully upgraded to Linux 2.0?
> If so, what problems were encountered?  Was it painfull or painless?
> Any tips for those of us who are about to try upgrading to Linux 2.0?

It was somewhat easy, but long. Start by realizing that everything
about your system is really old, not just the kernel. You could
recompile for days/months I think. The filesystem standard has
changed a bit, and Slackware with it. You have many obsolete files
keeping space on your disk, the documentation is not up to date...

Here is how I upgraded:

Get the latest Slackware boot disk - I used version 3.0.
Boot it and mount your disk on /mnt. Then do something
like this:
              cd /mnt
              mkdir aout
              mv lib var etc bin sbin aout
              cd usr
              mkdir aout
              mv etc lib spool doc man bin sbin X* aout
              cd local
              mkdir aout
              mv etc lib share doc man bin sbin X* aout
              # Consider deleting old stuff to make room
              cd

Now install the latest Slackware. Reboot, and copy back enough
old config files to fix whatever broke (like X).

Get the _binary_ libc 5.3.?? (12 or 18 maybe) and install it.
Do not even consider compiling it yourself. To install, you
untar it so that the files end up in the right places. Then,
create a symbolic link:
            ln -s my_new_libc tmp_link
Now move it over top of the old one:
            mv tmp_link old_libc_link
It is important to move it on top. Do NOT just delete the old link,
because then you can't run "ln -s" anymore and you are DeadBeef.
Run ldconfig, although your startup scripts should do that for you.

Delete the ld.so cache file in /etc so that it won't complain about
a version mismatch. Install a new ld.so from the _binary_ distribution
available at fine Linux FTP sites.

Carefully remove every last trace of your compiler. Install the patched
gcc 2.7.2 binary that has the strength-reduce fix. If it won't run, go
back and look for crud you forgot to delete. Hint: cpp may be a stupid
script that finds the real cpp from gcc 2.6.x and runs it.

Upgrade the modules stuff, lpr, sendmail, ... if you use them.

Install the 4.x.x a.out libc so you can run your old programs with
a few library bugs fixed.

Upgrade your boot loader if you want some new features (bzImage, initrd)

Now you can recompile Linux 2.0.4 and reboot.

WARNING: this is from my head as I sit at an Ultrix machine.




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org