PYNQ SD Image for Ultra96: error in GPG key for apt

When I try to build an image for Ultra96 board, I get the following error.

Get:1 http ://ports.ubuntu.com/ubuntu-ports bionic InRelease [242 kB]
Err:1 http ://ports.ubuntu.com/ubuntu-ports bionic InRelease
The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32
Reading package lists… Done
W: GPG error: Index of /ubuntu-ports bionic InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32
E: The repository ‘Index of /ubuntu-ports bionic InRelease’ is not signed.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.

This error happens as soon as multistrap building arm64 multistrap on ‘amd64’ and starts to update the packages.

I tried updating the GPG key for the build machine, however that does not seem to work. This is probably happening while trying to create rootfs.
Is there a way to proceed ahead without verifying the signature? Or adding the required GPG key?

I think there might be some issues with the apt configs. The dumbest but easiest way is to revert to the default /etc/apt/sources.list

Maybe you can backup that file and change it to default, then apt-get update.

This issue seems to be due to mutistrap command with --no-auth argument. By removing --no-auth arg from multistrap command in the sdbuild/scripts/create_rootfs.sh script and including keyring=ubuntu-keyring in the mustistrap config file seems to solve the problem.

1 Like

I have a PR here which rolls in your fix: Enable Ubuntu 18.04 host support by powderluv · Pull Request #974 · Xilinx/PYNQ · GitHub

The cause of the keyring issue can also be the proxy server, especially when you are behind a corporate proxy. Sometimes I have to adjust the proxy settings.