[TRACKING] Debian testing on the Framework Laptop

Perhaps this may help :slight_smile:

1 Like

Hello, thank you for this guide.
Could you just update the power management and precise it’s Intel only ? It seems AMD only has s2idle and not deep S3. I was lost for a moment… !
Thank you very much.

1 Like

Everything on my framework laptop is working with Debian 12 testing. Just one complain, debian updates even in testing version are woefully slower compared to on my archlinux, fedora install on this same laptop 13 AMD. Snapshots.


Another datapoint:

I installed 12.5 Bookworm ZFS Root following Debian Bookworm Root on ZFS — OpenZFS documentation

I waited to do tasksel until after following DebianTesting - Debian Wiki to upgrade to testing. Did a full upgrade, then tasksel --new-install to install KDE.

After that had to install firmware-amd-graphics to get sddm to startup with KDE, and then firmware-misc-nonfree to get the WiFi card to detect. Fortunately I had gotten the ethernet card, so that’s what I used while in CLI mode and before I figured out the WiFi firmware.

Further, I realize that Step 4 -> 2., configuring the network, I shouldn’t have done that for wired or wifi interfaces, since KDE/NetworkManager, once I installed the firmware, detects and setups/uses those just fine.

I’ve done the ZFS Root before on my desktop and old laptop, but now I have it on my Framework 16 with encrypted root!

What tool did you use to create that cool graphical text summary - is it packaged for debian?

I think neofetch is what you’re looking for. It’s in Debian.

thanks -

just run neofetch. i just have a line in $ZDOTDIR/.zshrc file. like below

## Run neofetch
/usr/bin/neofetch | /usr/bin/lolcat

I recently jumped from fedora 40 to debian testing and so far I really like it.

I used this thread and some other stuff to set it all up and I documented it sort of for myself here:

https://gitlab.com/quiteBold/snippets/-/blob/main/Debian%20Testing%20Install/debian-snippets.md

You may also find my Update script useful which I invoke via a GNOME app link (the 2 Up2Date files):

Hope this is somehow useful. I’m hoping for critic (pos and neg) :slight_smile:

2 Likes

This is my setup for Testing-Unstable Mix (TUM) mostly based on Debian Wiki.

SOURCES:

Debian Testing Repos

## FILE [deb822]: /etc/apt/sources.list.d/00-debian-testing.sources
## Modernized from /etc/apt/sources.list

## TESTING (BASE+UPDATES) REPO
Enabled: no
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: testing testing-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

## TESTING BASE REPO
Enabled: yes
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: testing
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

## TESTING UPDATES REPO
Enabled: yes
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: testing-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

## TESTING SECURITY REPO
Enabled: yes
Types: deb deb-src
URIs: https://security.debian.org/debian-security/
Suites: testing-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

Debian Sid/Unstable Repos

## FILE [deb822]: /etc/apt/sources.list.d/01-debian-unstable.sources
##
## URL: https://wiki.debian.org/DebianUnstable
# 
# While other release code names progress in time from being "testing" to being "stable",
# Sid is forever doomed to being unstable. Sid will always be the unstable branch.
# When the current "testing" repository becomes mature and is released,
# "testing" becomes the latest "stable" release. From there, a new "testing" repository
# will be created with the next planned code name, and packages will
# continue to trickle down from Sid into "testing" just as before. 
#
# ONLY enable BASE REPO for Testing-Unstable-Mix (TUM) setup. DO NOT enable sid-security and sid-updates.
# ENSURE and SETUP pin priority in /etc/apt/prefrences.d/"file" for Sid/Unstable in the lower range 100 < P <=500

## UNSTABLE BASE REPO :: ENABLED
Enabled: yes
X-Repolib-Name: Sid/Unstable
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: sid unstable
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

# UNSTABLE UPDATES REPO :: DISABLED
Enabled: no
X-Repolib-Name: Sid/Unstable-updates
Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: sid-updates unstable-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

# UNSTABLE SECURITY REPO :: DISABLED
Enabled: no
X-Repolib-Name: Sid/Unstable-security
Types: deb deb-src
URIs: https://security.debian.org/debian-security/
Suites: sid-security unstable-security
#Components: main contrib non-free non-free-firmware
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

Debian Stable Repos

## FILE [deb822]: /etc/apt/sources.list.d/01-debian-stable.sources
## enable ONLY BASE REPO for Testing-Stable-Unstable-Mix setup

## STABLE BASE REPO :: ENABLED
Enabled: yes
X-Repolib-Name: Stable
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: stable
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: no
#PDiffs: yes

## STABLE UPDATES REPO :: DISABLED
Enabled: no
X-Repolib-Name: Stable-updates
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: stable-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

## STABLE SECURITY REPO :: DISABLED
Enabled: no
X-Repolib-Name: Stable-security
Types: deb deb-src
URIs: https://security.debian.org/debian-security/
Suites: stable-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
PDiffs: yes

Xanmod Signed Kernels Repo

## Xanmod DEB Repo
Enabled: yes
X-Repolib-Name: xanmod deb
Types: deb
Architectures: amd64
URIs: https://deb.xanmod.org
Suites: releases
Components: main
Signed-By: /usr/share/keyrings/xanmod-archive-keyring.gpg
PDiffs: yes

## Xanmod DEB-SRC Repo
Enabled: no
X-Repolib-Name: xanmod deb-src
Types: deb-src
Architectures: amd64
URIs: https://deb.xanmod.org
Suites: releases
Components: main
Signed-By: /usr/share/keyrings/xanmod-archive-keyring.gpg
PDiffs: yes

APT PREFERENCES:
(APT Pinning for TUM)

## FILE: /etc/apt/preferences.d/debian-default-release.pref
#
## URL: https://web.archive.org/web/20021010033255/http://jaqque.sbih.org/kplug/apt-pinning.html
## URL: https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_tracking_literal_testing_literal_with_some_packages_from_literal_unstable_literal
#
## Testing Unstable Mix Setup, unstable packages set to low priority
## Adapted to suit pin priority for DefaultRelease::testing favored with high priority
#
## NOTES FOR APT PINNING:
##
# HOW APT INTERPRETS PRIORITIES
#
# Priorities (P) assigned in the APT preferences file must be positive or negative integers.
# They are interpreted as follows (roughly speaking):
#
# P > 1000       : causes a version to be installed even if this constitutes a downgrade of the package
# 990 < P <=1000 : causes a version to be installed even if it does not come from the target release,
#                  unless the installed version is more recent
# 500 < P <=990  : causes a version to be installed unless there is a version available belonging to
#                  the target release or the installed version is more recent
# 100 < P <=500  : causes a version to be installed unless there is a version available belonging to
#                  some other distribution or the installed version is more recent
# 0   < P <=100  : causes a version to be installed only if there is no installed version of the package
# P   < 0        : prevents the version from being installed
##

## STABLE ##
##
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 450

Package: *
Pin: release o=Debian,a=stable-security
Pin-Priority: 450

Package: *
Pin: release o=Debian,a=stable-updates
Pin-Priority: 450
##

## TESTING / NEXT-STABLE ##
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 950

Package: *
Pin: release o=Debian,a=testing-security
Pin-Priority: 950

Package: *
Pin: release o=Debian,a=testing-updates
Pin-Priority: 950
##

## UNSTABLE/SID ##
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=sid
Pin-Priority: 900

Package: *
Pin: release o=Debian,a=unstable-security
Pin-Priority: 450
Package: *
Pin: release o=Debian,a=sid-security
Pin-Priority: 450

Package: *
Pin: release o=Debian,a=unstable-updates
Pin-Priority: 450
Package: *
Pin: release o=Debian,a=sid-updates
Pin-Priority: 450
##

APT CONF:
Setup Default-Release

## FILE: /etc/apt/apt.conf.d/20-tum.conf
##  URL: https://wiki.debian.org/DebianUnstable
APT::Default-Release "/^testing(|-security|-updates)$/";

FSTAB:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
## DEBIAN ROOT ##
# / was on /dev/nvme0n1p7 during installation
UUID=bf5d09c3-1c62-469e-b1ea-5cf6c1c3f976 /               ext4    defaults,relatime,errors=remount-ro 0       1
#
## DEBIAN BOOT ##
# /boot was on /dev/nvme0n1p4 during installation
UUID=66667054-99fa-4efb-afe2-b3bd2478255a /boot           ext4    defaults,nosuid,nodev,relatime 0       2
#
## DEBIAN EFI ##
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=18C4-5D0A  /boot/efi       vfat    rw,nosuid,nodev,relatime,umask=0077,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0       2
#
## DEBIAN SWAP ##
# swap was on /dev/nvme0n1p15 during installation
UUID=fdc66a4b-49d6-4d4c-b2e0-c97db0f8ba73 none                  swap    defaults,sw,noexec,nosuid,nodev,relatime 0       2
#
## TempFS ##
tmpfs                                     /tmp                  tmpfs   defaults,rw,noexec,nosuid,nodev,size=15%,nr_inodes=10k,relatime,mode=1777  0 0
tmpfs                                     /dev/shm              tmpfs   defaults,rw,noexec,nosuid,nodev,relatime,size=40% 0 0
## Bind /var/tmp to /tmp
/tmp                                      /var/tmp              none    bind,defaults,rw,noexec,nosuid,nodev,relatime  0 0
#
## DATA ##
# /mnt/data was on /dev/nvme0n1p12 during installation
UUID=44e835d7-9b7d-439b-bb3f-dfa9eecf429f /mnt/data             ext4    defaults,rw,nosuid,nodev,relatime,nofail,x-systemd.device-timeout=5s 0       2
#
## LINUX PARTITIONS ##
#
## ARCH ROOT ##
# /mnt/arch was on /dev/nvme0n1p5 during installation
UUID=93c86984-fc4f-454a-8e3b-7973c50aaec6 /mnt/arch             ext4    defaults,ro,noexec,nosuid,nodev,relatime,nofail,x-systemd.device-timeout=5s 0       2
#
## ARCH BOOT ##
# /mnt/arch/boot was on /dev/nvme0n1p2 during installation
UUID=c41be70e-0c04-4703-a423-9e436dcb5583 /mnt/arch/boot        ext4    defaults,ro,noexec,nosuid,nodev,relatime,nofail,x-systemd.device-timeout=5s 0       2
#
## TUMBLEWEED ROOT ##
# /mnt/suse was on /dev/nvme0n1p6 during installation
UUID=e92d30d1-01ba-4e91-9309-692d5e78981f /mnt/tumbleweed       ext4    defaults,ro,noexec,nosuid,nodev,relatime,nofail,x-systemd.device-timeout=5s 0       2
#
## TUMBLEWEED BOOT ##
# /mnt/suse/boot was on /dev/nvme0n1p3 during installation
UUID=cb61d749-ee2e-41e2-aee2-587f7660e3ca /mnt/tumbleweed/boot  ext4    defaults,ro,noexec,nosuid,nodev,relatime,nofail,x-systemd.device-timeout=5s 0       2
#
## WINDOWS11 PARTITIONS ##
## WIN_C ##
UUID=1092CE8792CE70B0   /mnt/win_c   ntfs-3g   defaults,ro,noexec,nosuid,nodev,relatime,nls=utf8,nofail,uid=1000,gid=1000,umask=0022,x-systemd.device-timeout=5s  0 0
#
## WIN_D ##
UUID=6C38D6DA38D6A27E   /mnt/win_d   ntfs-3g   defaults,ro,noexec,nosuid,nodev,relatime,nls=utf8,nofail,uid=1000,gid=1000,umask=0022,x-systemd.device-timeout=5s  0 0
#
## BIND mounts
## Bind mount /mnt/data/$USER folders to respective folders in /home/$USER (for snapd to work properly)
## NOTE: "x-systemd.device-timeout=5s" not applicable for bind mounts
/mnt/data/$USER/Documents      /home/$USER/Documents          none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Downloads      /home/$USER/Downloads          none    defaults,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Music          /home/$USER/Music              none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Pictures       /home/$USER/Pictures           none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Videos         /home/$USER/Videos             none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Public         /home/$USER/Public             none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Themes         /home/$USER/Themes             none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Fonts          /home/$USER/Fonts              none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/Templates      /home/$USER/Templates          none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
/mnt/data/$USER/VirtualBoxVMs  /home/$USER/VirtualBox\040VMs  none    defaults,noexec,nosuid,nodev,relatime,bind,nofail,x-gvfs-hide     0 0
#

HDD PARTITION LAYOUT:
(output of lsblk)

