nextcloud / nextcloud/nextcloudpi

Won't boot after update

Open
#2,017 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

has-updates
Dominant language
Shell
Stars
2.9k
Forks
318
PR merge metrics
No merged PRs in 30d

Description

Every time the system does an udpate (automatically) or I perform one manually (apt update && apt upgrade), it won't be able to boot next time I restart it. Thus far, I always ended up dding the boot partition from a fresh nextcloudpi image to my USB stick and would boot again.

Not sure if this relevant, but this time I found at least out that there is a new kernel version installed:

6.10.11+bpo-arm64-16k

compared to 6.6.45-current-bcm2712 on the fresh nextcloudpi image. While this not bad per se, I noticed that the other files were not updated correctly, e.g., note how lib/modules is still on 6.6.45 (whereas the kernel on the old system was already upgraded to 6.10.11):

ls /mnt/oldroot/lib/modules
6.6.45-current-bcm2712

Now I think there might be two potential issues here:

  1. Is the kernel upgrade even expected or should a "normal" nextcloudpi installation stick with 6.6.45?
  2. If it's expected to upgrade, I think the other files should upgrade, too. If not, why would it upgrade to 6.10.11?

FYI, not sure if this is relevant, but the diff between the old (broken) initrd.img and the fresh one (note that some files related to cryptsetup are added to the old/broken setup (perhaps because I enabled encryption in the old setup)

diff -r /tmp/initrd-new /tmp/initrd-old
Only in /tmp/initrd-old/bin: cryptroot-unlock
Only in /tmp/initrd-old/bin: kbd_mode
Only in /tmp/initrd-old/bin: loadkeys
Only in /tmp/initrd-old/bin: setupcon
Binary files /tmp/initrd-new/bin/udevadm and /tmp/initrd-old/bin/udevadm differ
Only in /tmp/initrd-old: cryptroot
Only in /tmp/initrd-old/etc: console-setup
Binary files /tmp/initrd-new/etc/ld.so.cache and /tmp/initrd-old/etc/ld.so.cache differ
Only in /tmp/initrd-old/etc: motd
Binary files /tmp/initrd-new/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 and /tmp/initrd-old/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 differ
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libargon2.so.1
Binary files /tmp/initrd-new/lib/aarch64-linux-gnu/libcrypto.so.3 and /tmp/initrd-old/lib/aarch64-linux-gnu/libcrypto.so.3 differ
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libcryptsetup.so.12
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libcryptsetup.so.12.9.0
Binary files /tmp/initrd-new/lib/aarch64-linux-gnu/libc.so.6 and /tmp/initrd-old/lib/aarch64-linux-gnu/libc.so.6 differ
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libgcc_s.so.1
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libjson-c.so.5
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libjson-c.so.5.2.0
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libpopt.so.0
Only in /tmp/initrd-old/lib/aarch64-linux-gnu: libpopt.so.0.0.2
Binary files /tmp/initrd-new/lib/aarch64-linux-gnu/libresolv.so.2 and /tmp/initrd-old/lib/aarch64-linux-gnu/libresolv.so.2 differ
Binary files /tmp/initrd-new/lib/aarch64-linux-gnu/libudev.so.1 and /tmp/initrd-old/lib/aarch64-linux-gnu/libudev.so.1 differ
Binary files /tmp/initrd-new/lib/aarch64-linux-gnu/libudev.so.1.7.5 and /tmp/initrd-old/lib/aarch64-linux-gnu/libudev.so.1.7.5 differ
Only in /tmp/initrd-old/lib: cryptsetup
Binary files /tmp/initrd-new/lib/ld-linux-aarch64.so.1 and /tmp/initrd-old/lib/ld-linux-aarch64.so.1 differ
Only in /tmp/initrd-old/lib/modules: 6.10.11+bpo-arm64-16k
Only in /tmp/initrd-new/lib/modules: 6.6.45-current-bcm2712
Binary files /tmp/initrd-new/lib/systemd/systemd-udevd and /tmp/initrd-old/lib/systemd/systemd-udevd differ
Binary files /tmp/initrd-new/lib/udev/ata_id and /tmp/initrd-old/lib/udev/ata_id differ
Binary files /tmp/initrd-new/lib/udev/scsi_id and /tmp/initrd-old/lib/udev/scsi_id differ
Only in /tmp/initrd-old/sbin: cryptsetup
Only in /tmp/initrd-old/scripts: local-block
Only in /tmp/initrd-old/scripts: local-bottom
Only in /tmp/initrd-old/scripts: local-top
Only in /tmp/initrd-old/usr/bin: cryptroot-unlock
Only in /tmp/initrd-old/usr/bin: kbd_mode
Only in /tmp/initrd-old/usr/bin: loadkeys
Only in /tmp/initrd-old/usr/bin: setupcon
Binary files /tmp/initrd-new/usr/bin/udevadm and /tmp/initrd-old/usr/bin/udevadm differ
Binary files /tmp/initrd-new/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 and /tmp/initrd-old/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 differ
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libargon2.so.1
Binary files /tmp/initrd-new/usr/lib/aarch64-linux-gnu/libcrypto.so.3 and /tmp/initrd-old/usr/lib/aarch64-linux-gnu/libcrypto.so.3 differ
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libcryptsetup.so.12
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libcryptsetup.so.12.9.0
Binary files /tmp/initrd-new/usr/lib/aarch64-linux-gnu/libc.so.6 and /tmp/initrd-old/usr/lib/aarch64-linux-gnu/libc.so.6 differ
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libgcc_s.so.1
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libjson-c.so.5
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libjson-c.so.5.2.0
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libpopt.so.0
Only in /tmp/initrd-old/usr/lib/aarch64-linux-gnu: libpopt.so.0.0.2
Binary files /tmp/initrd-new/usr/lib/aarch64-linux-gnu/libresolv.so.2 and /tmp/initrd-old/usr/lib/aarch64-linux-gnu/libresolv.so.2 differ
Binary files /tmp/initrd-new/usr/lib/aarch64-linux-gnu/libudev.so.1 and /tmp/initrd-old/usr/lib/aarch64-linux-gnu/libudev.so.1 differ
Binary files /tmp/initrd-new/usr/lib/aarch64-linux-gnu/libudev.so.1.7.5 and /tmp/initrd-old/usr/lib/aarch64-linux-gnu/libudev.so.1.7.5 differ
Only in /tmp/initrd-old/usr/lib: cryptsetup
Binary files /tmp/initrd-new/usr/lib/ld-linux-aarch64.so.1 and /tmp/initrd-old/usr/lib/ld-linux-aarch64.so.1 differ
Only in /tmp/initrd-old/usr/lib/modules: 6.10.11+bpo-arm64-16k
Only in /tmp/initrd-new/usr/lib/modules: 6.6.45-current-bcm2712
Binary files /tmp/initrd-new/usr/lib/systemd/systemd-udevd and /tmp/initrd-old/usr/lib/systemd/systemd-udevd differ
Binary files /tmp/initrd-new/usr/lib/udev/ata_id and /tmp/initrd-old/usr/lib/udev/ata_id differ
Binary files /tmp/initrd-new/usr/lib/udev/scsi_id and /tmp/initrd-old/usr/lib/udev/scsi_id differ
Only in /tmp/initrd-old/usr/sbin: cryptsetup

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with apt update && apt upgrade, then compare the broken and fresh initrd.img contents and the kernel directories under /lib/modules. Done means identifying why the updated system cannot boot and documenting or correcting the mismatch between the kernel, initrd, and installed modules.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, shell
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.