#1034095 Bookworm-rc1 bug report against the installation-reports

#1034095#5
Date:
2023-04-08 18:19:10 UTC
From:
To:
Boot method: <USB install with netinst iso of RC1>
Image version: <debian-bookworm-DI-rc1-amd64-netinst.iso>
Date: <4/8/2023>

Machine: <ASRock 1165G7 NUC>
Processor:Intel 1165G7
Memory: 16GB
Partitions: <2 partitions /dev/nvme0n1p1 500MB EFI System Partition,
/dev/nvme0n1p2 ~900GB btrfs
Note, I use expert install so I could switch to shell after partitioning to
create proper @ and @home subvolumes for timeshift usage.
Same method as used on Debian 11 Bullseye >

Output of lspci -knn (or lspci -nn):

Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [O ]
Detect network card:    [ ]O
Configure network:      [ O]
Detect media:           [O ]
Load installer modules: [ O]
Detect hard drives:     [O ]
Partition hard drives:  [O ]
Install base system:    [ O]
Clock/timezone setup:   [ O]
User/password setup:    [ O]
Install tasks:          [O ]
Install boot loader:    [O ]
Overall install:        [O ]

Comments/Problems:

The install went as expected for a BTRFS install as you do on Debian. After
partitioning, CTRL-f2 to get to the console to rename @rootfs to @, and
create @home subvolumes. The install completed, but on first reboot almost
every console log statement about systemd failed.  I tried KDE and
Cinnamon. Same results. If I do the same method on Debian 11, it works
great.

#1034095#10
Date:
2023-04-08 19:24:36 UTC
From:
To:
I forgot to mention that the same problem exist when installing on
libvirt/qemu KVM. VM.

#1034095#15
Date:
2023-04-08 21:25:13 UTC
From:
To:
Hi James,

James Abernathy <jfabernathy@gmail.com> (2023-04-08):
[…]

It would be helpful to know what kind of systemd failure you're getting.
You can start from `systemctl --failed` and gather logs from the failing
unit(s).

Also, not everyone is familiar with btrfs, so if you want people to have
a chance of reproducing your problem and/or working on a solution, it
would make sense to include those commands you run in the console, and
at each exact point they are run.


Cheers,

#1034095#20
Date:
2023-04-09 00:12:58 UTC
From:
To:
These instructions work on Debian 11 with firmware-11.6.0-amd64-netinst.iso.
But they fail to produce a working image
using debian-bookworm-DI-rc1-amd64-netinst.iso

- boot iso and select advanced and then expert install.
- follow the process as normal until Partitioning disk.
- create new gpt partition table
- create 500MB EFI System Partition
- create the rest of the drive as BTRFS mounted as /
- I didn't create a swap since I use zramswap later.
- write to disk all changes.

Before proceeding with the next step of Installing base system do the
following:
- CTRL F2 to bring up console

df -h              to check drive device names and mount points.
umount /target/boot/efi
umount /target
mount /dev/nvme0n1p2 /mnt
mv @rootfs @
btrfs su cr @home
mount -o noatime,compress=zstd,space_cache,ssd,discard=async,subvol=@
/dev/nvme0n1p2 /target
mkdir -p /target/boot/efi
mkdir /target/home
mount -o noatime,compress=zstd,space_cache,ssd,discard=async,subvol=@home
/dev/nvme0n1p2 /target/home
mount /dev/nvme0n1p1 /target/boot/efi


Now edit /target/etc/fstab and line for / to include:
noatime,compress=zstd,space_cache,ssd,discard=async,subvol=@
instead of default and subvol=@rootfs

add similar line with same UUID for /home with options as above except use
@home.

save and exit out of fstab edits.
Crtl-d to exit console and CRTL-F1 to get back to install and proceed with
installing base system.

All of this works correctly from appearance except on Debian 12 the boot
console is full of systemd-timesync type messages that all fail.  In
Cinnamon, it never makes it to a login window but you get a login prompt on
the console but it's slow and not much works.

#1034095#25
Date:
2023-04-13 14:23:56 UTC
From:
To:
I reran an install but this time when I remounted the @ and @home
subvolumes I only used the default, compress=zstd, and subvol= options.

This time it worked. After booting successfully, I edited fstab to add in
noatime and it still worked.  At this point. it still could be the discard
or ssd options.

I'd look at what has changed in this area since Debian 11.

#1034095#30
Date:
2023-04-13 22:07:13 UTC
From:
To:
Hi James,

James Abernathy <jfabernathy@gmail.com> writes:

Thank you.

noatime is safe, and recommended, as noted in our wiki.

compress=zstd is considered to be safe by many people--including Fedora.
They're using "compress=zstd:1", and with different mount option than
you're using.  If "widely-tested" is an objective, then it may be worth
keeping an eye on what config they use, and not introducing additional
options that trigger corner cases.

"ssd" see the Debian btrfs wiki on this topic (tldr: it's not
necessary).

Since Debian 11 (bullseye), space_cache v2 became the new btrfs-progs
default, activated when a device is formatted, so it should be obvious
why attempting to force space_cache v1 is wrong.  At the same time, when
upgrading from bullseye to bookworm, a volume made with space_cache v1
will still work (ie upgrades won't break), even with that mount option,
because conversion to v2 does not yet happen automatically.

discard=async isn't ready to use yet imho.  Here is some upstream
reading material on the topic:

  One year ago: https://www.spinics.net/lists/linux-btrfs/msg126838.html
  Last month: https://www.spinics.net/lists/linux-btrfs/msg133128.html

Maybe it will be ready for linux-6.3?  I don't know if the future fixes
will be backported to 6.1, so I'm inclined to continue to advise against
the use of discard=async for bullseye.

Regards,
Nicholas