/dev/nvme0n1                         3.6T        
/dev/nvme0n1p1  ESP       vfat       996M    16% 18C4-5D0A
/dev/nvme0n1p2  ARCH_BOOT ext4         2G    27% c41be70e-0c04-4703-a423-9e436dcb5583
/dev/nvme0n1p3  TW_BOOT   ext4         2G    17% cb61d749-ee2e-41e2-aee2-587f7660e3ca
/dev/nvme0n1p4  DEB_BOOT  ext4         2G    25% 66667054-99fa-4efb-afe2-b3bd2478255a
/dev/nvme0n1p5  ARCH_ROOT ext4       180G    34% 93c86984-fc4f-454a-8e3b-7973c50aaec6
/dev/nvme0n1p6  TW_ROOT   ext4       180G    31% e92d30d1-01ba-4e91-9309-692d5e78981f
/dev/nvme0n1p7  DEB_ROOT  ext4       180G    36% bf5d09c3-1c62-469e-b1ea-5cf6c1c3f976
/dev/nvme0n1p8                        16M        
/dev/nvme0n1p9  WIN_C     ntfs     179.2G    59% 1092CE8792CE70B0
/dev/nvme0n1p10           ntfs       850M        42D6DA54D6DA4835
/dev/nvme0n1p11 WIN_D     ntfs       400G     4% 6C38D6DA38D6A27E
/dev/nvme0n1p12 DATA      ext4       2.4T    24% 44e835d7-9b7d-439b-bb3f-dfa9eecf429f
/dev/nvme0n1p13 arch_swap swap        64G        ec8d38c8-0686-4685-81c5-725762d6a0da
/dev/nvme0n1p14 tw_swap   swap        64G        11a04322-f564-4ddb-8793-f430b5a0fa3c
/dev/nvme0n1p15 deb_swap  swap        64G        fdc66a4b-49d6-4d4c-b2e0-c97db0f8ba73

UPDATE/UPGRADE SCRIPT:

#!/bin/bash
## FILE: /usr/local/sbin/system-upgrader-script-debian.sh
#
/usr/bin/echo ""
/usr/bin/echo "Starting System Upgrader Script" | /usr/bin/lolcat
/usr/bin/echo ""
#/usr/bin/sleep 1
/usr/bin/echo "Provide admin password when prompted" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Update package database" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo apt-get update" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /bin/apt-get update | /usr/bin/lolcat
#/usr/bin/echo ""
/bin/sudo /usr/bin/apt list --upgradable | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Pull all upgrade packages" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo apt-get --download-only upgrade" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /bin/apt-get -d -y --show-progress upgrade | /usr/bin/lolcat
#/bin/sudo /bin/apt -d -y --show-progress upgrade | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Pull all dist-upgrade packages" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo apt-get --download-only dist-upgrade" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /bin/apt-get -d -y --show-progress dist-upgrade | /usr/bin/lolcat
#/bin/sudo /bin/apt -d -y --show-progress dist-upgrade | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Perform upgrade & dist-upgrade" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo apt-get upgrade" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
#/bin/sudo /bin/apt upgrade --show-progress
/bin/sudo /bin/apt-get upgrade --show-progress
/usr/bin/echo ""
/usr/bin/sleep 1
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo apt-get dist-upgrade" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /bin/apt-get dist-upgrade --show-progress
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Perform Cleaning" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /bin/apt-get autoremove --purge --show-progress
/usr/bin/echo ""
/bin/sudo /bin/apt-get autoremove -y --show-progress
/usr/bin/echo ""
/bin/sudo /bin/apt-get clean -y
/bin/sudo /bin/apt-get autoclean -y
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Updating Snaps" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo snap refresh" | /usr/bin/lolcat
/bin/sudo /usr/bin/snap refresh | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Updating FlatPaks" | /usr/bin/lolcat
/usr/bin/echo "Command:: sudo flatpak update" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /usr/bin/flatpak update -y | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/flatpak update -y | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "Update plocate database and" | /usr/bin/lolcat
/usr/bin/echo "synch filesystems /, /boot, /mnt/data" | /usr/bin/lolcat
#/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/bin/sudo /usr/bin/updatedb
/bin/sudo /usr/bin/sync -f /
/bin/sudo /usr/bin/sync -f /boot
/bin/sudo /usr/bin/sync -f /mnt/data
/bin/sudo /bin/update-desktop-database
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo "List all installed kernels" | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/dpkg --list | /usr/bin/awk '{ print $2 }' | /usr/bin/grep 'linux-image-[0-9]' | /usr/bin/lolcat
/usr/bin/echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

/usr/bin/echo "DONE!" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/echo "SYSTEM UPGRADER SCRIPT RUN COMPLETED ON: $(date +%T,' '%A,' '%Y-%b-%d.)" | /usr/bin/lolcat
#/usr/bin/sleep 1
/usr/bin/echo ""
/usr/bin/echo "Now Exiting Script!!" | /usr/bin/lolcat
/usr/bin/echo ""
/usr/bin/sleep 1

##ENDOFSCRIPT

exit 0

SNAPSHOTS:
Gnome DE:

Running WINE/foobar2000.exe:

Neofetch:

Appreciate any critiques?!

Framework Laptop 13 AMD Ryzen 7040

I’m using Debian testing (nearly Debian 13) on the Framework Laptop 13 with AMD Ryzen AI.
Fresh installation with the Debian 12 installer required an external keyboard because neither keyboard nor touchpad were detected, but the Debian testing installer works.

