Da bleibt dir wohl nur der Weg über eine Live-CD(Arch Install z.B.) und chroot (Siehe Wiki).
im chroot mußt du dann das initrd neu bauen, schau mal nach ob im /tmp im chroot noch genug Platz ist.
Was mich ein wenig stutzig macht bei dir:
ln: Symbolischen Verknüpfung »/tmp/mkinitcpio.GWVNoh/root/usr/local/lib/libkmod.so.2« konnte angelgt werden: Datei oder Verzeichnis nicht gefunden
Das "konnte angelgt werden" ist leider nur ein dummer Übersetzungsfehler in der deutschen Sprachdatei, es bedeutet eigentlich "konnte nicht angelegt werde".
Aber: daß im generierten initrd-Image etwas nach usr/
local/lib/libkmod.so.2 pepackt/gelinkt wird, hier paßt IMHO etwas nicht. Der base-Hook benutzt AFAIK nie etwas mit /usr/local
Hast du bzgl. Lib-Pfade in deinem System etwas bewußt nach /usr/local installiert/gelinkt oder sonstwie?
Zumindest mir ist bei mkinitcpio und auch bei Fehlern nie ein wie auch immer gearteter Verweis/Linkziel auf usr/local/lib begegnet....
Im richtig gebauten initrd liegt z.B. die libblkid.so.1 definitiv in /usr/lib des initrd-Images.....
//Edit: Jep, irgendwo mußt du bei den Hooks oder sonstwo erheblich etwas "verkonfiguriert" haben, wenn nach /usr/local etwas reingelinkt werden soll..... Dehalb wird im initrd bei dir auch die Lib nicht gefunden (/usr/local ist nicht im Standardsuchpfad....)
Habe gerade mit -verbose ein initrd erstellt, da passiert definitiv NICHTS in usr/local (daß verzeichniss wird im initrd garnicht erstellt...)