Wednesday, April 8, 2026

Simultaneously build several python 3D plots via Multi-threaded Python 3.14t on Arch Linux

 For conversion three different plotting scripts building each one it's own surface into a multi-threaded (multi-process) version, we separate the code logic for each surface into a separate task. This allows CPU to calculate  simultaneously the paraboloid, sine wave, and Möbius strip.

To setup python3.14.3t on Arch Linux/CachyOS  along with aqtinstall via UV
   $ curl -LsSf https://astral.sh/uv/install.sh | sh
   $ uv python install 3.14t
   $ uv python list
   $ mkdir MULTITHREAD
   $ cd MULTITHREAD
   $ python3.14t -m venv .env
   $ source .env/bin/activate
   $ pip install aqtinstall
   $ pip install --upgrade pip
   $ pip install numpy matplotlib cxroots

❯ cat  plotMulti3Dpython12.py
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.tri import Triangulation
from concurrent.futures import ProcessPoolExecutor

# --- Worker Functions for Parallel Execution ---

def calc_paraboloid():
    X = np.linspace(-5, 5, 100)
    Y = np.linspace(-5, 5, 100)
    X_grid, Y_grid = np.meshgrid(X, Y)
    Z = X_grid**2 + Y_grid**2
    return X_grid, Y_grid, Z

def calc_sine_tri():
    x = np.linspace(-5, 5, 50)
    y = np.linspace(-5, 5, 50)
    X, Y = np.meshgrid(x, y)
    Z = np.sin(np.sqrt(X**2 + Y**2))
    triang = Triangulation(X.flatten(), Y.flatten())
    return triang, Z.flatten()

def calc_mobius():
    theta = np.linspace(0, 2*np.pi, 100)
    w = np.linspace(-0.5, 0.5, 10)
    theta_grid, w_grid = np.meshgrid(theta, w)
    r = 1 + w_grid * np.cos(theta_grid / 2)
    x = r * np.cos(theta_grid)
    y = r * np.sin(theta_grid)
    z = w_grid * np.sin(theta_grid / 2)
    return x, y, z

if __name__ == "__main__":
    # 1. Execute all three calculations in parallel
    with ProcessPoolExecutor() as executor:
        f1 = executor.submit(calc_paraboloid)
        f2 = executor.submit(calc_sine_tri)
        f3 = executor.submit(calc_mobius)

        # Gather results as they finish
        para_data = f1.result()
        sine_data = f2.result()
        mobi_data = f3.result()

    # 2. Plotting (Main Thread)

    # Plot 1: Paraboloid
    fig1 = plt.figure()
    ax1 = fig1.add_subplot(111, projection='3d')
    ax1.plot_surface(*para_data, cmap='inferno', edgecolor='none')
    ax1.set_title('Surface Plot of a Paraboloid')

    # Plot 2: Sine Triangulation
    fig2 = plt.figure()
    ax2 = fig2.add_subplot(111, projection='3d')
    ax2.plot_trisurf(sine_data[0], sine_data[1], cmap='viridis', edgecolor='none')
    ax2.set_title('Surface Triangulation Example')

    # Plot 3: Möbius Strip
    fig3 = plt.figure()
    ax3 = fig3.add_subplot(111, projection='3d')
    ax3.plot_surface(*mobi_data, cmap='coolwarm')
    ax3.set_title('Möbius Strip')

    plt.show()











You may also add to the bottom of ~/.bashrc                        function activatevenv() {
 # Names of possible virtualenv directories
 VIRTUALENV_DIRS=("venv/" "env/" ".env/" ".venv/" "${PWD##*/}")
 for dir in "${VIRTUALENV_DIRS[@]}"; do
   if [[ -d "${dir}" ]]; then
     # Found a possible venv directory
     # Try activating the venv
     if [[ -e "./${dir}/bin/activate" ]]; then
       source ./$dir/bin/activate
       echo "Virtual environment activated automatically"
       break
     fi
   fi
 done
}
# Extension for `cd` command in order to automatically activate virtual env when changing directories.
cd() {
 builtin cd $1
 # Try activating venv
 activatevenv
}


REFERENCES

https://medium.com/@ebimsv/mastering-matplotlib-part-6-exploring-3d-plotting-0423821e2e10 

Monday, March 23, 2026

Advanced Blivet-gui on Fedora 44 Server vs Calamares

