2.7 KiB
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-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg
# 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 <username>
# create group
groupadd <group>
# add user to group
gpasswd -a <username> <groupname>
# 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