Fingerprint and wifi work.
For suspend I have to remove the wifi kernel driver, as shown in Framework 13 Ryzen AI 350 won't suspend in Linux due to mt7925e - #4 by blum8

The latest problem I have is that Firefox freezes randomly every ~30 minutes and I have to kill it. I suspect a graphics driver problem (but disabling hardware acceleration did not help).
Kernel is 6.12.35+deb13-amd64, and it will probably get better once 6.15 lands in Debian 13.

1 Like

It did help after restarting Firefox. No more freezes!

The Dino XMPP messenger has a similar problem; the window is not visible after some time. When disabling software composition, the window appears as black and is unresponsive. I can only kill it.
Edit: It’s possible to get Dino back working by switching to one of the 6 linux terminals, then back to the X server screen.

Playing a 2 hour session of 0ad did not exhibit any problems, so the graphics driver seems mostly to work.

Yesterday I put it to sleep by closing the lid and took it out of the bag 2 hours later - it was burning hot. It did not wake up normally, but I had to hold the power button 2 or 3 times for 10 seconds until it started normally.
The journal has no entries about that time, only for the time when it went to sleep and then when it booted up normally.

This is still on Debian 13 with kernel 6.12.35+deb13-amd64. I really hope that kernel 6.15 appears for Debian 13 soon.

For application freezes: Qt-based “Zeal” documentation browser freezes now and then.

I manually installed kernel 6.16.0 with the help of the Debian kernel handbook and had to disable secure boot verification in the BIOS for it to boot.

The problem that Dino and Zeal windows are invisible after some time remains :frowning:

This problem vanishes when I disable software compositing in the Mate Marco window manager settings (but causes other problems like that the terminal only updates when I move the mouse after switching to another workspace. This resolves itself when switching windows on the same workspace). Reason might be that Debian 13 only ships mate 1.26, while 1.28 is out since years.


Update 2025-08-04:

Switching to Gnome Shell with Xorg did not help. Firefox with hardware acceleration froze the whole desktop. Since I have a current linux kernel, it more and more looks like a mesa driver problem.


Update 2025-08-10:

Gnome Shell with Wayland works mostly ok. Firefox with hardware acceleration does not hang anymore, Zeal and Dino also work fine.

When selecting much text in Firefox, the whole screen often flickers.

Heya.

I’m new to framework (13 amd 300ai), and quite new to the Testing Unstable Mix. So I’d like to suggest a few additions to the top post for debian testing users:

I had initial issues with the laptop:

  • not waking up on opening the lid.
  • battery draining when the lid was closed

I don’t think it was sleeping at all. Since the new kernel (6.16), both issues are gone.

So, please add a line saying to make sure one runs a recent kernel. Stock kernel from the trixie installer (6.12) is not going to work nicely.

How my debian did not get to 6.16 from debian/testing after I changed the lines in sources.list: I don’t know. If someone knows, I’m curious :slight_smile:

(The trixie installer doesn’t recognize the ath12k driver automatically, but searching for which driver to choose lets it find it quite fine.)

Kai

Hej Kai,

Am confused as Trixie is now stable and Forky is already on 6.16.

Has your /etc/apt/sources.list.d/debian.sources testing or Trixie in it?

Si

Heya. I only did a minimal install using the trixie installer. I immediately updated the sources to testing and added unstable to the mix after.

As per the instructions found on the wiki. How I did not get the immediate updated kernel: I don’t know, and I didn’t look close enough. It might’ve been a corrupted apt cache. Changing to deb.debian.org then back to my local mirror in NL fixed it somehow, so I suppose it was a caching thing (and thats one of the hardest things in computing …).

My points should be of interest to someone wanting to run Testing/Unstable mix or Testing; you’d typically use the latest release installer. The development installer is not intended for installing testing iiuc.

Btw: The battery is still draining quickly compared to what I’m used to in a dell XPS13 from 2019. It empties a lot quicker. I’m currently shutting it down every evening because of it.

I’m no Debian expert but I would stick to strictly testing or unstable rather than mixing testing and unstable. I’m using unstable now. Here is my debian.sources.

I’m a reasonable expert in Debian, and there are enough people running the testing unstable mix. For example: Firefox from unstable.

The reference for this comes from the wiki: It just needs a few configuration options, and you have to be a little more careful. If the whole world is getting pulled into unstable you should answer ‘n’ to the upgrade suggestion :slight_smile: .

This is the link to the Debian wiki.

1 Like