Edit page Fedora64bitUpgrade
authorbernie <bernie@217.133.10.139>
Mon, 2 Mar 2009 16:23:03 +0000 (17:23 +0100)
committerGeekiGeeki <webmaster@codewiz.org>
Mon, 2 Mar 2009 16:23:03 +0000 (17:23 +0100)
Fedora64bitUpgrade [new file with mode: 0644]

diff --git a/Fedora64bitUpgrade b/Fedora64bitUpgrade
new file mode 100644 (file)
index 0000000..bad4686
--- /dev/null
@@ -0,0 +1,79 @@
+== Online upgrade an i386 Fedora system to x86_64 ==
+
+=== Preparation ===
+
+**WARNING:** This exercise has been performed by experienced stunt sysadmins.  Do not try this at home without professional supervision.
+
+You will need to manually download a few packages from the repository.
+A full local mirror of the repository might make things a little easier,
+but it's not required.  I use ##lftp## or ##lftpget## with these paths
+conveniently bookmarked:
+
+{{{
+ftp://mirrors.us.kernel.org/fedora/updates/10/x86_64/
+ftp://mirrors.us.kernel.org/fedora/linux/releases/10/Everything/x86_64/os/Pa
+}}}
+
+Always check the updates directory first for the latest version of the rpm,
+or you might end up with incompatible dependencies. 
+
+=== Upgrade ===
+
+Enough talking, now let's roll:
+
+ * **Kernel:** Download and install 64bit kernel:
+ {{{
+ rpm -U --ignorearch kernel-2.6.27.15-170.2.24.fc10.x86_64.rpm
+ }}}
+
+ * **Reboot:** this is the only time you'll need to reboot if you're careful
+
+ * **glibc:** Force install the 64bit glibc, but keep the 32bit libraries:
+ {{{
+ rpm -i --ignorearch --force glibc-2.9-3.x86_64.rpm glibc-common-2.9-3.x86_64.rpm glibc-2.9-3.i686.rpm
+ }}}
+
+ * Do random shell commands still work?  Good, then we're still in business.
+
+ * **rpm:** Now comes the tricky part: we need to switch to 64bit rpm to continue the upgrade,
+ but rpm has a lot of dependencies.  I did this by trial and error, eventually running
+ a very long command line:
+ {{{
+ rpm -U --force --ignorearch rpm-* libz-* ...
+ }}}
+
+ * **Disable gpg signatures:** At this point, I got seriously stuck by a mysterious problem,
+ probably unrelated to the arch migration: the new rpm would work, but refuse to install any new
+ package mumbling something about incorrect MD5 signature.  It turned out that rpm was actually
+ using gpg rather than md5 signatures, and the error message was just misleading.
+ I got past this by disabling gpg signatures by commenting out the ##%_signature gpg## in
+ ##/usr/lib/rpm/macros##.
+
+ * **Install the rest:** At this point, it's all downhill.  You can't get along with
+ "yum upgrade" though, because yum thinks you already have the latest versions of everything,
+ although with the wrong architecture.  I did it like this:
+ {{{
+ rpm -i `rpm -qa | sed -ne 's/i[36]86/x86_64.rpm/p'`
+ }}}
+
+ * **Final cleanup**: you might want to remove all the i386 junk to get a pure 64bit system.
+ I did it like this: ##rpm -e `rpm -qa | grep i[36]86`##.
+
+Good luck!
+
+
+=== Trouble? ===
+
+If something goes wrong and you're stuck with an unworkable, you could boot off a 64bit live
+CD and manually copy the files you need or ##chroot## into your half-upgraded system.
+
+You might need to unpack rpms with ##rpm2cpio##.  Also note a few rpm options useful in
+recovery scenarios: ##--root##, ##--justdb##, ##--rebuilddb##.
+
+
+=== Help improve this documentation ===
+
+If you manage to break your system in interesting ways, I'd like to know (but not necessarily
+help you fix it).
+
+Please, edit this page with additional notes and tips.  It's a wiki for a reason.