So i successfully upgraded from i686 to x86_64 ( over the weekend; took me two tries but once i stopped making stupid mistakes it was actually pretty easy. i'd like to document what i did (and some easy places to go wrong) here in this forum post, then maybe if i get the time, look into where and how to post a wiki entry. [anyone who would like to put forth the effort is more than welcome to convert this to a wiki themselves]

My Scenario: i had a working 686 install on a 250G drive with 2GB memory. i bought a new 500G drive and 4GB memory to use in this ugrade. i also had a 320G drive to store backup data for use in the transition.

The Steps: first, backup /etc and /home/username to another drive that'll be accessible in your new system. cp -a /etc /home/username /backup_dir/ [sidenote]i used tar the first time but that was a pain. when i finally went to restore, i got /etc/etc then i got /etc/* directly in / and then i had /home/username/home/username. meh, my fault mostly but annoying nonetheless. go with cp -a, it maintains the permissions and mod times and it's recursive by default including dot-files. much easier if you've got the space.[/sidenote] second, create a list of installed packages to be reinstalled into the new system. pacman -Qqe | grep -vx “$(pacman -Qqm)” > /backup_dir/pacman.lst pacman -Qqm > /backup_dir/aur.lst next, swap out your drives and install arch64 onto your new drive using whatever method you're comfortable with from the install cd. note: with a clean out-of-the-box HDD i couldn't get the first [pata] boot live cd option to work, so i had to use legacy IDE. this could be an isolated incident, i dunno; on my second attempt however (after the drive had already been formatted twice) i could use the first [recommended] option and these instructions continue from there. now assuming all went well (i had to reformat/install a few times due to grub errors hmm), you should be rebooted into your new working 64bit system at this point. the first thing i did was [-Syu then…] make a directory to mount my backup drive, add it's entry to fstab and mount it; if this were an ubuntu64 transition, i'd spell that out for you… wink now, back up a few key /etc files that we don't want to modify during the restore (all of these are probably not needed, but on my second attempt at this i wasn't taking any chances…) cp -a /etc/{fstab,pacman.conf,pacman.d,makepkg.conf} /backup_dir/ note: you _could_ just copy these files directly into /backup_dir/etc (overwriting your 686 backups) then they'll come over when you restore, but i like to separate steps sometimes to prevent errors, do whatever you feel comfortable with. next, reinstall all of your packages. thanks to the beauty that is pacman, this is a trivial (albeit timeconsuming) step. aur.lst won't be used in this post but will come in handy later when you want to manually reinstall any foreign packages you had in your 32 bit system. also, check the announcements forum about the klibc error(s), it will probably be required for you. note: if you're comfortable editing pacman.conf and pacman.d/mirrorlist, do so now to maximize your download speed in the next step (don't forget to [re-]back them up to /backup_dir) cat /backup_dir/pacman.lst | xargs pacman -S –noconfirm –needed this will take forever. go get dinner and come back to see how it went. once that's all done we can restore /etc and /home then put back the files we didn't want modified cp -a /backup_dir/etc / cp -a /backup_dir/username /home/ cp -a /backup_dir/{fstab,pacman.conf,pacman.d,makepkg.conf} /etc/ now… gingerly… carefully… reboot. hopefully, if you've been diligent, all should be well and it should look like your 686 system. go ahead and re install any packages you got from AUR at this point.

Things to Note: as i just did this yesterday, i'm still finding the little things that didn't get restored with this method, i'll list them below as i find them.

1. crontabs, dunno where they're stored but i had to recreate mine 2. firefox… error, “can't find GRE between version…” fixed with: sudo xulrunner –register-global 3. mySQL db's (my amarok db) is stored in /var/lib by default. backup/restore it or recreate it after your upgrade. 4. some programs store config/theme files in /usr/share (slim, some kde icons…) it's nothing important but keep it in mind if you've modified things in there. 5. backing up /usr or /opt might be a good idea; backing up /var is _not_ a good idea as it contains all your 32 bit packages

good luck!

i686.txt · Last modified: 2014/10/29 21:09 by archmobile
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki