- Package:
- installation-reports
- Source:
- installation-reports
- Submitter:
- James Abernathy
- Date:
- 2023-04-13 22:09:06 UTC
- Severity:
- normal
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.
I forgot to mention that the same problem exist when installing on libvirt/qemu KVM. VM.
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,
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.
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.
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