SpiralLinux-project icon indicating copy to clipboard operation
SpiralLinux-project copied to clipboard

Packages that are (currently) not in Trixie

Open marwenius opened this issue 8 months ago • 12 comments

Out of interest I tried to build a Trixie variant.

Previously I had removed Fasttrack / Virtualbox and the backport stuff in the configuration, changed the values from bookworm to trixie via recursive grep/sed and so on.

Result: Some of the packages could not be found. Some of them are in bookworm/stable and sid/unstable, but not in trixie/testing.

So here is the information on which packages caused an error:

E: Package 'alsa-oss' has no installation candidate
E: Package 'cpufrequtils' has no installation candidate
E: Package 'deborphan' has no installation candidate
E: Unable to locate package libblockdev-crypto2
E: Package 'libimobiledevice6' has no installation candidate
E: Package 'policykit-1-gnome' has no installation candidate
E: Unable to locate package qt5-gtk2-platformtheme
E: Unable to locate package xserver-xorg-input-aiptek
E: Unable to locate package xserver-xorg-input-mutouch
E: Unable to locate package libcanberra-gtk-module
E: Package 'software-properties-gtk' has no installation candidate

Haven't looked at every package now, but some seem to have been permanently removed, e.g.: https://tracker.debian.org/pkg/cpufrequtils

Perhaps most of these packages will return once Trixie has replaced Bookworm as the stable release. At least I wanted to draw attention to this.

Edit:

The grep/sed command for me as a reminder:

egrep -lRZ "bookworm" . | xargs -0 -l sed -i -e 's/bookworm/trixie/g'

(Source)

marwenius avatar May 12 '25 16:05 marwenius

Thanks, that's helpful. Can I ask what version of Debian you used on the build system? Did the resulting ISO boot properly?

geckolinux avatar May 12 '25 17:05 geckolinux

I did the build on a standard Debian 12 installation in a VM.

I tried to build the Builder version of SpiralLinux. The iso was not created as there was an abort due to the missing packages I mentioned in the first post.

A regular Bookworm build instead of Trixie went through without problems and the iso also booted. Only the two Broadcom packages had to be excluded, as described there:

https://github.com/orgs/SpiralLinux/discussions/543#discussioncomment-13117814

marwenius avatar May 12 '25 17:05 marwenius

These are the unsupported packages for the gnome edition:

alsa-oss cpufrequtils deborphan libblockdev-crypto2 libimobiledevice6 policykit-1-gnome qt5-gtk2-platformtheme xserver-xorg-input-aiptek xserver-xorg-input-mutouch libcanberra-gtk-module gnome-bluetooth gnome-shell-extension-bluetooth-quick-connect gnome-shell-extension-espresso gnome-shell-extension-panel-osd gnome-shell-extension-pixelsaver gnome-shell-extension-top-icons-plus gnome-shell-extension-vertical-overview qt5-style-kvantum software-properties-gtk gedit-plugin-color-schemer gedit-plugin-git gedit-plugin-synctex gedit-plugin-text-size eog-plugin-picasa purple-lurch

After removing these packages, the build on Debian 13 went through. build.log I chose Debian 13 because of this recommendation from the live-build docs: build-using-the-default-configuration

Unfortunately the boot process stops, when testing the iso... Image

Steps to reproduce:

  1. remove SpiralLinux-Gnome/config/includes.chroot/etc/apt/preferences.d/99backports

  2. remove unsupported packages, virtualbox and broadcom drivers.

  3. comment all sources in SpiralLinux-Gnome/config/archives/spirallinux.list.binary and SpiralLinux-Gnome/config/archives/spirallinux.list.chroot, except:

    • deb https://deb.debian.org/debian/ testing main contrib non-free non-free-firmware
  4. change the lines from 'bookworm' to 'trixie' in SpiralLinux-Gnome/auto/hdd and SpiralLinux-Gnome/auto/iso

ccmdr avatar May 12 '25 22:05 ccmdr

I applied the instructions above to the Cinnamon build instructions. Although the ISO is built without errors, the installation via Calamares fails.

The bootloader could not be installed. The installation commandgrub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --force returned error code 1.

actionschnitzel avatar Jun 08 '25 11:06 actionschnitzel

@actionschnitzel Hmm, I haven't looked into it yet, but you could try using different filesystems for the installation, and also launch Calamares from a terminal in debug mode (sudo calamares -d) to possibly get a more detailed error about what is failing.

geckolinux avatar Jun 08 '25 13:06 geckolinux

@actionschnitzel and I are working on the same issue. I've tried it with btrfs and ext4, both of which resulted in the same error message during grub installation. Next, I'll try the Calamares tip. I'll report back.

ktt1973 avatar Jun 08 '25 14:06 ktt1973

If you search for the error message (here supplemented by the term solved) you will find problem descriptions and suggested solutions across many different linux distributions. Seems to me to be a general problem that is independent of SpiralLinux.

Perhaps one of the search results will be helpful for you: https://www.google.com/search?q="command+grub-install"+"target%3Dx86_64-efi"+"solved"

marwenius avatar Jun 08 '25 14:06 marwenius

OK, here's the output from calamares. It looks like the /boot/efi (/dev/vda1) partition isn't found. It should be there, though.

16:20:41 [6]: virtual void Calamares::JobThread::run() Starting job "grubcfg" ( 32 / 37 ) [PYTHON JOB]: Found gettext "de_DE" in "/usr/share/locale/de_DE" .. Running QList("sh", "-c", "which dracut") .. Target cmd: QList("sh", "-c", "which dracut") Exit code: 1 (no output) .. Running QList("sh", "-c", "which plymouth") .. Finished. Exit code: 0 output: /usr/bin/plymouth .. Running QList("sh", "-c", "grep -q \"^HOOKS.*systemd\" /etc/mkinitcpio.conf") .. Target cmd: QList("sh", "-c", "grep -q \"^HOOKS.*systemd\" /etc/mkinitcpio.conf") Exit code: 2 output: grep: /etc/mkinitcpio.conf: No such file or directory 16:20:41 [6]: virtual void Calamares::JobThread::run() Starting job "bootloader" ( 33 / 37 ) /usr/lib/x86_64-linux-gnu/calamares/modules/bootloader/main.py:392: SyntaxWarning: invalid escape sequence '\$' prefix, generator_name = re.match("(.*)\${([^}]*)}$", name).groups() [PYTHON JOB]: Found gettext "de_DE" in "/usr/share/locale/de_DE" [PYTHON JOB]: "Bootloader: grub (efi)" .. Running QList("grub-install", "--target=x86_64-efi", "--efi-directory=/boot/efi", "--bootloader-id=debian", "--force") .. Target cmd: QList("grub-install", "--target=x86_64-efi", "--efi-directory=/boot/efi", "--bootloader-id=debian", "--force") Exit code: 1 output: Installing for x86_64-efi platform. grub-install: error: failed to get canonical path of /dev/vda1'. WARNING: [PYTHON JOB]: "Command 'grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --force' returned non-zero exit status 1." [PYTHON JOB]: "stdout:Installing for x86_64-efi platform.\ngrub-install: error: failed to get canonical path of /dev/vda1'." [PYTHON JOB]: "stderr:None" 16:20:42 [6]: virtual void Calamares::JobThread::run() Skipping non-emergency job "Live-Benutzer aus dem Zielsystem entfernen..." .. Skipping non-emergency job "packages" .. Skipping non-emergency job "Shell-Prozesse ausführen…" .. Skipping non-emergency job "Dateisysteme werden ausgehängt…"

ktt1973 avatar Jun 08 '25 14:06 ktt1973

If I chroot into the system after the failed installation, I can install Grub without errors. The only difference is that I without the --force option at the end of the command line.

sudo mount /dev/vda2 /mnt sudo mount /dev/vda1 /mnt/boot/efi sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo mount --bind /run /mnt/run sudo mount --bind /sys/firmware/efi /mnt/sys/firmware/efi sudo chroot /mnt grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian update-grub

It seems to me that something is missing during ISO build.

ktt1973 avatar Jun 08 '25 14:06 ktt1973

The only big difference seems to me to be the kernel version. It still worked with 6.12.27, but no longer with 6.12.30.

Or it is due to one of the many other still open bugs in trixie, who knows: https://udd.debian.org/dev/cgi-bin/rcblog.cgi

For example: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945001

Would just try it again in a few days or rather weeks and see if it works then.

marwenius avatar Jun 10 '25 11:06 marwenius

I did a test a view days ago and started from scratch and built a debian 13 trixie iso via debian-live-config and left all config files in default. Then iI added the calamares installer and some other packages to the package-list until the installation worked without errors. Here is the complete list config/package-list/installer.list.chroot:

calamares
calamares-settings-debian
rsync

grub-common
grub2-common
grub-pc-bin
grub-efi-amd64
grub-efi-amd64-bin
grub-efi-amd64-signed
grub-efi-amd64-signed-template

grub-efi-ia32-bin
grub-efi-ia32-signed:i386
grub-efi-ia32-signed-template:i386

cryptsetup
cryptsetup-initramfs

apt-transport-https

so for me it doesn't look like it's due to the trixie bugs that haven't been fixed yet, as i've actually left all configs in default as far as i can remember.

ccmdr avatar Jun 10 '25 13:06 ccmdr

I took a closer look at the Calamares configuration from Debian 13 and adjusted the mount.conf of Spiral. Now the installation works.

# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Mount filesystems in the target (generally, before treating the
# target as a usable chroot / "live" system). Filesystems are
# automatically mounted from the partitioning module. Filesystems
# listed here are **extra**. The filesystems listed in *extraMounts*
# are mounted in all target systems.
---
# Extra filesystems to mount. The key's value is a list of entries; each
# entry has five keys:
#   - device    The device node to mount
#   - fs (optional) The filesystem type to use
#   - mountPoint Where to mount the filesystem
#   - options (optional) An array of options to pass to mount
#   - efi (optional) A boolean that when true is only mounted for UEFI installs
#
# The device is not mounted if the mountPoint is unset or if the fs is
# set to unformatted.
#
extraMounts:
    - device: proc
      fs: proc
      mountPoint: /proc
    - device: sys
      fs: sysfs
      mountPoint: /sys
    - device: /dev
      mountPoint: /dev
      options: [ bind ]
    - device: tmpfs
      fs: tmpfs
      mountPoint: /run
    - device: /run/udev
      mountPoint: /run/udev
      options: [ bind ]
    - device: efivarfs
      fs: efivarfs
      mountPoint: /sys/firmware/efi/efivars
      efi: true
    - device: /dev/pts
      mountPoint: /dev/pts
      options: [ bind ]
      # /dev/pts is required by apt for storing the logs
btrfsSubvolumes:
    - mountPoint: /
      subvolume: /@
    - mountPoint: /.snapshots
      subvolume: /@snapshots
    - mountPoint: /home
      subvolume: /@home
    - mountPoint: /root
      subvolume: /@root
    - mountPoint: /var/log
      subvolume: /@var@log
    - mountPoint: /var/lib/AccountsService
      subvolume: /@var@lib@AccountsService
    - mountPoint: /var/lib/blueman
      subvolume: /@var@lib@blueman
    - mountPoint: /tmp
      subvolume: /@tmp

actionschnitzel avatar Jul 07 '25 23:07 actionschnitzel