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

Re: converting from i386 to amd64 without rebuilding




On 2007-12-14 Lennart Sorensen wrote:
> On Fri, Dec 14, 2007 at 11:49:20AM -0800, Steve Lane wrote:
> > Greetings.  We've got a 4-core (2 x Core 2 Duo) server that was
> > originally built as an i386 machine, then converted to the i386 bigmem
> > kernel, and *then* converted to the amd64 kernel. None of the packages
> > on the machine, however, are from the amd64 port - they're all i386.
> > 
> > Is there some simple and straightforward (or even not-so-simple or
> > straightforward) way of converting the machine from the i386 port
> > to the amd64 port without rebuilding it from scratch using the amd64
> > installer, i.e. to reinstall all the i386-specific packages from the
> > amd64 repository?
> 
> I can't think of any way.  You can create a chroot with debootstrap, but
> that's essentially just a harder way to run a fresh install.
> 
> After all you can't have both the 32 and 64 bit version of libc6
> installed at once in the same place, so you can't replace it while other
> packages which depend on it are using the other bitness.

Shouldn't it be possible to first install /lib32 and then ld-linux and libc6
(amd64) at the same time (probably by hand using a static linked shell).

After that most old i386 packages should automagicly use libc6 from /lib32.

Then one would somehow have to change apt and dpkg's idea of which
architecture you use, probably by installing them by hand (i.e. unpacking
with cpio and tar or copying from a i386 chroot previously created with
pbuilder or similar).

After that some kind of "dpkg -l | xargs apt-get --reinstall install" should
do the rest.

You should try that in a chroot first and of course keep a GRML CD at hand.

bye,

-christian-

Attachment: signature.asc
Description: PGP signature


Reply to: