Packages that are (currently) not in Trixie
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)
Thanks, that's helpful. Can I ask what version of Debian you used on the build system? Did the resulting ISO boot properly?
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
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...
Steps to reproduce:
-
remove
SpiralLinux-Gnome/config/includes.chroot/etc/apt/preferences.d/99backports -
remove unsupported packages, virtualbox and broadcom drivers.
-
comment all sources in
SpiralLinux-Gnome/config/archives/spirallinux.list.binaryandSpiralLinux-Gnome/config/archives/spirallinux.list.chroot, except:-
deb https://deb.debian.org/debian/ testing main contrib non-free non-free-firmware
-
-
change the lines from 'bookworm' to 'trixie' in
SpiralLinux-Gnome/auto/hdd and SpiralLinux-Gnome/auto/iso
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 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.
@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.
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"
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…"
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.
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.
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.
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