-
Notifications
You must be signed in to change notification settings - Fork 4
/
README.xen_install
59 lines (54 loc) · 3.13 KB
/
README.xen_install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Instructions on how to install Xen and launch a guest on a system running a stock version of the Ubuntu 16.04 desktop.
# Ensure that new system is installed with an unformatted separate partition or hard drive; in this case, /dev/sda2
# If PV and LV already exist, skip this -- otherwise...
sudo apt install lvm2
sudo pvcreate /dev/sda2 # Whatever the name of your physical volume is. Either have a separate hard drive, or have a separate volume created during installation.
sudo vgcreate vgpool /dev/sda2
sudo lvcreate -L 4G -n ubuntu-live-basic_guest_headers_build_tools vgpool
# Optional -- have apt only use IPv4 if it's slow
echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4
sudo apt update -y ; sudo apt upgrade -y
sudo apt install openssh-server gettext bcc iasl uuid-dev libyajl-dev libpixman-1.dev liblzma-dev python-dev ncurses-dev libglib2.0-dev libaio-dev g++-multilib markdown pandoc xfig bridge-utils -y
subo reboot
# <Clone>
git clone --recurse-submodules https://github.com/ainfosec/ecr_hypervisor.git ; cd ecr_hypervisor
# Apply the ecr_hypervisor.patch to Xen. You can find the code for Xen under the xenbits folder, at the proper commit.
cd xenbits
patch -p1 < ../ecr_hypervisor.patch
./configure
make xen ; make tools
make install-xen ; make install-tools
# Only use if shared objects don't resolve:
sudo ln -s /usr/lib/x86_64-linux-gnu/libxlutil-4.6.so /usr/lib/x86_64-linux-gnu/libxlutil.so.4.10
sudo ln -s /usr/lib/x86_64-linux-gnu/libxenlight-4.6.so /usr/lib/x86_64-linux-gnu/libxenlight.so.4.10
sudo ln -s /usr/local/lib/libxentoollog.so.1 /usr/lib/libxentoollog.so.1
sudo vim /etc/network/interfaces
# Add to file (change eno1 to whatever ethernet interface is connected -- we're not bothering with wireless):
auto lo
iface lo inet loopback
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eno1
sudo vim /etc/NetworkManager/NetworkManager.conf
Change:
managed=false
To:
managed=true
sudo mv /etc/grub.d/20_linux_xen /etc/grub.d/09_linux_xen
sudo update-grub
sudo systemctl enable xencommons
sudo systemctl enable xendomains
sudo systemctl enable xen-watchdog
sudo ldconfig
sudo reboot # Reboot if lsmod doesn't show the xen KOs. Otherwise: 'sudo /etc/init.d/networking restart'
# We used a Samba share to hold our guest VMs; these instructions show how to access the images. You must find this image elsewhere, or contact us if you want a nice Ubuntu image that boots cleanly from the command-line.
sudo apt install smbclient cifs-utils -y
smbclient -L //10.1.10.201/Images -U someuser # List all shares
smbclient //10.1.10.201/Images -U someuser # Connect
# <Ctrl+C out>
sudo mkdir /mnt/temp ; sudo mount -t cifs -o username=someuser //10.1.10.201/Images /mnt/temp
sudo xl create /mnt/temp/ubuntu-live-basic_guest_headers_build_tools.cfg ; sudo xl console ubuntu-live-basic_guest_headers_build_tools
# Login as root or someuser
# IP should already be available, with SSH access. At this point, I usually get the IP, logout, and then SSH back in to the guest with that IP