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 <<EOF | sudo tee rootfs/etc/fstab
$swap_uuid none swap sw  0       0
$root_uuid / ext4 errors=remount-ro 0 1
$efi_uuid /boot/efi vfat defaults 0 1
EOF
cat <<EOF | sudo tee rootfs/etc/apt/sources.list
deb http://ftp.uk.debian.org/debian/ bookworm main
EOF

LANG=C.UTF-8 sudo chroot rootfs /bin/dash
apt-get update
apt-get install 


broken dpkg -l work on alternatives
cd /bin
ln -s busybox more
update-alternatives --install /bin/pager pager /bin/more 0


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/
minimal_debian.txt · Last modified: 2024/03/12 18:18
Public Domain Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain