Upgrade from 32-bit to AMD-64?

Dmitry Morozovsky marck at rinet.ru
Mon Feb 23 00:04:22 PST 2009


On Wed, 18 Feb 2009, Karl Denninger wrote:

KD> I have been able to come up with a procedure that works.
KD> 
KD> 1. Load a new hard disk with the 64-bit code.  Perform a buildworld and
KD> buildkernel, and installkernel and installworld to this disk to verify that
KD> it will install and run.  You now have a "base" disk to use for migration.
KD> 
KD> 2. Make sure you have a backup (:-))
KD> 
KD> 3. Boot the migration hard disk as the system disk and mount the subject
KD> machine's disk drive(s) under /mnt.
KD> 
KD> 4. Do "make DESTDIR=/mnt installkernel" and "make DESTDIR=/mnt installworld"
KD> 
KD> 5. Shut down and disconnect migration disk.
KD> 
KD> 6. Boot SINGLE USER and verify that the system boots, you can fsck -p the
KD> disks, and mount them.  The system should boot and run.
KD> 
KD> 7. Come up multiuser but with any services necessary to the world offline.
KD> Some of your packages may blow up when started.  If so, portupgrade SHOULD
KD> fix it, but this is not consistent.  I had to manually dump the ports tree
KD> and rebuild a few installed ports due to what appear to be broken
KD> dependancies, but not many.
KD> 
KD> Postgresql 32-bit runs fine without recompilation after doing this.  It is
KD> arguably preferrable to recompile; doing so requires a dump/restore of the
KD> data as the 32 and 64-bit code will NOT run off the same binary data store.
KD> 
KD> Attempting to "make instalkernel" on an "in-place" basis resulted in a
KD> system that booted but failed immediately due to loader conflicts; there was
KD> no way to get the rest of the codeset loaded if you make that mistake.

You can avoid most of these problems if you have copies of ld-elf (both 32-bit 
and 64-bit), and boot single user for /rescue; however, "migration disk" 
approach is much simpler.

KD> 
KD> The "migration disk" approach appears to work fine.

-- 
Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
[ FreeBSD committer:                                 marck at FreeBSD.org ]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------


More information about the freebsd-stable mailing list