Auto-update (GNOME) to L4T R36.4.7 bricked NVMe boot on AGX Orin: "ERROR: nvme0n1p1 not found" (cause + fix)

**Setup:** Jetson AGX Orin devkit, booting from NVMe, JetPack 6.2.1 (L4T R36.4.4), Ubuntu 22.04 desktop.

**Symptom:** A shutdown never completed (board stayed on, unresponsive). After that, every boot stops in the initrd:

```

Root device found: nvme0n1p1

ERROR: nvme0n1p1 not found

bash: cannot set terminal process group (-1): Inappropriate ioctl for device

VDD_3V3_PCIE: disabling

VDD_12V_PCIE: disabling

```

Thankfully the SSD is fine: it reads OK over USB and SMART is clean, I did not lose any data.

**Cause**

1. GNOME Software (the Ubuntu “Software” app, via PackageKit) auto-downloaded ~700 updates, including the **L4T R36.4.7 BSP** (`nvidia-l4t-kernel`, `-kernel-oot-modules`, `-initrd`, `-bootloader`, …), and installed them as an *offline update* at shutdown.

2. Partway through, it reached `packagekit 1.2.5-2ubuntu3.1` (an Ubuntu 22.04 security update). That package’s preinst runs `deb-systemd-invoke stop packagekit-offline-update.service packagekit.service`, which **kills the update transaction itself**. The board hangs at shutdown forever, with ~300 packages unpacked but never configured. (Same bug as Debian #880712 / PackageKit GitHub #590. Debian fixed it with `–no-stop-on-upgrade`; Ubuntu 22.04 hasn’t.)

3. The new kernel and initrd files were already on disk, but `nv-update-initrd` (a dpkg trigger that runs at configure time) never ran. So `/boot/initrd` is the stock package initrd **without `nvme`, `nvme-core`, `pcie-tegra194` or `phy-tegra194-p2u`**, and the initrd can’t see the NVMe.

**To confirm:** mount the APP partition on another PC. If `zcat /boot/initrd | cpio -t | grep nvme.ko` prints nothing, you have this bug. The last entry in `/var/log/apt/history.log` will also have no `End-Date`.

**Fix (simplified)**

1. Put the NVMe on a Linux PC (I did it with a USB enclosure) and mount the APP partition as `$R`. Back up `$R/boot/initrd` first.

2. Rebuild the initrd the way `nv-update-initrd` does:

```

KVER=5.15.148-tegra; mkdir /tmp/ird && cd /tmp/ird

zcat $R/boot/initrd | sudo cpio -i

grep -E ‘^[^#]’ $R/etc/nv-update-initrd/list.d/modules | sed “s/<KERNEL_VERSION>/$KVER/g” |

while IFS=: read src dst; do sudo mkdir -p “.${dst%/*}”; sudo cp $R$src “.$dst”; done

find . | sudo cpio -H newc -o | gzip -9 -n | sudo tee $R/boot/initrd > /dev/null

```

3. Boot the Jetson and finish the interrupted upgrade **in a terminal**. Don’t use the Software app: it will kill itself again.

```

sudo dpkg --configure -a

sudo apt-get -f install

sudo apt-get install --reinstall packagekit

zcat /boot/initrd | cpio -t | grep -E ‘nvme.ko|pcie-tegra194.ko’ # must list both before rebooting

```

In our case the bootloader capsule update was never staged: `sudo nvbootctrl dump-slots-info` still shows 36.4.4.

**⚠️ Don’t let your Jetsons auto-update.** On anything that matters (robots, field units):

- Never leave “Install pending software updates” ticked at power-off, and don’t update through the Software app.

- `sudo apt purge gnome-software` (or at least `gsettings set org.gnome.software download-updates false`), then `sudo systemctl mask packagekit.service`.

- `sudo apt-mark hold $(dpkg -l ‘nvidia-l4t-*’ | awk ‘/^ii/{print $2}’)`

- Do L4T upgrades deliberately with `sudo apt` over SSH inside `tmux`, and check that `/boot/initrd` contains `nvme.ko` before rebooting.

Hope this saves you the hassle of reinstalling Jetpack from scratch.

Ps: Claude did all the fix (about 3 hours work total) and write up. Just copy paste this post to your Claude and it should be smart enough to figure out what to do.

Ps2: Jetson team if you’re reading this, please exclude latest Jetpack from the automatic update. If I want to update to latest Jetpack I’m more than capable of doing so manually.

Hi,
There is a known issue in r36.4.7:
Making sure you're not a bot!

Please check if you ca re-flash the developer kit to Jetpack 6.2.2 r36.5(or 6.2.3 r36.5.2). Our apology for the issue on r36.4.7, and we are checking to eliminate this in future Jetpack releases.