Cross build of i386 on 7.0 fails

Peter Jeremy peterjeremy at optushome.com.au
Sat Jan 26 00:09:33 PST 2008


On Fri, Jan 25, 2008 at 03:36:14PM -0000, Steven Hartland wrote:
>> make buildkernel TARGET=i386
>....
>>>> stage 3.1: making dependencies
>...
>/usr/src/sys/i386/i386/genassym.c:1: error: -mpreferred-stack-boundary=2 is not between 4 and 12
>
>What I think is happening is that something is still working as though
>I want amd64 bins and hence the error.

I can reproduce the error and it looks like it's not invoking an i386
cc - possibly because you haven't previously cross-built world.
AFAIK, the only way to build an i386 kernel on amd64 is by
cross-building world as well:

make TARGET_ARCH=i386 buildworld
make TARGET_ARCH=i386 buildkernel

>On an related topic upgrading i386 boxes to amd64 and vice versa from
>source is this possible,

The former is definitely possible and the latter may be.  See (eg)
http://lists.freebsd.org/pipermail/cvs-src/2007-November/083395.html

> if so how. I tried installing a new amd64
>( 7.0 ) kernel on my test i386 ( 6.2 ) machine but boot failed with:
>init died ( signal 0, exit 1 )

You need to rename /libexec/ld-elf.so.1 partway through the install.

-- 
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-amd64/attachments/20080126/2c3be5e9/attachment.pgp


More information about the freebsd-amd64 mailing list