Public bug reported:
Summary
On a PXE/NFS netboot of the Ubuntu 26.04 desktop live image (boot=casper
netboot=nfs nfsroot=… ip=dhcp), the casper-bottom hook 41apt_build_cache_cdrom
(which runs chroot /root apt-get update --no-list-cleanup inside the initramfs)
never returns on one laptop that reaches the network through a USB dock's
Ethernet adapter. The console shows the hook's apt output ending at Get:5
file:/cdrom …, with Failed to create stream fd and dbus-daemon: a connection to
the bus can't be made above it (expected in the initramfs chroot). After that
nothing runs: the NFS client issues no further reads, no task is in D state
(SysRq-w empty), the link stays up (the host answers ping), and the boot sits
there until casper's eventual timeout. The same image, kernel, initrd and menu
line boot fine on a laptop with a built-in Ethernet port. Replacing the hook
with a no-op (otherwise identical initrd) makes the dock laptop boot straight
into the installer (which then showed its Intel RST notice normally).
Environment
- Image: Ubuntu 26.04 "Resolute Raccoon" Release amd64 (20260423.1),
casper/vmlinuz 7.0.0-14-generic, stock casper/initrd (95,515,095 bytes), served
over NFS (/srv/nfs/ubuntu-26.04, export ro,no_subtree_check,fsid=2604).
- Boot chain: UEFI PXE → iPXE → kernel vmlinuz initrd=initrd boot=casper
netboot=nfs nfsroot=10.0.6.129:/srv/nfs/ubuntu-26.04 ip=dhcp ---.
- Failing client: laptop, 8 GB RAM, Ethernet via a USB dock (adapter appears as
a USB NIC; the initrd's r8152/cdc_ether/ax88179 drivers are present and the
initrd's ip=dhcp succeeds). Model and dock: [fill in].
- Working client: laptop with built-in Ethernet, same server and menu line.
What was observed (packet capture on the NFS server)
1. Firmware DHCP, TFTP of iPXE, iPXE's own DHCP, HTTP fetch of vmlinuz and
initrd: all normal (seconds).
2. The initrd's DHCP succeeds; rpc.mountd logs the mount; ~1,000 NFS READs
(about 49 MB) in the first 15 s.
3. Reads stop. The server-side TCP socket to the client stays ESTABLISHED with
send/receive queues empty and every
byte acked; no NFS retransmits; the client answers ICMP. Three boots gave
the same byte count and the same stop point.
4. SysRq-w on the client: "Show Blocked State" with no tasks. The process is
sleeping, not blocked on I/O.
5. Disabling USB autosuspend (usbcore.autosuspend=-1) and removing quiet splash
change nothing.
6. With 41apt_build_cache_cdrom replaced by exit 0, the boot proceeds: NFS
reads continue at full rate
(2,000+/20 s), the live system's NetworkManager DHCPs, and the installer
appears.
Why it matters
The hook has no timeout and no kernel-parameter opt-out, so a single stuck
apt-get update in the chroot turns a netboot into an indefinite hang with no
diagnostic on screen (the next scripts print nothing). The cache it builds is
an optimisation (apt lists for the cdrom pool), not a prerequisite for the live
session or the installer.
Suggested fixes
- Run the hook's apt-get update under timeout (e.g. 120 s) and log a warning on
expiry instead of hanging.
- Honour a kernel parameter (e.g. casper-no-apt-cache) to skip the hook on
netboot setups.
- Investigate why apt's file: acquire sleeps on this configuration (no I/O, not
D state): the USB-NIC + NFS
combination is the only difference between the failing and working clients.
Reproduce
Netboot the 26.04 desktop image over NFS on a machine whose only network path
is a USB Ethernet adapter on a dock; watch the console (no quiet splash) stop
at Get:5 file:/cdrom, and the NFS server's traffic stop while the host still
answers ping. Replace the hook with a no-op in the initrd to confirm.
** Affects: casper (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172844
Title:
41apt_build_cache_cdrom hangs forever on NFS netboot (USB-dock NIC
laptop), Ubuntu 26.04
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/2172844/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs