Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Apr 2006 21:38:19 +0800
From:      Astrodog <astrodog@gmail.com>
To:        "Danny Braniss" <danny@cs.huji.ac.il>
Cc:        freebsd-amd64@freebsd.org
Subject:   Re: safe way to build i386 arch makeworld on amd64 arch?
Message-ID:  <2fd864e0604070638n11ff30f1pa9ad3fe5ac669ea7@mail.gmail.com>
In-Reply-To: <E1FRohf-000B4K-BW@cs1.cs.huji.ac.il>
References:  <patrick@cyberwizards.nl> <20060407114033.J30882@gandalf.cyberwizards.nl> <E1FRohf-000B4K-BW@cs1.cs.huji.ac.il>

index | next in thread | previous in thread | raw e-mail

On 4/7/06, Danny Braniss <danny@cs.huji.ac.il> wrote:
> > hello list,
> >
> > is there a save way to 'downgrade' an amd64 build system by using 'make world' ?
> >
> > e.g. just remove the CPUTYPE=opteron from the make.conf file and do a
> > build world/kernels install world/kernels ?
> >
> > of do we need to do some more for this?
> >
> > thanks in advance
> >
> > Regards
> > patrick
> >

To downgrade? Not realistically.

> you can, i do:
>         export MAKEOBJDIRPREFIX=/somwhersafe-i386
>         make TARGET_ARCH=i386 buildworld
> same for buildkernel, installworld/installkernel, and also you can specify
> a different DESTDIR=
>
> danny
>

That would certainly allow him to crosscompile an i386 kernel, and
world, but wouldn't have much effect on downgrading from AMD64 to
i386, since you run into a chicken or the egg problem with the kernel,
and world. (a 64-bit kernel does not play nice on a 32-bit world,
without some hacking around, and a 32-bit kernel does not play nice on
a 64-bit world), which makes it impossible to actually do both steps.

If you install the 32-bit kernel first, and reboot, the kernel won't
be able to run the 64-bit binaries. If you install the 32-bit world
first, the 64-bit kernel will become very, very sad, and won't let the
installation complete.

If you try to install the kernel, then the world without a reboot, you
have the same problem as installing the 32-bit world first, since even
with a 32-bit kernel installed, you're still RUNNING the 64-bit kernel
until you reboot.

There are actually ways to do this, but its almost always a bad idea.
Not to mention this will break any packages, or ports you're using
too, with the exception, perhaps, of Linux Compat.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2fd864e0604070638n11ff30f1pa9ad3fe5ac669ea7>