Per Google's AI Assistant report - Blivet GUI is an advanced graphical storage and partition management tool for Fedora, providing a user-friendly interface for the backend storage library used in the Anaconda installer. It acts as a more powerful alternative to GParted, allowing users to create, modify, delete, and encrypt storage devices (LVM, Btrfs, RAID) with a staged, "apply-on-demand" approach.

Key Usage Examples on Fedora:
 Advanced Partitioning: Creating complex disk layouts, including encrypted partitions (LUKS).
 LVM Management: Managing Logical Volume Manager (LVM) structures, including thin provisioning, PVs, and VGs.
 Btrfs Support: Handling Btrfs RAID and subvolume snapshots.
System Installation: Serving as the "Advanced Custom" partitioning option in the Anaconda installer
to configure partitions, swap, or custom mount points. Staging Changes: Modifying storage settings,
staging the operations, and applying them all at once. 

For instance to perform design below  takes just a several minutes ( Fedora 44 Beta Server has been rolled forward up to current state ) . Afterwards KDE Plasma has been setup via `sudo dnf install @kde-desktop-environment`

One of several reasons to mount /var on a separate logical volume is the default path /var/lib/libvirt/images 

root@fedoraServer:/var/lib/libvirt/images# df -Th .
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/FedoraVG-01 xfs    40G  8.9G   32G  23% /var
root@fedoraServer:/var/lib/libvirt/images# ll
total 8153748
-rw-------. 1 root root 37586927616 Mar 22 20:36 VMArchLinux.qcow2


 





















Tuesday, March 10, 2026

Running Archinstall and Post installation LVs reconfiguration step via remote SSH connection

Remote connection via ssh is significantly more convenient for cut and paste all set of LVs resizing , creating , removing commands along with fstab's updates then typing all of them manually during local Arch Linux Instance setup with more or less complicated LVs updated layout . This post is actually an immediate follow up for https://lxer.com/module/newswire/view/362786/index.html

On remote Arch Linux Instance as soon root console gets ready :-

 # echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

 # systemctl enable --now sshd

Getting ip of remote Arch Instance (192.168.0.55)

 # ip a 

Setup root's password

 # passwd

===================

 On host machine run:-

===================

$ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.0.55

 Warning: Permanently added '192.168.0.55' (ED25519) to the list of known hosts.

root@192.168.0.55's password:

To install Arch Linux follow the installation guide:

https://wiki.archlinux.org/title/Installation_guide

For Wi-Fi, authenticate to the wireless network using the iwctl utility. For mobile broadband (WWAN) modems, connect with the mmcli utility. Ethernet, WLAN and WWAN interfaces using DHCP should work automatically. After connecting to the internet, the installation guide can be accessed via the convenience script Installation_guide.

==============

Per Arch Wiki:

==============

The -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null options will prevent verifying and writing the live environment's SSH host keys to ~/.ssh/known_hosts. This will avoid the REMOTE HOST IDENTIFICATION HAS CHANGED warning in case you have ever connected to the IP address before.























































Another way is to run :

# genfstab -U /mnt > /mnt/root/etc/fstab

All folders should be mounted on corresponding /dev/ArchinstallVg/vol-name  devices, otherwise system would fail to reboot .
























Reboot into Arch Instance with LVs layout performed in post-installation phase


You can now make your KDE Plasma ( for instance ) desktop more sensitive to your CPU's capabilities.  




















Friday, March 6, 2026

Another LVs reconfiguration on ArchLinux as of 03/07/2026

UPDATE as of 03/12/2026

See also Running Archinstall and Post installation LVs reconfiguration step via remote SSH connection

END UPDATE

Create root and home LVs as suggested by system during arch-install run-time . In general, we follow approach proposed in https://www.dwarmstrong.org/install-lmde-with-custom-lvm-luks/ a while ago for LMDE 6. Upon completion drop to root's shell and update default LV's layout as shown below ( just for instance)

root~# lsblk -f

root~# vgs

root~# lvs

========================
Now we resize home LV
========================
root~# umount /mnt/home
root~# lvresize -L 15G --resizefs ArchinstallVg/home
========================
Now we resize root LV
========================
root~# lvresize -L 41G --resizefs ArchinstallVg/root
=======================================
Create varpool LV with ext4 filesystem
=======================================
root~# lvcreate -L 32G ArchinstallVg -n varpool
root~# mkfs.ext4 /dev/ArchinstallVg/varpool
 

===============================
Perform mounts of LVs as follows

===============================
root~# mount /dev/ArchinstallVg/root  /mnt/root/
root~# mount /dev/ArchinstallVg/home  /mnt/home/  

