Quoting Erik Trulsson <[EMAIL PROTECTED]>:

On Thu, Jun 28, 2007 at 10:12:39AM -0500, [EMAIL PROTECTED] wrote:

>On Wed, 27 Jun 2007 14:54:52 -0500
>>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

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

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 ?
Hi Erik,

Ignorance, I assume, is my only excuse? At least thanks to your patience and explanation, I understand and am somewhat less ignorant;) Originally, I had ordered these and I was promised that they were dual core and I had to pay in advance. When they finally arrived, I found that they were standard AMD Athlon 3800+ and no x2 so it looks like I was "had" but that will be another story. Then it would have made sense to change to 64 bit. For the moment my problem is solved and I'll stay with 32 bit for now.


freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to