My LiveUSB DogLinux Bookworm build for hardware testing (nvidia-drivers, GPUTest)

a very small Live CD shaped to look and act like Puppy Linux.

Moderator: fredx181

Post Reply
gumanzoy
Posts: 51
Joined: Mon May 03, 2021 3:38 pm
Has thanked: 7 times
Been thanked: 8 times

My LiveUSB DogLinux Bookworm build for hardware testing (nvidia-drivers, GPUTest)

Post by gumanzoy »

First big thanks to Fred (fredx181) !

Full announce, description and screenshots of my build English / Russian

Bookworm version of my LiveUSB build for hardware testing (mostly laptops).

Update 2024.10.08
Size 1.36GB
kernels 5.10.223-amd64 / 6.10.12-amd64 / 6.1.106-i686 (without PAE for old CPUs compatible)
kernel 5.10.223-amd64 build with intel-nvme-remap patch from EndlessOS to make NVMe SSDs available on 8th-10th gen Intel Core i3/i5/i7 platforms with "Intel RST Premium With Optane" option enabled in UEFI Setup.
amd64: add mesa-24.2.2-drm-2.4.123.squashfs and mesa-vulkan-drivers-24.2.2.squashfs with versions from backports.
amd64: nvidia driver 550.120, and two legacy versions as before 340.108, 390.157
firmware-nonfree 20240709
Update some software: NetSurf 3.11, Chromium 129, CPU-X 5.0.4, x0tigervncserver 1.14.0

Size 1.3GB
LANG="en_US.UTF-8"
Contains both amd64 and i686 versions.
kernels 5.10.178-amd64 / 6.1.25-amd64 / 6.1.25-i686 (without PAE for old CPUs compatible)
Xfce desktop
Chromium (amd64 only) and NetSurf browsers
Includes applications such as GPUTest, Unigine Heaven, CPU-X, GSmartControl, GParted, Partimage, Partclone, TestDisk, ddrescue, WHDD, DMDE.
All my modifications in 05-customtools.squashfs
I build 3 versions of nvidia drivers in separate modules: 340.108, 390.157 and 525.105.17
And add to linuxrc new param nvidia_detect (based on old Porteus code vga_detect). Full description (in Russian language)

When boot 6.1 or 6.10 kernel the new ntfs3 kernel module being used for mount instead of fuse ntfs-3g

root password: dog
puppy password: dog

Image Image Image Image Image Image

liveusb-doglinux-debian-12-2024.10.08.torrent
(33.81 KiB) Downloaded 5 times

drive.google.com
Main version download: full LiveUSB tree with installdog.sh installer and syslinux + systemd-boot (gummiboot) bootloaders.
Also contain config for grub4dos and ventoy_grub.cfg.

UEFI + Legacy/CSM compatible.

Old 2023.05.06 version downloads:

liveusb-doglinux-debian-12-2023.05.06.torrent
(32.35 KiB) Downloaded 49 times

Alternative download grub2 .ISO image (dd compatible): doglinux-debian-12-20230506.iso
md5sum: e6be5ae22496336276ca0731697324bb

mklive-bookworm-gumanzoy.tar.xz
(17.17 KiB) Downloaded 31 times

Modified for 2024.10.04 build script mklive-bookworm and config in next message.

Code: Select all

./mklive-bookworm-gumanzoy -cli mklive-bookworm64-xfce-gumanzoy.conf

Modified same as previous version mklive-bullseye-gumanzoy.
Only one change. Exclude mesa d3d12_dri.so library. Its only functional inside MS WSL2. And have no sense on bare metal.

Code: Select all

+echo path-exclude=/usr/lib/x86_64-linux-gnu/dri/d3d12_dri.so > etc/dpkg/dpkg.cfg.d/mesa_d3d12_dri
Last edited by gumanzoy on Thu Oct 10, 2024 7:37 am, edited 4 times in total.
gumanzoy
Posts: 51
Joined: Mon May 03, 2021 3:38 pm
Has thanked: 7 times
Been thanked: 8 times

Re: My LiveUSB DogLinux Bookworm build for hardware testing (nvidia-drivers, GPUTest)

Post by gumanzoy »

mklive-bookworm-gumanzoy-2024.10.04.tar.xz
(16.94 KiB) Downloaded 6 times

Modified for 2024.10.04 build script mklive-bookworm and config.

I will not use no-merged-usr. And i use bookworm version of debootstrap. This is why i remove/comment this code.

Code: Select all

-  if [ "$NMU" = "TRUE" ]; then  # NO merged-usr, install devuan debootstrap
-# download and install debootstrap no-merged-usr deb from Devuan
-DEBOOTSTRAP=debootstrap_1.0.128+nmu2devuan2_all.deb
-wget --no-check-certificate https://debiandog.github.io/MakeLive/$DEBOOTSTRAP -O $DEBOOTSTRAP
-  else
 # download and install debootstrap deb
-DEBOOTSTRAP=debootstrap_1.0.134_all.deb
-wget --no-check-certificate https://debiandog.github.io/MakeLive/$DEBOOTSTRAP -O $DEBOOTSTRAP
-  fi
-
-dpkg -i "$DEBOOTSTRAP"
+#DEBOOTSTRAP=debootstrap_1.0.134_all.deb
+#wget --no-check-certificate https://debiandog.github.io/MakeLive/$DEBOOTSTRAP -O $DEBOOTSTRAP
+#  fi
+#
+#dpkg -i "$DEBOOTSTRAP"

I comment out proposed-updates and add backports to sources.list. dpkg --add-architecture i386, Disable smartd.
I don't use conky and remove conkytoggle.desktop. And i don't like aero cursors root/.icons from dog-boot-bookworm-20221013.tar.gz, remove it.

Code: Select all

 deb http://deb.debian.org/debian bookworm-updates main contrib non-free
 #deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free
 
-deb http://deb.debian.org/debian bookworm-proposed-updates main contrib non-free
+#deb http://deb.debian.org/debian bookworm-proposed-updates main contrib non-free
 #deb-src http://deb.debian.org/debian bookworm-proposed-updates main contrib non-free
 
 deb http://security.debian.org bookworm-security main contrib non-free
 #deb-src http://security.debian.org bookworm-security main contrib non-free
 
+deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
+#deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free
+
 '
 
 [ "$ARCH" = "i386" ] && echo "$REPOS32" > /etc/apt/sources.list
 
 [ "$ARCH" = "amd64" ] && echo "$REPOS64" > /etc/apt/sources.list 
 
+[ "$ARCH" = "amd64" ] && dpkg --add-architecture i386
+
+echo path-exclude=/etc/init.d/smartmontools > etc/dpkg/dpkg.cfg.d/smartd
+echo path-exclude=/usr/sbin/smartd >> etc/dpkg/dpkg.cfg.d/smartd
+echo path-exclude=/usr/lib/x86_64-linux-gnu/dri/d3d12_dri.so > etc/dpkg/dpkg.cfg.d/mesa_d3d12_dri
+
+rm -f root/Desktop/conkytoggle.desktop
+rm -rf root/.icons
+rm -f home/puppy/Desktop/conkytoggle.desktop
+rm -rf home/puppy/.icons
+

Fix my code for download and install libpng12*_i386.deb in "$ARCH" = "amd64". Now it is work as needed and don't makes copies of libpng12-0_1.2.50-2+deb8u3.3_i386.deb for each run of script.
Added code for install backported version of netsurf. I rebuild it from src deb testing version. Just put debs to build/bookworm/chroot/var/cache/apt/archives/

Code: Select all

+if [ "$ARCH" = "amd64" ]; then
+ls var/cache/apt/archives/libpng12*_i386.deb 2> /dev/null || \
+wget --no-check-certificate https://github.com/doglinux/bookworm/raw/master/i386/libpng12-0_1.2.50-2+deb8u3.3_i386.deb \
+-P var/cache/apt/archives
+dpkg --force-overwrite -i var/cache/apt/archives/libpng12*_i386.deb
+fi
+
+ls var/cache/apt/archives/netsurf-*_3.11*.deb 2> /dev/null && \
+dpkg -i var/cache/apt/archives/netsurf-common_3.11*_all.deb \
+var/cache/apt/archives/netsurf-gtk_3.11*_"$ARCH".deb
+

Remove mesa libs from 01-filesystem.squashfs. Because i make module with updated mesa and libdrm from backports.

Code: Select all