root~# mount /dev/ArchinstallVg/varpool   /mnt/var/

=================================================
Move the contents of /var from the root LV to the new varpool's  LV:
=================================================
root~# mv /mnt/root/var/* /mnt/var
 

======================
Update fstab
======================
Create an entry for /var in /mnt/root/etc/fstab:

root~# echo "/dev/mapper/ArchinstallVg-varpool /var ext4  defaults 0 2" >> /mnt/root/etc/fstab

Another way is to run :

# genfstab -U /mnt > /mnt/root/etc/fstab

All folders should be mounted on corresponding /dev/ArchinstallVg/vol-name  devices, otherwise system would fail to reboot

======================
Unmount folders below
======================

root~# umount /mnt/var
root~# umount /mnt/root

root~# umount /mnt/home

root@archiso ~ # arch-chroot /mnt

====================================

Make sure that lvm2 goes ahead of filesystems

====================================

[root@archiso /]# cat /etc/mkinitcpio.conf | grep HOOKS

# HOOKS

# This is the most important setting in this file.  The HOOKS control the

# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for

#    HOOKS=(base)

#    HOOKS=(base udev autodetect microcode modconf block filesystems fsck)

#    HOOKS=(base udev microcode modconf block filesystems fsck)

#    HOOKS=(base udev microcode modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)

#    HOOKS=(base udev microcode modconf block lvm2 filesystems fsck)

#    HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)

HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont lvm2 block filesystems fsck)

[root@archiso /]# mkinitcpio -P

==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'

==> Using default configuration file: '/etc/mkinitcpio.conf'

  -> -k /boot/vmlinuz-linux -g /boot/initramfs-linux.img

==> Starting build: '6.19.6-arch1-1'

  -> Running build hook: [base]

  -> Running build hook: [udev]

  -> Running build hook: [autodetect]

  -> Running build hook: [microcode]

  -> Running build hook: [modconf]

  -> Running build hook: [kms]

  -> Running build hook: [keyboard]

  -> Running build hook: [keymap]

  -> Running build hook: [consolefont]

  -> Running build hook: [lvm2]

  -> Running build hook: [block]

  -> Running build hook: [filesystems]

  -> Running build hook: [fsck]

==> Generating module dependencies

==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux.img'

  -> Early uncompressed CPIO image generation successful

==> Initcpio image generation successful

# exit

and reboot

root~# reboot

ArchinstallVg may be potentially spread across different drives

 



Saturday, February 28, 2026

Switching location of default libvirt's pool on Debian forky

Google's AI Assistant brief report some times shows up the command following below : If you need to redefine, use virsh pool-define-as --name default --type  dir --target /new/path/libvirt/images, some times skips it. However, "Dive deeper in AI mode" always point to this command. Same procedure may be also performed via Virt-manager GUI with option "preferences" => XML editing enabled and manually editing path to default pool and restarting daemon libvirtd.

Existing VMs: If you already have virtual machines, moving the pool will "break" their pathing. You must manually move the .qcow2 files to the new location and update each VM's XML configuration using virsh edit <vm_name> to point to the new disk path. 

 boris@DebianForky20FB:~$ uname -a

Linux DebianForky20FB 6.19.3 #1 SMP PREEMPT_DYNAMIC Thu Feb 19 13:29:45 EST 2026 x86_64 GNU/Linux

boris@DebianForky20FB:~$ mkdir -p lib/libvirt/images/

boris@DebianForky20FB:~$ sudo virsh pool-destroy default

[sudo] password for boris:

Pool default destroyed

boris@DebianForky20FB:~$ sudo virsh pool-undefine default

Pool default has been undefined

Per my experience next step is a must ( obviously my experience is limited )

boris@DebianForky20FB:~$ sudo virsh pool-define-as --name default --type dir --target /home/boris/lib/libvirt/images

Pool default defined

boris@DebianForky20FB:~$ sudo virsh pool-autostart default

Pool default marked as autostarted

boris@DebianForky20FB:~$ sudo virsh pool-start default

Pool default started

boris@DebianForky20FB:~$ sudo systemctl restart libvirtd

boris@DebianForky20FB:~$ sudo systemctl status libvirtd

● libvirtd.service - libvirt legacy monolithic daemon

     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: enabled)

     Active: active (running) since Sat 2026-02-28 05:14:03 EST; 10s ago

 Invocation: 70acc549144a452d87816386c0e39190

