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

Re: disaster upgrading to elf

> After being assured by others that upgrading to the elf packages was
> painless, I took the plunge.  I should have known better.
> My free hard disk space was limited so I just downloaded the base and
> devel directories and the Packages file.
> I ran dselect and unselected all the packages that dselect wanted to
> upgrade that were not yet on my hard disk (that is, those
> packages not in base or devel).  That was really tedious.  Is there a
> way to convince dselect NOT to make all these choices FOR you?

Well, upgrading to ELF really is pretty painless.  Unfortunately,
those that told that forgot to tell you not to use dselect.  This
will be fixed before the official ELF release.  Until then, you
have to do a few things manually.  The following is from a message
I sent someone else telling them how to upgrade from 0.93R6.

The first thing you need to do is reinstall the a.out 093R6 base
system from scratch.  When you get to the dselect phase, just exit
without installing any additional packages.

The next thing to do is to make sure your kernel has ELF support
builtin.  Using the binfmt_elf module is not completely sufficient as
some packages contain programs that are run before any modules are
loaded.  I think the kernel in the 'image' package in the ALPHA_TEST
directory has ELF support builtin, but I'm not absolutely sure.  If it
doesn't, you'll have to find or compile a kernel yourself.  Since you
have the RedHat CDROM, the easiest thing to do would be to copy one of
their kernels.  If you have to compile one, you'll have to install the
some of the a.out development packages from the 0.93R6 directory.

Unless noted otherwise, everything below deals with packages in the
ALPHA_TEST directory.

The next thing to do is to install the latest dpkg package from the
ALPHA_TEST directory by running

	dpkg --install <path>/dpkg-<version>.deb

Then (temporarily) remove the old a.out libc package by running

	dpkg --remove --force-depends libc

You may also need to add --force-essential if the above doesn't work.

Then install the new a.out libc package by running

	dpkg --install <path>/libc4-<version>.deb

Then install the latest ld.so package by running

	dpkg --install <path>/ld.so-<version>.deb

Then install the new ELF libc5 package by running

	dpkg --install <path>/libc5-<version>.deb

At this point, you might be able to use dselect to complete the
installation, but I still wouldn't trust it.  IMHO, you would be
better using dpkg directly to install the remaining packages you
desire.  To do this just cd into the various directories and run

	dpkg --install <package>-<version>.deb

By doing this manually, you will have to pay attention to the
dependencies and conflicts.  Dpkg should tell you if it runs into any
problems and not do the installation.  You may have to override some
things by using --force-<something> to get a few packages installed,
but until you are more familiar with things, I recommend you don't do
this before checking with me first.

I know this all seems rather complicated.  I suppose it is, but only
because you are converting to ELF before all of the upgrade kinks are
worked out.  Regular users will have a much easier time of this when
the conversion to ELF is complete.

David Engel                        Optical Data Systems, Inc.
david@ods.com                      1101 E. Arapaho Road
(214) 234-6400                     Richardson, TX  75081

Reply to: