User:CandyAngel/KVM Host Tutorial

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This material is work-in-progress ...

Instructions may be unexplained.
(Last edited by Sertonix on 24 Aug 2023.)

Warning: These instructions are incomplete. The goal setup is not achievable by following them.


Goal setup:

Alpine Linux as KVM host on LVM on RAID1 on GPT disks.
Windows as KVM guest, with VGA passthrough (gaming).
Linux as KVM guest.

Instructions

  • Boot Alpine
  • Log in as root
Note: When prompted for what disk to use, select 'none'.

setup-alpine

Variables

export _DRIVE1=/dev/sdb export _DRIVE2=/dev/sde

Partitioning

apk add gptfdisk gdisk $_DRIVE1

o y n 1 +128M n 2 +930G x a 1 2 w y

sgdisk $_DRIVE1 -R $_DRIVE2 sgdisk -G $_DRIVE2

RAID1

modprobe raid1 echo raid1 >> /etc/modules apk add mdadm mdadm --create --level=1 --raid-devices=2 --metadata=1.0 /dev/md1 ${_DRIVE1}1 ${_DRIVE2}1 mdadm --create --level=1 --raid-devices=2 /dev/md2 ${_DRIVE1}2 ${_DRIVE2}2

y

mdadm --detail --scan > /etc/mdadm.conf rc-update add mdadm-raid boot

LVM

apk add lvm2 e2fsprogs syslinux pvcreate /dev/md2 vgcreate vg0 /dev/md2 lvcreate -n alpine-host -L 8G vg0 vgchange -ay rc-update add lvm

Filesystems

mkfs.ext3 /dev/md1 mkfs.ext3 /dev/vg0/alpine-host mount -t ext3 /dev/vg0/alpine-host /mnt mkdir /mnt/boot mount -t ext3 /dev/md1 /mnt/boot

Install Alpine

setup-disk -m sys /mnt

Install MBR

dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=${_DRIVE1} dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=${_DRIVE2}

Reboot

reboot

Sudo

apk add sudo visudo

  • Uncomment # %wheel ALL=(ALL) ALL

:wq

Add user

export _USER=candyangel adduser $_USER addgroup $_USER wheel exit

Setup X

sudo setup-xorg-base sudo apk add xf86-video-intel echo i915

  • Add 'kms' before 'ata'

:wq sudo mkinitfs sudo reboot sudo apk add fluxbox st echo exec startfluxbox > .xinitrc

Note: While in fluxbox, start a terminal by pressing Alt+F2 and running 'st'

KVM

sudo modprobe kvm-intel sudo addgroup candyangel kvm exit

QEMU

sudo apk add qemu-system-x86_64 qemu-gtk

Alpine Guest

wget http://wiki.alpinelinux.org/cgi-bin/dl.cgi/v3.2/releases/x86_64/alpine-3.2.3-x86_64.iso sudo lvcreate -n alpine-guest -L8G vg0 sudo chown candyangel:candyangel /dev/vg0 alpine-guest qemu-system-x86_64-gtk -enable-kvm -cpu host -m 1024 -drive file=/dev/vg0/alpine-guest,format=raw,cache=none -cdrom alpine-3.2.3-x86_64.iso

  • Install Alpine as desired

apk add gvncviewer qemu-system-x86_64 -enable-kvm -cpu host -m 1024 -vga qxl -drive file=/dev/vg0/alpine-guest,format=raw,cache=none -usb -usbdevice tablet

Note: Install 'xf86-video-qxl' in the Alpine guest