Rebooting was a bad idea.
And, even if it could run, mkinitcpio wont fix this.
You have a borked upgrade that only begun to be applied when it failed, which would be a partial-upgrade state in and of itself.
But it also failed trying to extract the upgrade for systemd
(in relation to pam) … which would also be a problem.
What you need to do is … ah, @zbe beat me to it.
Note: If it is truly that single error/file then the package would be systemd
… you should not need to remove/redownload all other systemd-*
cached packages.
Also … theres some guides around … like this one: