__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