TriggeredBy: ● libvirtd-ro.socket

             ● libvirtd-admin.socket

             ● libvirtd.socket

       Docs: man:libvirtd(8)

             https://libvirt.org/

   Main PID: 3610 (libvirtd)

      Tasks: 21 (limit: 32768)

     Memory: 8.3M (peak: 9.5M)

        CPU: 412ms

     CGroup: /system.slice/libvirtd.service

             └─3610 /usr/sbin/libvirtd --timeout 120

Feb 28 05:14:02 DebianForky20FB systemd[1]: Starting libvirtd.service - libvirt legacy monolithic daemon...

Feb 28 05:14:03 DebianForky20FB systemd[1]: Started libvirtd.service - libvirt legacy monolithic daemon.



















REFERENCES

https://serverfault.com/questions/840519/how-to-change-the-default-storage-pool-from-libvirt

Sunday, February 22, 2026

Setup CachyOS Kernel 6.19.3 on MX25.1 KDE Edition (VENV)

   MX Linux consistently tops DistroWatch because it is a highly capable, lightweight, and user-friendly Debian-based system that appeals to a wide range of users.  

Key Features of Desktops on MX 25.1:
Init System Choice: MX 25.1 introduced a dual-init system, allowing users to choose between systemd and sysVinit at boot, which applies to all supported desktop's environments. Improved Performance: The 25.1 release includes updated tools (built on Qt6), ZRAM support for better performance, and better handling of graphics drivers. Compatibility: The desktops are designed to work well on older hardware (like 2011 laptops)
while providing a modern experience on new hardware. 

Key Reasons for High Rankings:
User-Friendly & Powerful: MX Tools simplifies complex tasks (like codec installation, boot repair, or user management) through a graphical interface.

Lightweight & Efficient: It uses the XFCE, KDE Plasma, Fluxbox  desktop environments , making it ideal for older, under-powered hardware, as well as modern, fast machines.
Solid Debian Foundation: It is based on Debian Stable, which ensures high reliability and stability. MX is frequently discussed as a top distro, it receives more "hits" or clicks, further boosting its ranking in a self-sustaining cycle.Active Community & Maintenance: It has a very active community and responsive developers, keeping the system polished.  

See for instance https://distrowatch.com/dwres.php?resource=ranking&sort=votes 

Start with pre-installation step

$ sudo apt install build-essential bpftool 

and include /usr/sbin in system $PATH variable.

On MX25.1  installation of libdw-dev step is required to succeed with build CachyOS 6.19.2 Kernel on top of MX25.1 ( MX25.1 native kernel 6.12.73)

$ sudo apt install libdw-dev

Proceed with cloning https://github.com/Nitrux/linux-cachyos-deb

$ git clone https://github.com/Nitrux/linux-cachyos-deb

$  cd linux-cachyos-deb

Script installs all required packages and pops up TUI dialog to configure kernel 6.19.3 and finally proceed with building of debian kernel packages.

Kernel config is the same as shown in Build CachyOS Kernel 6.19.2 on Debian forky (VENV) 

$ ./cachy-kernel-deb

Upon build completion content of the working folder looks as follows  

boris@MXVM22F26:~/linux-cachyos-deb
$ ls -l
total 1810288
-rwxrwxr-x  1 boris boris      34200 Feb 22 04:32 cachy-kernel-deb
-rwxrwxr-x  1 boris boris        155 Feb 22 05:40 install.sh
-rw-rw-r--  1 boris boris       1536 Feb 22 04:32 LICENSE
drwxrwxr-x 27 boris boris       4096 Feb 22 05:27 linux-6.19.3
-rw-rw-r--  1 boris boris  156061192 Feb 19 10:57 linux-6.19.3.tar.xz
-rw-r--r--  1 boris boris    9683952 Feb 22 05:27 linux-headers-6.19.3_6.19.3-1_amd64.deb
-rw-r--r--  1 boris boris  312213968 Feb 22 05:28 linux-image-6.19.3_6.19.3-1_amd64.deb
-rw-r--r--  1 boris boris 1374209512 Feb 22 05:38 linux-image-6.19.3-dbg_6.19.3-1_amd64.deb
-rw-r--r--  1 boris boris    1482136 Feb 22 05:27 linux-libc-dev_6.19.3-1_amd64.deb
-rw-rw-r--  1 boris boris       6652 Feb 22 05:38 linux-upstream_6.19.3-1_amd64.buildinfo
-rw-rw-r--  1 boris boris       2194 Feb 22 05:38 linux-upstream_6.19.3-1_amd64.changes
-rw-rw-r--  1 boris boris       3466 Feb 22 04:32 README.md
boris@MXVM22F26:~/linux-cachyos-deb
$ cat ./install.sh
sudo dpkg -i linux-headers-6.19.3_6.19.3-1_amd64.deb \
             linux-image-6.19.3_6.19.3-1_amd64.deb \
             linux-libc-dev_6.19.3-1_amd64.deb
