Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jun 2007 17:35:29 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        eculp@unixmania.com
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Upgrading from an old athlon to a new 64 bit one.
Message-ID:  <20070628153529.GA53017@owl.midgard.homeip.net>
In-Reply-To: <20070628101239.6fs4qrpz8k8kkosw@intranet.unixmania.com>
References:  <20070627145452.ytifppt70oc480s8@intranet.unixmania.com> <20070628011057.5a0d90b5@gumby.homeunix.com.> <20070628101239.6fs4qrpz8k8kkosw@intranet.unixmania.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 28, 2007 at 10:12:39AM -0500, eculp@unixmania.com wrote:
> Quoting RW <fbsd06@mlists.homeunix.com>:
> 
> >On Wed, 27 Jun 2007 14:54:52 -0500
> >eculp@unixmania.com wrote:
> >
> >>I have just stuck the disks from an old AMD Athlon(tm)  (1333.39-MHz
> >>686-class CPU) into a new box with an AMD Athlon(tm) 64 Processor
> >>3800+ (2387.78-MHz 686-class CPU).  I am still building a daily
> >>kernel with the old configuration and all is well.  Of course the
> >>old configuration was/is i386.  Now I need to compile for 64 bit
> >>apps.

No, you do not *need* to compile for 64-bit apps.


> >
> >Are you sure about that? there are few compelling reasons to go to
> >64-bit, if you already have a working system. As far as performance is
> >concerned, it may go either way.
> 
> Hi RW,
> 
> I probably didn't explain very well.  I'll try again.
> 
> The machines that I am updating are all athlon 32 bit machines, which  
> I have been doing a daily cvsup, buildworld, buildkernel,  
> installkernel, installworld and weekly portupgrade for several years.   
> I just removed the disks from one that is running current and another  
> that is running RELENG, both still running kernels cvsup-ed and  
> compiled yesterday as well as userland.  The ports are also up to date.
> 
> What I am trying to do is compile an amd64 kernel, install it and see  
> what happens ;) I can always go back to the generic kernel compiled in  
> sys/i386.

It probably will not work very well.

The compiler on an i386 system does not know how to create amd64 code.
It is not configured to be a crosscompiler - it will only compile to native
i386 code.


There is not really any support for switching from i386 to amd64 by source
code.  It can apparently be done if you know what you are doing but it is
not trivial and not documented.

The normal build system assumes that you are doing a native build by
default.  It is possible to build for a different system, but then you
first need to build the necessary cross-tools (compiler, linker, assembler,
etc.) and then use that to build the rest of the system.




> If all were to go well, I would then recompile all my ports.
> 
> My problem is that when I created a sys/amd64/conf/AMD (just a generic  
> kernel with PF added) file and went to /usr/src and tried make  
> buildkernel KERNCONF=AMD it didn't find the kernel configuration file.  
>  I tried with paths, etc. and no luck.  I also see that my daily  
> compiles and installs have not changed userland programs.   
> /usr/bin/file shows:
> 
> c++:              ELF 32-bit LSB executable, Intel 80386, version 1  
> (FreeBSD), dynamically linked (uses shared libs), stripped
> 
> Using c++ and an example.  I assume it should give a 64-bin executable  
> if it were.  This particular file was built and installed this morning.
> 
> The bottom line is that I'm totally ignorant as to this change and  
> have been doing some really dumb searches in that I haven't found what  
> I'm missing.  I'm convenced that it is something braindead simple but  
> I am still looking.
> 
> The good news is that both the current and RELENG boxes are working  
> well with all as before.
> 
> Again any suggestions or even flames with more information are appreciated.

Why don't you just keep running the i386 version of FreeBSD ?
Is there some particular reason you want to use the amd64 version ?


> 
> ed
> 
> >>Right now all is
> >>working fine with todays, sources and kernel except they are compiled
> >>for Intel.
> >
> >They are compiled for i386; Intel and AMD both produce CPUs for both
> >platforms.



-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



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