5.0 KiB
Installation
If you have a ubuntu iso you want to use then create the libvirt/vm
folder and copy it there to ubuntu20_04.iso
mkdir ~/mirror-env/libvirt/vm
cp <ubuntu iso> ~/mirror-env/libvirt/vm/ubuntu20_04.iso
Note: the libvirt/vm
folder and everything in it will be deleted by cleanup.yml
Prerequisites (debian)
Install QEMU and KVM
$ apt install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system
Install other packages for the playbook
$ apt install ansible cloud-image-utils dnsmasq ovmf python3
Packages I can't tell if you need or not
virtinst
virt-manager
bridge-utils
Then install virt-viewer for the ubuntu install using
$ apt install virt-viewer
Finally add your user to the libvirt
group (may need to logout for this to take effect)
usermod -a -G libvirt <username>
Prerequisites (archlinux)
needs update
$ pacman -S qemu libvirt virt-install virt-viewer ansible
Running the Playbook
Modify the hosts
file to your liking then run
ansible-playbook -K main.yml
Then connect to the created vm using virt-viewer
virt-viewer --connect qemu://system mirror
If vm is on a remote machine
virt-viewer --connect qemu+ssh://<user>@X.X.X.X/system mirror
Follow the steps under Installing Ubuntu before continuing
vm may stop so will need to start with
virsh start mirror
after starting check the ip address of the vm with
virsh net-dhcp-leases mirbr0
and ssh
ssh local@192.168.123.XXX
In the vm switch to root, install some packages, and clone the repo.
$ sudo su
password: password
$ cd
$ apt update && apt upgrade
$ apt install git ansible
$ git clone https://git.csclub.uwaterloo.ca/public/mirror-env.git
Then cd mirror-env/mirror
and follow the README.md
there.
Deleting the VM
The VM and everything related can be removed by running the cleanup.yml
playbook
ansible-playbook -K cleanup.yml
Troubleshooting
virsh -c qemu:///system start mirror
virsh -c qemu:///system net-dhcp-leases mirbr0
net.ipv4.ip_forward = 1
modprobe kvm_intel
If running as root
may need to edit config
# edit /etc/libvirt/qemu.conf
user = "root"
group = "root"
$ service restart libvirtd
Installing Ubuntu
- user: local
- password: password
The system created from following these steps should look like this:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55.4M 1 loop /snap/core18/2128
loop1 7:1 0 32.3M 1 loop /snap/snapd/12704
loop2 7:2 0 70.3M 1 loop /snap/lxd/21029
loop3 7:3 0 32.3M 1 loop /snap/snapd/13170
loop4 7:4 0 61.8M 1 loop /snap/core20/1081
loop5 7:5 0 67.3M 1 loop /snap/lxd/21545
sr0 11:0 1 1024M 0 rom
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 512M 0 part /boot/efi
└─vda2 252:2 0 9.5G 0 part
└─md0 9:0 0 9.5G 0 raid1
└─vg0-root 253:0 0 9.5G 0 lvm /
vdb 252:16 0 10G 0 disk
├─vdb1 252:17 0 512M 0 part
└─vdb2 252:18 0 9.5G 0 part
└─md0 9:0 0 9.5G 0 raid1
└─vg0-root 253:0 0 9.5G 0 lvm /
vdc 252:32 0 10G 0 disk
vdd 252:48 0 10G 0 disk
vde 252:64 0 10G 0 disk
vdf 252:80 0 10G 0 disk
Create a new user with
- username: local
- password: password
You can ignore this error and just press enter
Now you go back to Running the Playbook