Kernel panic during update / issues with pacman sysroot

pacman-static -U $(find . -type f -name \*.zst | tr '\n' ' ') --overwrite "*"

Eventually ended up re-installing all of

Package (7)   Old Version  New Version  Net Change

audit         4.0.1-2      4.0.1-2        1.02 MiB
expat         2.6.2-1      2.6.2-1        0.00 MiB
gnupg         2.4.5-1      2.4.5-1        0.00 MiB
gpgme         1.23.2-1     1.23.2-1       0.00 MiB
libunistring  1.2-1        1.2-1          2.49 MiB
pcre2         10.43-1      10.43-1        0.00 MiB
xz            5.6.1-1      5.6.1-1        0.00 MiB

First I got:

:: Running post-transaction hooks...
(1/6) Reloading system manager configuration...
  Skipped: Running in chroot.
(2/6) Reloading user manager configuration...
  Skipped: Running in chroot.
(3/6) Creating temporary files...
/proc/ is not mounted, but required for successful operation of systemd-tmpfiles. Please mount /proc/. Alternatively, consider using the --root= or --image= switches.
error: command failed to execute correctly
(4/6) Arming ConditionNeedsUpdate...
(5/6) Checking which packages need to be rebuilt
join: /dev/fd/63: No such file or directory
Error, do this: mount -t proc proc /proc
lscpu: failed to determine number of CPUs: /sys/devices/system/cpu/possible: No such file or directory
comm: /dev/fd/62: No such file or directory
tee: /tmp/tmp.AC7WjPyhwq/3131: No such file or directory
comm: /dev/fd/62: No such file or directory
tee: /tmp/tmp.AC7WjPyhwq/9330: No such file or directory
comm: /dev/fd/62: No such file or directory
(6/6) Updating the info directory file...

I have then mounted/bound /proc, /dev and /sys and now it seems successful:

... still lots of these ...
dconfig: File /usr/lib/libGLX_nvidia.so is empty, not checked.
ldconfig: File /usr/lib/libunwind-setjmp.so.0.0.0 is empty, not checked.
ldconfig: File /usr/lib/libOSMesa.so is empty, not checked.
...
:: Running post-transaction hooks...
(1/6) Reloading system manager configuration...
  Skipped: Running in chroot.
(2/6) Reloading user manager configuration...
  Skipped: Running in chroot.
(3/6) Creating temporary files...
(4/6) Arming ConditionNeedsUpdate...
(5/6) Checking which packages need to be rebuilt
fatal library error, lookup self
(6/6) Updating the info directory file...

But a subsequent pacman-static -Syu is still resulting in

:: Retrieving packages...
 run-parts-5.17-1-x86_64                             29.3 KiB   175 KiB/s 00:00 [---------------------------------------------] 100%
 zsh-5.9-5-x86_64                                     2.2 MiB  2.59 MiB/s 00:01 [---------------------------------------------] 100%
 Total (2/2)                                          2.2 MiB  2.53 MiB/s 00:01 [---------------------------------------------] 100%
(2/2) checking keys in keyring                                                  [---------------------------------------------] 100%
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
(2/2) checking package integrity                                                [---------------------------------------------] 100%
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: run-parts: missing required signature
:: File /var/cache/pacman/pkg/run-parts-5.17-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] 
error: zsh: missing required signature
:: File /var/cache/pacman/pkg/zsh-5.9-5-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] 
error: failed to commit transaction (invalid or corrupted package (PGP signature))
Errors occurred, no packages were upgraded.