===== Minimal Debian =====
Install Debian 12 on text mode and choose on SSH server on Tasksel.
apt-get install busybox
wget https://raw.githubusercontent.com/brgl/busybox/master/examples/inittab
mv inittab /etc/inittab
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet init=/usr/sbin/busybox init"
update-grub2
apt-get remove --purge dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common libdbus-1-3 libexpat1 init initscripts insserv orphan-sysvinit-scripts startpar sysv-rc
apt-get remove --purge discover discover-data anacron apparmor emacsen-common iw libdiscover2 ienglish-common ispell wamerican wireless-regdb dictionaries-common libasound2-data alsa-topology-conf libdw1 libglib2.0-0 libglib2.0-data libicu72 libxml2 shared-mime-info xdg-user-dirs installation-report alsa-ucm-conf wpasupplicant libnl-route-3-200 libpcsclite1 dmidecode eject intel-microcode iucode-tool laptop-detect linux-image-6.1.0-15-amd64 firmware-linux-free nano busybox sudo powertop libnl-3-200 libnl-genl-3-200 nftables locales task-english pciutils libpci3 pci.ids tasksel tasksel-data wireless-tools libiw30 libx11-data libx11-data libx11-6 libxmuu1 xauth libxau6 libxcb1 libxdmcp6 whiptail zstd xkb-data console-setup console-setup-linux keyboard-configuration usbutils libusb-1.0-0 libnuma1 liburing2 amd64-microcode
reboot
Tyring to replace tools with busybox:
rm /bin
mv /usr/bin /usr/bin,BAK
cd /usr/bin.BAK
./mkdir /usr/bin
./cp /usr/bin,BAK/busybox /usr/bin
cd /usr/bin
./busybox --install -s /usr/bin
ln -s /usr/bin /bin
reboot
==== debootstrap ====
sudo apt-get install debootstrap dosfstool
cd $HOME
qemu-img create -f qcow2 debian.qcow2 5G
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd0 debian.qcow2
sudo parted -s -a optimal -- /dev/nbd0 \
mklabel gpt \
mkpart primary fat32 1MiB 270MiB \
mkpart primary linux-swap 300MiB 1GiB \
mkpart primary ext4 1GiB -0 name 1 uefi \
name 2 swap \
name 3 root \
set 1 esp on
sudo mkfs -t fat -F 32 -n EFI /dev/nbd0p1
sudo mkswap -L swap /dev/nbd0p2
sudo mkfs -t ext4 -L root /dev/nbd0p3
mkdir /home/em1069/rootfs
swap_uuid="$(sudo blkid | grep '^/dev/nbd0' | grep ' LABEL="swap" ' | grep -o ' UUID="[^"]\+"' | sed -e 's/^ //' )"
root_uuid="$(sudo blkid | grep '^/dev/nbd0' | grep ' LABEL="root" ' | grep -o ' UUID="[^"]\+"' | sed -e 's/^ //' )"
efi_uuid="$(sudo blkid | grep '^/dev/nbd0' | grep ' LABEL="EFI" ' | grep -o ' UUID="[^"]\+"' | sed -e 's/^ //' )"
sudo mount $root_uuid /home/em1069/rootfs/
sudo rm -r bin boot dev etc home lib lib64 proc root run sbin sys tmp usr media mnt srv opt var/backups var/lib var/local var/log var/mail var/spool var/cron var/lock var/run var/opt/ var/tmp/
sudo debootstrap --exclude=init,bash,udev,nftables,dmidecode,tasksel,tasksel-data,nano,fdisk,mount,cron,login,less,gzip,vim-tiny,vim-common,hostname,systemd,systemd-sysv,util-linux,libmount1 --include=busybox --arch amd64 bookworm /home/em1069/rootfs/ http://deb.debian.org/debian
sudo mount -o bind,ro /dev/ rootfs/dev
sudo mount -t proc none rootfs/proc
sudo mount -t sysfs none rootfs/sys
cat <