+# Remove mesa libs from 01-filesystem.squashfs
+# Prefer to make module with mesa and libdrm from backports
+if [ "$ARCH" = "amd64" ]; then
+rm -f usr/lib/x86_64-linux-gnu/dri/*_dri.so
+rm -f usr/lib/x86_64-linux-gnu/libdrm_*so.*
+rm -f usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0*
+fi
+
gumanzoy wrote: Mon Jul 25, 2022 5:45 am

I prefer to keep eng manpages, but delete /usr/share/doc and /usr/share/info
Copy code from livekit Slax cleanup to ungzip manpages.

Code: Select all

+# Unzip gzipped files (man pages), so LZMA can compress 2times better.
+# First we fix symlinks, then uncompress files
+# $1 = search directory
+uncompress_files()
+{
+   local LINK LINE
+
+   find "$1" -type l -name "*.gz" | while read LINE; do
+      LINK="$(readlink "$LINE" | sed -r 's/.gz$//')"
+      FILE="$(echo "$LINE" | sed -r 's/.gz$//')"
+      ln -sfn "$LINK" "$FILE"
+      rm -f "$LINE"
+   done
+   find "$1" -type f -name "*.gz" | xargs -r gunzip
+}
+
+uncompress_files etc/alternatives
+
 if [ "$KEEPMANDOC" = "FALSE" ]; then
 find /usr/share/doc -type f -exec rm -f {} 2> /dev/null \;
 find usr/share/man -type f -exec rm -f {} 2> /dev/null \;
 find usr/share/gtk-doc -type f -exec rm -f {} 2> /dev/null \;
 find usr/share/info -type f -exec rm -f {} 2> /dev/null \;
     chown -R man:root usr/share/man
+else
+find usr/share/doc -type f -exec rm -f {} 2> /dev/null \;
+find usr/share/gtk-doc -type f -exec rm -f {} 2> /dev/null \;
+find usr/share/info -type f -exec rm -f {} 2> /dev/null \;
+rm -f usr/local/bin/man
+rm -fr usr/share/man/??
+rm -fr usr/share/man/??.*
+rm -fr usr/share/man/*_*
+uncompress_files usr/share/man
+    chown -R man:root usr/share/man
 fi

I will add some details about modules building in next posts.

Last edited by gumanzoy on Sat Oct 05, 2024 6:26 pm, edited 1 time in total.
gumanzoy
Posts: 51
Joined: Mon May 03, 2021 3:38 pm
Has thanked: 7 times
Been thanked: 8 times

Re: My LiveUSB DogLinux Bookworm build for hardware testing (nvidia-drivers, GPUTest)

Post by gumanzoy »

Few small tips:

I make mpv modules with packages from https://fruit.je/apt repo. It is quite smaller than debian repo version.
https://apt.fruit.je/debian/bookworm/mpv/


Rebuilding debs with pbuilder. sudo apt install pbuilder
Download netsurf_3.11.orig.tar.gz netsurf_3.11-2.debian.tar.xz netsurf_3.11-2.dsc from https://packages.debian.org/source/trixie/netsurf

Code: Select all

sudo pbuilder --create --distribution bookworm --architecture amd64 --basetgz /var/cache/pbuilder/bookworm-amd64-base.tgz
sudo pbuilder --create --distribution bookworm --architecture i386 --basetgz /var/cache/pbuilder/bookworm-i386-base.tgz
sudo pbuilder --build --distribution bookworm --architecture amd64 --basetgz /var/cache/pbuilder/bookworm-amd64-base.tgz netsurf_3.11-2.dsc
sudo pbuilder --build --distribution bookworm --architecture i386 --basetgz /var/cache/pbuilder/bookworm-i386-base.tgz netsurf_3.11-2.dsc

New debs netsurf-common_3.11-2_all.deb netsurf-gtk_3.11-2_amd64.deb netsurf-gtk_3.11-2_i386.deb found in /var/cache/pbuilder/result/

gumanzoy
Posts: 51
Joined: Mon May 03, 2021 3:38 pm
Has thanked: 7 times
Been thanked: 8 times

Re: My LiveUSB DogLinux Bookworm build for hardware testing (nvidia-drivers, GPUTest)

Post by gumanzoy »

@fredx181
Kernel 6.10 in this build have problem with path i applied intel-nvme-remap from EndlessOS

Can not boot in configurations with Intel RST.

I will remove path, rebuild kernel, rebuild nvidia modules (because it depends of kernel modules), and upload new version in 3-5 days.
I will apply same patch to kernel 5.10 instead. Because i want to keep it for legacy 340xx nvidia driver.

Image Image Image

UPD. I rebuild kernels and modules. But i want to test it first on real hardware for sure.

This patch for kernel 5.10. intel-nvme-remap I use it before for bullseye build.
This version works with 6.1 kernel. But i want to drop 6.1-amd64 kernel. And use 6.10 and 5.10 only.
5.10 is important to support legacy nvidia 340xx driver on notebooks with optimus.

Intel makes a problem. And not want to fix it. Affected some notebooks with Core i3 i5 i7 from 8th to 10th gen.

UPD2: Done. New version 2024.10.08 uploaded. Files changed:

Code: Select all

live/dk5/initrd1.xz
live/dk5/k-5.10.0-32-amd64.squashfs
live/dk5/vmlinuz1
live/optional/dkms.squashfs
live/optional/headers-5.10.0-32-amd64.squashfs
live/optional/headers-6.10.12-amd64.squashfs
live/optional/nv340.108-k5.10.0-32-amd64.squashfs
live/optional/nv340.108-k6.10.12-amd64.squashfs
live/optional/nv390.157-k5.10.0-32-amd64.squashfs
live/optional/nv390.157-k6.10.12-amd64.squashfs
live/optional/nvidia-550.120-k6.10.12-amd64.squashfs
live/initrd1.xz
live/k-6.10.12-amd64.squashfs
live/vmlinuz1
gumanzoy
Posts: 51
Joined: Mon May 03, 2021 3:38 pm
Has thanked: 7 times
Been thanked: 8 times

Re: My LiveUSB DogLinux Bookworm build for hardware testing (nvidia-drivers, GPUTest)

Post by gumanzoy »

Today FurMark 2.4.0.0 (GPU Stress Test and Graphics Benchmark) Released
But there are no significant changes in the Linux version.
I make module.
Download and copy to live/modules/, then delete old version.

furmark-2.4.0.0.squashfs 12.3MB drive.google.com vk.com
md5sum: 9365923ab2a9a572b677facfbd446753

Image

Post Reply

Return to “DebianDogs”