boris@MXVM22F26:~/linux-cachyos-deb
$ ./install.sh
[sudo] password for boris:             
Selecting previously unselected package linux-headers-6.19.3.
(Reading database ... 381034 files and directories currently installed.)
Preparing to unpack linux-headers-6.19.3_6.19.3-1_amd64.deb ...
Unpacking linux-headers-6.19.3 (6.19.3-1) ...
Selecting previously unselected package linux-image-6.19.3.
Preparing to unpack linux-image-6.19.3_6.19.3-1_amd64.deb ...
/usr/sbin/dkms.real kernel_preinst -k 6.19.3
Unpacking linux-image-6.19.3 (6.19.3-1) ...
Preparing to unpack linux-libc-dev_6.19.3-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (6.19.3-1) over (6.18.12-1~mx25ahs) ...
Setting up linux-headers-6.19.3 (6.19.3-1) ...
Setting up linux-image-6.19.3 (6.19.3-1) ...
/usr/sbin/dkms.real autoinstall --kernelver 6.19.3
Sign command: /lib/modules/6.19.3/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Autoinstall of module 8812au/5.13.6 for kernel 6.19.3 (x86_64)
Warning: The /var/lib/dkms/8812au/5.13.6/6.19.3/x86_64/dkms.conf for module 8812au/5.13.6 includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch/config. This indicates that it should not be built.

Autoinstall of module broadcom-sta/6.30.223.271 for kernel 6.19.3 (x86_64)
Building module(s).... done.
Signing module /var/lib/dkms/broadcom-sta/6.30.223.271/build/wl.ko Installing /lib/modules/6.19.3/updates/dkms/wl.ko.zst
Running depmod... done.

Autoinstall of module rtl8821cu/5.12.0 for kernel 6.19.3 (x86_64)
Warning: The /var/lib/dkms/rtl8821cu/5.12.0/6.19.3/x86_64/dkms.conf for module rtl8821cu/5.12.0 includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch/config. This indicates that it should not be built.


Autoinstall on 6.19.3 succeeded for module(s) broadcom-sta.
Autoinstall on 6.19.3 was skipped for module(s) 8812au rtl8821cu.

update-initramfs: Generating /boot/initrd.img-6.19.3
I: The initramfs will attempt to resume from /dev/vda5
I: (UUID=6d52a9fc-79b2-4c95-9428-dab77ef2bd3f)
I: Set the RESUME variable to override this.
Generating grub configuration file ...
Found theme: /boot/grub/themes/mx_linux/theme.txt
Found linux image: /boot/vmlinuz-6.19.3
Found initrd image: /boot/initrd.img-6.19.3
Found linux image: /boot/vmlinuz-6.12.73+deb13-amd64
Found initrd image: /boot/initrd.img-6.12.73+deb13-amd64
Found linux image: /boot/vmlinuz-6.12.63+deb13-amd64
Found initrd image: /boot/initrd.img-6.12.63+deb13-amd64
Found mtest-64.efi image: /uefi-mt/mtest-64.efi
Adding boot menu entry for EFI firmware configuration
done
Setting up linux-libc-dev:amd64 (6.19.3-1) ... 

 
The 8812au module is a Linux kernel driver designed for USB Wi-Fi adapters based on the Realtek RTL8812AU chipset. It enables high-performance 802.11ac dual-band (2.4GHz/5G) wireless connectivity, supporting 2T2R (2 Transmit, 2 Receive) antennas, and is commonly used with USB 2.0 AC1200 wireless network interfaces.

The RTL8821CU is a Realtek single-chip wireless module combining 802.11ac Wi-Fi (up to 433 Mbps) and Bluetooth 4.2, typically used for high-speed, dual-band (2.4/5 GHz) wireless connectivity in USB-based devices like laptops, smart TVs, and IoT products. It acts as a 1T1R (1 transmitter, 1 receiver) WLAN controller. 

 The broadcom-sta (or wl) module is a proprietary, closed-source Linux kernel driver designed to support various Broadcom IEEE 802.11a/b/g/n wireless
network cards, particularly popular on laptops. It enables Wi-Fi functionality for specific PCI/PCIe chipsets (e.g., BCM4311, BCM4313, BCM4322, BCM4360)
that are not fully supported by open-source drivers.

