Turns out this is a GRUB issue. It was fixed upstream in the following commit, which cleanly cherry-picks to groovy. I prepared a test build in ppa:dannf/test and confirmed it resolves the issue.
commit a6838bbc6726ad624bd2b94991f690b8e9d23c69 Author: Javier Martinez Canillas <javi...@redhat.com> Date: Thu Sep 10 17:17:57 2020 +0200 tftp: Roll-over block counter to prevent data packets timeouts Commit 781b3e5efc3 (tftp: Do not use priority queue) caused a regression when fetching files over TFTP whose size is bigger than 65535 * block size. grub> linux /images/pxeboot/vmlinuz grub> echo $? 0 grub> initrd /images/pxeboot/initrd.img error: timeout reading '/images/pxeboot/initrd.img'. grub> echo $? 28 ** Changed in: livecd-rootfs (Ubuntu) Status: New => Invalid ** Changed in: grub2 (Ubuntu) Status: New => Confirmed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1900773 Title: ARM servers timeout downloading initrd To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-release-notes/+bug/1900773/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs