diff --git a/arch-vm.md b/arch-vm.md new file mode 100644 index 0000000..b58951e --- /dev/null +++ b/arch-vm.md @@ -0,0 +1,154 @@ +# installing Arch on a VM + +This is a basic set of instructions for installing Arch on a virtual machine. + +# starting steps + +Boot up the latest Arch install disk from PXE or an `iso` file. + +Find which disk partition you are installing on. For the purpose of this documentation, the disk is `/dev/vda`, but it may be different. + +``` +lsblk +``` + +Run parted and make a partition. This is for MBR. + +``` +parted /dev/vda +(parted) mklabel msdos +(parted) mkpart p ext4 1M 100% +(parted) quit +``` + +Create the filesystem + +``` +mkfs.ext4 /dev/vda1 +``` + +Mount the filesystem. + +``` +mount /dev/vda1 /mnt +``` + +Edit the mirrorlist + +``` +vim /etc/pacman.d/mirrorlist +``` + +Add the following line: + +``` +Server = http://128.153.145.19/archlinux/$repo/os/$arch +``` + +Pacstrap the base system (base is `base` system, `base-devel` is gcc and some build tools, `vim` for editor, `htop` for stuff, `git` for aur, `grub` for bootloader, `go` for `yay` later) + +``` +pacstrap /mnt base base-devel vim htop git grub go +``` + +Wait. + + +Stop waiting. Install fstab + +``` +genfstab -U /mnt > /mnt/etc/fstab +``` + +Chroot + +``` +arch-chroot /mnt /bin/bash +``` + +Install `grub`. + +``` +grub-mkconfig -o /boot/grub/grub.cfg +grub-install /dev/vda +# notice, not /dev/vda1. This is the disk, not the partition. +``` + +Set password. Use the VMSSMP for COSI infrastructure. + +``` +passwd +``` + +Configure networking. Find the network interface. Something with `NO CARRIER` is probably *not* it. It may have an IPv6 global address and perhaps a COSI IPv4 address already. + +``` +ip -c a +``` + +Change to the `netctl` folder, copy static ethernet example.s + +``` +cd /etc/netctl +cp examples/ethernet-static ethernet +``` + +Edit the ethernet file. + +``` +vim ethernet +``` + +Typical contents + +``` +Description='A basic statc ethernet connection' +Interface=ens3 +Connection=ethernet +IP=static +Address=('128.153.145.23/24') +Gateway='128.153.145.1' +DNS=('128.153.145.3') +``` + +Enable that, document IP addresses if on COSI infrastructure. + +``` +netctl enable ethernet +``` + +Edit hostname + +``` +vim /etc/hostname +``` + +We're done. Exit and reboot. Remove bootable media if applicable. + +``` +exit +reboot +``` + +If you screw up, feel free to reboot into the live media, and then you can chroot into the system to fix it after mounting it. + +Don't forget to create the `cslabadmin` user. `openssh` server is also probably good - typically the only edits are to enable `Listen 0.0.0.0` and `Port 13699`. + +Random commands useful to doing things: + +``` +# create user +useradd +# create group +groupadd +# add user to group +gpasswd -a +# set default editor to Vim +export EDITOR=vim +# add sudo group to sudoers +visudo +# get and install yay (AUR package manager) +git clone https://aur.archlinux.org/yay.git +cd yay +makepkg -i +```