safe way to build i386 arch makeworld on amd64 arch?
Danny Braniss
danny at cs.huji.ac.il
Sat Apr 8 08:15:17 UTC 2006
> On 4/7/06, Danny Braniss <danny at 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.
You are of course correct, but then again, I did mention DESTDIR=
and MAKEOBJDIRPREFIX.
personaly, machines that are not diskless, i tend to have 2 root slices
(it only needs some 500 Mgb), and install on a non active slice/partition, then
i do 'boot0cfg -sn device'. When that fails i do have to go to the console
and reboot from the old partition :-(, this is nice if the console is
walking distance away ...
danny
More information about the freebsd-amd64
mailing list