********************************************************* 

Brief Howto regarding KVM Setup on MX 25.1 KDE Edition

*********************************************************

$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager virt-viewer
$ sudo apt install ovmf qemu-utils swtpm
$ sudo adduser $USER libvirt
$ sudo adduser $USER kvm
$ sudo systemctl enable --now libvirtd
Synchronizing state of libvirtd.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable libvirtd

========================================
Manual creating Linux bridge && reboot
========================================
$ sudo nmcli con add type bridge ifname br0 con-name br0
$ sudo nmcli con add type bridge-slave ifname eth0 con-name br0-slave master br0
$ sudo nmcli con up br0
$ sudo nmcli con add type bridge ifname br0 con-name br0
Connection 'br0' (f6b7ab2a-b58b-418a-b2e2-a79c2cf7a4ce) successfully added.
$ sudo nmcli con add type bridge-slave ifname eth0 con-name br0-slave master br0
Connection 'br0-slave' (b1fb358a-c1a0-4e84-ba1f-0ce2591c9aea) successfully added.
$ sudo nmcli con up br0
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ sudo reboot 

Tuesday, February 17, 2026

Build CachyOS Kernel 6.19.2 on Debian Forky (VENV)

 In general we follow https://news.itsfoss.com/cachyos-kernel-builder/

Start with Pre-installation step

$ sudo apt install build-essential bpftool 

and include /usr/sbin in system $PATH variable.

On Debian forky  installation of libdw-dev and build dependencies for libdw-dev steps are required to succeed with build CachyOS 6.19.2 Kernel on top of Debian Testing ( forky native kernel 6.18.9 )

$ sudo apt install libdw-dev

$  sudo apt-get build-dep libdw-dev

Proceed with cloning https://github.com/Nitrux/linux-cachyos-deb

$ git clone https://github.com/Nitrux/linux-cachyos-deb

$  cd linux-cachyos-deb

Script installs all required packages and pops up TUI dialog to configure kernel 6.19.2 and finally proceed with building of debian kernel packages.

$ ./cachy-kernel-deb










Install kernel via debian files been built and reboot into CachyOS Kernel 6.19.2 

boris@DebianForky:~$ cd *-deb

boris@DebianForky:~/linux-cachyos-deb$ ls -l
total 1664420
-rwxrwxr-x 1 boris boris      34200 Feb 17 03:15 cachy-kernel-deb
-rwxrwxr-x 1 boris boris        155 Feb 17 04:19 install.sh
-rw-rw-r-- 1 boris boris       1536 Feb 17 03:15 LICENSE
-rw-rw-r-- 1 boris boris  156048284 Feb 16 11:29 linux-6.19.2.tar.xz
-rw-r--r-- 1 boris boris    9731756 Feb 17 04:01 linux-headers-6.19.2_6.19.2-1_amd64.deb
-rw-r--r-- 1 boris boris  187069484 Feb 17 04:01 linux-image-6.19.2_6.19.2-1_amd64.deb
-rw-r--r-- 1 boris boris 1349961180 Feb 17 04:10 linux-image-6.19.2-dbg_6.19.2-1_amd64.deb
-rw-r--r-- 1 boris boris    1482032 Feb 17 04:01 linux-libc-dev_6.19.2-1_amd64.deb
-rw-rw-r-- 1 boris boris       6588 Feb 17 04:11 linux-upstream_6.19.2-1_amd64.buildinfo
-rw-rw-r-- 1 boris boris       2220 Feb 17 04:11 linux-upstream_6.19.2-1_amd64.changes
-rw-rw-r-- 1 boris boris       3466 Feb 17 03:15 README.md
boris@DebianForky:~/linux-cachyos-deb$ cat  install.sh
sudo dpkg -i linux-headers-6.19.2_6.19.2-1_amd64.deb \
            linux-image-6.19.2_6.19.2-1_amd64.deb \
            linux-libc-dev_6.19.2-1_amd64.deb
boris@DebianForky:~$ uname -a
Linux DebianForky 6.19.2 #1 SMP PREEMPT_DYNAMIC Tue Feb 17 03:53:00 EST 2026 x86_64 GNU/Linux




















Cockpit VNC Console ( in detached state ) along with KVM Hypervisor functionality under CachyOS Kernel were tested on the top of the most recent state of Debian forky installed in virtual environment










/var directory was mounted on LVM separate volume to keep enough space for further kernels testing