View previous topic :: View next topic |
Author |
Message |
dopey Apprentice
Joined: 10 Feb 2003 Posts: 235
|
Posted: Sun Sep 03, 2006 3:32 pm Post subject: Athlon 64 -> Core 2 Duo migration results |
|
|
I know there have been a few posts on how to do this without re-installing, etc etc, and I thought I'd mention that on Friday I did this migration and things have been working wonderfully (damn this E6600 is fast).
Basically the steps I took are (excluding figuring out what kernel drivers the motherboard might need for sata/ethernet/any other drivers you use):
Preparation for the upgrade:
1) If gentoo was originally built with -march=k8 (or any other combination of non=intel march's) on the athlon 64 system change the CFLAGS to use -mtune=nocona (or -mtune=k8 if you don't mind rebuilding after moving over to the new CPU/MB to get nocona optimizations)
2) rebuild the kernel using CONFIG_GENERIC_CPU x86_64 architecture (some have reported that using CONFIG_MK8 booted fine on a core 2 duo, but I don't know that I'd trust that) and install the kernel/modules/etc. Also, add in any additional drivers that you need for the new motherboard. In my case, I have an Asus P5N32-SLI SE Deluxe, so I just needed to add in forcedeth and sky2 network drivers, and sata_nv and sata_sil24 for SATA.
[NOTE] If you use any external kernel modules, it is important that they are built with CPU type consistent with the kernel. If not, you will get oopses when you tried to load those modules. As such, I'd almost recommend re-emerging those packages seperately immediately, but if you really want to save time just go on to step 3
3) emerge -eav world [this will rebuild everything with your new CFLAGS and assuming /usr/src/linux is linked to kernel source from step 2, any kernel modules installed by packages will be rebuilt using that kernel changes.
4) I'd recommend removing xdm from the default run-level as well especially if you change video card architectures. (although you can just force boot the new system to single user mode if things don't work)
After hardware upgrade:
1) boot system as normally
2) rebuild kernel with CONFIG_MPSC optimization, rebuild modules as well (the [NOTE] from above applies here.
3) Change CFLAGS to -march=nocona if you want march optimizations, or to -mtune nocona if you didn't do that pre-upgrade.
4) If you changed the CFLAGS in step 3 just now, you'll need to emerge -eav system; emerge -eav world (in cases where I worry about the toolchain compatibility I always do an emerge -eav system first, in this case, since everything was built with mtune, that's not really necessary and emerge -eav world would do. I took advantage of this to do the gcc-4.1.1 upgrade at the same time, hence the emerge -eav system first). If prior to migration you already set -mtune=nocona and rebuilt, and are happy with that, you can skip this step.
You can reconfigure all your other devices (video, sound, whatever) at any point in the above sequence although I'd recommend either between steps 1 and 2 or just wait til after step 3 and 4.
And assuming all goes well, you'll have migrated your existing installed packages to intel optimizations
I also took the time to compare emerge -eav's package list with the list of all packages installed, and pruned any of the installed packages that have lost dependencies. I found depclean doesn't always clean up after SLOT'ed packages properly. |
|
Back to top |
|
|
azdruid Tux's lil' helper
Joined: 19 Feb 2006 Posts: 75
|
Posted: Sun Sep 03, 2006 4:26 pm Post subject: |
|
|
I can't speak from experience, but it seems to me that the -march=nocona optimizations would be counter-productive on a Core 2 chip. Why? GCC's Nocona, or EM64T, currently compiles for the Pentium 4 architecture (NetBurst). Core 2 is MUCH different from the Pentium 4, and really quite closer to the Pentium M.
Give it a try, perhaps, for the sake of experimentation. |
|
Back to top |
|
|
dopey Apprentice
Joined: 10 Feb 2003 Posts: 235
|
Posted: Sun Sep 03, 2006 6:17 pm Post subject: |
|
|
This is currently a matter of debate, as there are people who argue nocona isn't correct. However, nocona works, and the support instruction set is accurate for the core 2 chips.
The other alternative is -mtune/march=pentium-m -msse3, however, that won't enable em64t specific optimizations that nocona does.
Also, while core 2 did indeed scrap the netburst architecture, how much in common with the pentium m does it really have as it's an entirely new architecture?
My take is, for ix86 use -mtune/march=pentium-m -msse3
for em64t use nocona.
Since this is the AMD64 architecture forum, I left it at nocona |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|