__TOC__ ====== Tips for installing a Debian/Devuan VM on a BSD bare metal server running vmd ====== ===== Version information ===== * Debian 10.4.0 * Devuan 3.0.0 * OpenBSD 6.7 * 18/6/2020 ===== On BSD bare metal server running vmd ===== ==== Logging on: ==== ssh USERNAME@us5.ircnow.org ==== What’s my vm: ==== grep -B1 -A10 "owner USERNAME" /etc/vm.conf` `vmctl status | grep USERNAME` ==== Disks for my vm: ==== vmctl create -s 16G diskname.qcow2 file diskname.qcow2 ls -lh diskname.qcow2 ==== Control my vm: ==== Start: ''%%vmctl start VMNAME%%''\\ Get in: ''%%vmctl console VMNAME%%''\\ Start and get in: ''%%vmctl start -c VMNAME%%''\\ Get out: ''%%~.%%''\\ Get out without get out ssh: ''%%~~.%%''\\ Graceful shutdown: ''%%vmctl stop VMNAME%%''\\ Cut Power: ''%%vmctl stop -f VMNAME%%''\\ Console messes up the screen: ''%%reset; clear%%''\\ ==== What does my vm boot from? ==== * Guess - MBR (no GPT) of diskname.qcow2 * If invalid, cdrom * Can’t be controlled without root or something idk ’bout ===== Inside my vm ===== ==== Boot parameters ==== == Bad: == /install.amd/vmlinuz priority=low vga=788 initrd=/install.amd/initrd.gz --- === Good: === /install.amd/vmlinuz priority=low DEBIAN_FRONTEND=text initrd=/install.amd/initrd.gz --- console=ttyS0,115200 === Guess: === * system no like video * system no auto find console or console speed * parameter after — will be copied to system boot menu * curses frontend crashes console === Reference: === * Debian Boot Parameters https://www.debian.org/releases/stable/amd64/ch05s03.en.html * Console Crashes For No Reason https://marc.info/?l=openbsd-tech&m=159028442625596&w=2 ==== Sample answers when installing ==== === Initial Menu === Advanced options >> Expert install >> edit boot parameters and boot Protip: Type line at end, then Ctrl+B to edit middle - don’t overshoot! LOL === Pre network questions === How to stop from scrolling off screen? lol.\\ Defaults are fine. === Network questions === No autoconfigure.\\ Static IP address assigned to you hint: ''%%dig VMNAME.us5.ircnow.org%%''\\ Netmask: 255.255.255.0 (default)\\ Gateway: 38.81.163.129 (NOT default)\\ DNS: 8.8.8.8 (NOT default)\\ Timeout for link autodetect - efault of 3 is fine. It never times out anyway if you got it wrong and hangs. LOL\\ Protip: You can never enter the network setup menu (or type < to get out of it) to avoid this.\\ Hostname: Don’t think it matters.\\ DOmain name: Does it have to be us5.ircnow.org???\\ === Pre disk questions === Protip: ''%%openssl rand -base64 12%%'' makes a 16 char password\\ Protip: Save password to a file on bare metal computer and copy paste it in\\ Protip: Ctrl+c or Ctrl+shift+c = xsel -b ; Select with mouse = xsel ; Middle mouse button pastes xsel\\ Protip: Can’t only have ssh key because you need to login from console when network is down!\\ Protip: ''%% printf '%s' 'Binary::apt::APT::Keep-Downloaded-Packages "1";' > /etc/apt/apt.conf.d/99keep-downloaded-packages To trust cdrom: sed -i 's/deb cdrom/deb [trusted=yes] cdrom/' /etc/apt/sources.list To get new kernel: (IMPORTANT!) apt list | egrep 'linux-image.*bpo..-amd64-unsigned' #based on latest above apt install linux-image-5.6.0-0.bpo.2-amd64-unsigned uname -r #still old reboot uname -r #new Now you put your authorized_keys in and switch to ssh instead of console. To see kept .dpkg (to make a local archive later): find /var/cache/apt/archives -name '*.deb' | wc -l du -ah /var/cache/apt/archives | sort -h | tail To find an empty .qcow2 disk to put swap on: lsblk mkswap /dev/DONT_GET_THIS_WRONG lsblk -o name,UUID | grep DONT_GET_THIS_WRONG uuid=$(lsblk -o name,UUID | grep vdc | awk '{print $2}') echo \$uuid #should exist! printf "%s\n" "UUID=$uuid none swap" >> /etc/fstab #applies on reboot swapon /dev/DONT_GET_THIS_WRONG #applies now swapon #verify have swap now To not need password to sudo /etc/sudoers #edit this file with this line USERNAME ALL=(ALL:ALL) NOPASSWD:ALL ===== Packages ===== apt get apt-file