Hi, it seems your method is really complex. Is there any simple way? For my case, do you know how to fix the problem of lilo and grub-common? Sent from my iPhone On Mar 7, 2014, at 17:18, Nowaker <enwukaer@gmail.com> wrote:
It seems OP is already done, but I hope this will by useful for anyone struggling to upgrade a VERY old Arch Linux.
Warning: this is only for experienced users. Beginners do the backups and install Arch from scratch.
Before proceeding, be sure to have several ssh sessions, logged as root. Don't rely on sudo. If your session dies in the middle of the process, LiveCD and VNC will be your only help. SSH won't let you in because it won't be able to exec the shell.
pacman -Sy pacman -Sd pacman-static coreutils-static #1 sed -i 's@PackageRequired@Never #PackageRequired@' /etc/pacman.conf #2 pacman -Syu #3 pacman -Su --ignore filesystem,glibc,gcc-libs,gcc-libs-multilib pacman-static -Sd glibc --ignore filesystem #4 pacman-static -S filesystem pacman-static -S gcc-libs gcc libtool pacman -S pacman libarchive package-query pacman -S ca-certificates #5 pacman -Syu pacman -S mkinitcpio grub systemd #6 mkinitcpio -p linux grub-mkconfig -o /boot/grub/grub.cfg sed -i 's@Never #PackageRequired@PackageRequired@' /etc/pacman.conf
Why pacman-static? Because during the process you will end up with a broken system that is not able to execute anything because of mismatch between glibc (will be newer) and libraries (will be older). You won't be able to call pacman at some stage, so you need a statically compiled pacman.
Why coreutils-static? Just in case. No binary from coreutils is used in my guide, but if anything happens - static coreutils is your rescue. Find them in /rescue/bin.
During the process you may see lots of errors reported by pacman - cannot exec, or something like that. You can't help this. If a package does some important stuff in .install script, you should reinstall the package after the process yourself.
#1 I have these packages in my private repo; you need to build them yourself from AUR. https://aur.archlinux.org/packages/pacman-static/ https://aur.archlinux.org/packages/coreutils-static/
#2 In a (temporarily) broken Arch Linux, pacman can't check signatures because it's either trying to execute or dynamically link some library. It won't work. We have to disable signature checking.
#3 It will fail; done just to download all files to disk.
#4 glibc used to own the directories that currently filesystem owns; we upgrade glibc to get rid of these directories, so filesystem can be installed smoothly in the next step
#5 Depending on how old your Arch is, it's possible that ca-certificates's .install script was not properly run when -Syu was performed, so it has to be done again.
#6 In case they contain something important in .install which could fail during the first -Syu
-- Kind regards, Damian Nowak StratusHost www.AtlasHost.eu