This is an old revision of the document!
Table of Contents
N100 Mini PC
N100 Mini PCs are very cheap and very capable devices.
Here is the procedure used to dual boot debian 12 on a Mini P and prepare it to run VMs under KVM.
Hardware
TRIGKEY N100 CPU 16GB RAM 512GB SSD WIFI 6 BT 5.2 WIN 11 PRO
After discount this device should cost £169.
External SSD is an ADATA 240 GB for VMs. Any external USB3 drive will do.
Boot
Storage
Disk 0
Run Windows 11 “Disk Management”, select the C partition of “Disk 0” and choose “Shrink Volume”.
Enter the amount of space to shrink in MB, Eg, 128000.
A new empty partition will be created, this is where Linux will be installed.
Disk 1
Disk 1 is an external USB3 SSD and is not initialised in Windows.
This will be dedicated to KVM in Linux. In this instance the external SSD is 240 GB.
NB usb_storage.quirks will probably be required for external USB3 drives in Linux.
Debian 12 install
The recommended way to install Debian is using a USB flash drive.
Writing the drive image in Windows can be done using RUFUS.
This software was unreliable with one USB flash drive and failed with an ISO extraction error. It worked fine with an SDCARD in a USB adapter.
The latest stable Debian image at this time is Debian 12.4 AMD64.
Install
Power on and press DELETE to enter the BIOS.
To boot from a specific device navigate to the override section and then choose the Mass storage device to install Debian.
Partition
When installing Debian use the free space created when shrinking the C drive with the single partition option and let Debian work it all out.
Software
Choose basic software such as SSH and possibly LXQT when using a 4K display since the default console is barely readable at that resolution.
Boot
Change the NVMe boot priority from Windows boot manager to the Debian boot manager and save the setting to restart.
Miscellaneous
Environment
su root export PATH=/bin:/sbin
Quirks
Eg. Ensure ADATA device uses USB Mass storage and not UAS.
cp /etc/default/grub /etc/default/grub.bak sed -i 's/DEFAULT="quiet"/DEFAULT="quiet usb-storage.quirks=125f:a88a:u"/g' /etc/default/grub update-grub
Shell
Install tcsh if preferred
apt install tcsh
Locales
Install GB and US locales
dpkg-reconfigure locales
Timezone
Set timezone to Etc/UTC
dpkg-reconfigure tzdata
Editor
Set editor to VIM in preference to pico/nano
apt install vim update-alternatives --config editor
Run level
Disable any window manager at boot.
systemctl isolate multi-user.target systemctl set-default multi-user.target
Services
Disable services not required for the KVM appliance (or servers).
As root
systemctl disable connman systemctl disable preload.service systemctl disable dundee.service systemctl disable ofono.service systemctl disable plymouth.service systemctl disable wpa_supplicant.service systemctl disable rtkit-daemon systemctl disable bluetooth.service systemctl disable cups.service systemctl disable cups-browsed.service systemctl disable avahi-daemon.service systemctl disable ModemManager.service
systemctl mask connman systemctl mask wpa_supplicant.service systemctl mask rtkit-daemon
As user
systemctl --user disable pulseaudio.socket systemctl --user disable pulseaudio.service
systemctl --user mask pulseaudio.socket systemctl --user mask pulseaudio.service
Reboot
/sbin/reboot
File system
Follow the B-TREE filesystem guide to setup /dev/sda and mount on /opt
This file system will be used for VMs.
Tools
apt install hdparm apt-file net-tools cpu-checker lshw wireless-tools rfkill
apt-file update
KVM
Setup
Some of these tools will require an X11 server which can be VxSrv on Windows, for example.
apt install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system virt-viewer virtinst virt-manager
User
Add login to group libvirt.
adduser `login' libvirt adduser `login' kvm
Test
setenv DISPLAY excellent:0.0 virt-manager