# Migration i386 => amd64



## skiddoo (Jul 19, 2012)

Hallo,

*I*'m little bit confused about the diffrent freeBSD versions.

I installed *F*reeBSD 9.0 i386 on my system with 16GB of RAM. Now I realized that only 4 GB of RAM is used. Ok, i386 is the 32bit version of the OS. 

Now *I*'m looking for the 64bit version, but there's only the amd64 version. I installed an Intel CPU. Will the amd64 Version run on my System?

Is there a migration-path from i386 to amd64 or *I* have to reinstall the whole system?

If *I* have to reinstall the system, is it possible to add an existing ZFS-mirror to the system?

Thanks for your answers.


----------



## chatwizrd (Jul 19, 2012)

I found this url about Amd64. I would love to know if it is possible to upgrade for i386 to amd64 as well.

Amd64 Information


----------



## graudeejs (Jul 19, 2012)

skiddoo said:
			
		

> Hallo,
> 
> I'm little bit confused about the different freeBSD versions.
> 
> ...



amd64 is just generic name for 64bit version of FreeBSD.
That's exactly what you need. And yes, you need to reinstall everything.

Don't know what exactly you mean by last question.


----------



## dave (Jul 20, 2012)

If your ZFS mirror exists on separate disks from your OS, then yes, you can simply export the pool and then import it in your new OS.  I would unplug the mirror while doing the install so as not to accidentally destroy any data.

I do not believe it is possible to migrate from i386 to amd64.  And it is almost certainly not desirable.

Amd64 is a (rather unfortunate) naming convention for the 64-bit version of FreeBSD.  Yes, it will run on your Intel 64-bit CPU.


----------



## phoenix (Jul 27, 2012)

A timeline:

Intel released a bunch of CPU architectures, naming each one after the CPU that it originated with (8008, 8080, 8086, 80186, 80286, etc).  These, collectively, became known as 'x86', as each new version was backwards-compatible with the previous. These were 4-, 8-, and eventually 16-bit.

Intel released their 32-bit extension to their x86 instruction set, and named it 'i386'. Also known as IA32 (Intel Architecture 32-bit).

FreeBSD Project ported FreeBSD to that architecture, and named it 'i386'.

Intel released a new 64-bit architecture that they named IA64 (aka Itanium), expecting everyone to migrate to that from i386.

FreeBSD Project ported FreeBSD over to that architecture, and named it 'ia64'.

AMD released their 64-bit extension to Intel x86 instruction set, and named it 'amd64'.

FreeBSD Project ported FreeBSD over to that architecture, and named it 'amd64'.

Intel realised AMD had them over a barrel as no one sane had Itanium systems under their desk and AthlonMP/Opterons were destroying P4/Xeon systems, so they licensed the 'amd64' extensions, screwed up a bunch of things, made things just slightly incompatible, and named it EM64T. Then renamed it IA32e. Then renamed it Intel64. Then rename it something else. And, I believe even renamed it once more after that. No idea what it's actually called nowadays.

FreeBSD Project 'ported' FreeBSD to Intel's version of 'amd64'. Since only minor changes were needed, and it's not really a separate CPU architecture, it's name has not been changed. The 'amd64' version works on all 64-bit, x86-compatible systems. Even ones from VIA.

Along the way, a bunch of Linux devs decided that 'amd64' was confusing and decided to completely remove AMD's historical and ground-breaking contribution to x86 computing, renaming their CPU architectures to 'x86' and 'x86_64' (which really rolls off the tongue). Somewhere in there was also a suggestion for 'x86-64'.

Not to be out-done, several more people online decided to completely remove Intel from the equation as well, and started referencing the 64-bit architecture as 'x64'. Meaning the 'new and improved' architecture is 12 versions older than the ancient architecture (somehow x64 > x86). I believe Microsoft is part of this group.

Thankfully, the FreeBSD devs have not fallen into the 'nom-du-jour' games of the others, and continue to refer to the CPU architectures by their original names: i386 and amd64.


----------



## SirDice (Jul 27, 2012)

phoenix said:
			
		

> Then renamed it Intel64. Then rename it something else. And, I believe even renamed it once more after that. No idea what it's actually called nowadays.


As far as I know Intel still calls it "Intel 64", which I think is rather confusing. A lot of people think it refers to IA64. Intel 64 is backwards compatible and can run 32 bit i386 code, IA64 however cannot.


----------



## vermaden (Jul 27, 2012)

phoenix said:
			
		

> Meaning the 'new and improved' architecture is 12 versions older than the ancient architecture (somehow x64 > x86).


Some even named them x32 and x64, as referring to i386 and amd64 respectively


----------

