I can NOT be responsible if this breaks anything for you. It worked for me. And I have tested it and verified it several times.
Please back up your data before attempting this.
Please DO test this to see if it works as I have described below.
First way.
On the FC2 box change the /etc/fedora-release file to say:
CentOS release 5 (Final)
(save file, duh!)
Boot the FC2 box with the CDROM or DVD of Centos 5.1
At the boot menu choose:
linux upgradeany
follow directions.
reboot.
BAM!
It's just that easy.
2nd way:
Upgrade with a PXE server
On the FC2 box change the fedora-release file to
CentOS release 5 (Final)
(save file, duh!)
make a section in your "/tftpboot/pxelinux.cfg/default" file like this:
label fc2upgrade
kernel centos51_i386/vmlinuz
append ks=http://ip/location/to/ks.upgrade text initrd=centos51_i386/initrd.img ramdisk_size=8192
create your kickstart file on your http server:
ks.upgrade:
____________________________
upgrade
url --url
http://ip/location/to/CentOS/core/i386
lang en_US.UTF-8
keyboard us
skipx
bootloader --location=mbr --append="selinux=0"
text
_______________________________
modify kickstart file as needed.
I chose to disable selinux on my original FC2 install so you should disable it in the upgrade.
You might have to play around with it, but this worked for me. Post comments if you have questions.
Boot with network support and choose fc2upgrade to start the upgrade!
then you would need to set up your repositories and do a yum update
EDIT: It appears the selinux --disabled option is ignored by the upgrade.
change bootloader to bootloader --location=mbr --append="selinux=0"