Notwendige Pakete

Erstmal nur für Ubuntu/Debian (müsste aber überall laufen, wenn libvirt/KVM läuft): Details: https://help.ubuntu.com/community/KVM/Installation

% sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils 

(virt-manager ist nicht notwendig, aber praktisch)

Testen ob es klappt als Nutzer:

% virsh -c qemu:///system list
 Id Name                 State
----------------------------------

Wenn Permission denied Fehler auftreiten die Berechtigungen überprüfen.

% sudo adduser `id -un` libvirtd
Adding user '<username>' to group 'libvirtd' ...

Dann neu einloggen.

Netzwerk

Dokumentation: http://wiki.libvirt.org/page/Networking

Es müsste ein default Netzwerk existieren:

% virsh net-list --all
 Name                 State      Autostart     Persistent
 ----------------------------------------------------------
 default              active     yes           yes

Falls nicht müsste es eine default.xml für die Netzwerk-Konfiguration geben z.B. unter /etc/libvirt/qemu/default.xml

Beispiel für default.xml:

Das ist ein Netz was NAT macht und IP-Adressen aus dem 192.168.122.0/24 Subnetz per DHCP verteilt:

<network>
  <name>default</name>
  <uuid>7e1acad5-bbfa-4093-9c76-318f957dbe6e</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:98:1c:06'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

Falls nicht, kann man das Netzwerk von Hand aufsetzen (default.xml ist z.B. in /tmp/default.xml:

% virsh net-define /tmp/default.xml
Network default defined from /tmp/default.xml
# virsh net-autostart default
Network default marked as autostarted
# virsh net-start default
Network default started

Jetzt brauchen wir noch ein Netz für Freifunk:

IP, MAC und Netz können beliebig verändert werden:

<network>
  <name>ffnet</name>
  <bridge stp='on' delay='0'/>
  <mac address='52:54:00:9c:e1:b4'/>
  <ip address='10.63.254.254' netmask='255.255.0.0'>
  </ip>
</network>

Dieses Netzwerk fügen wir jetzt mit virsh hinzu:

% virsh net-define /tmp/ffnet.xml
Network ffnet defined from /tmp/ffnet.xml
% virsh net-autostart ffnet
Network ffnet marked as autostarted
% virsh net-start ffnet
Network ffnet started

Jetzt haben wir ein Netzwerk mit der IP 10.63.254.254 was wir an die OpenWRT-VM docken können.

OpenWRT

make menuconfig 

 Target System -> x86
 Subtarget -> x86_64 

 Kernel Modules -> Wireless Drivers -> kmod-mac80211-hwsim -> [x]

Package Feeds, Pakete alles weitere konfigurieren…

Image bauen:

make 

Jetzt müssten in openwrt/bin/x86/ die Images liegen.

Uns interessiert: openwrt-x86-64-combined-ext4.img.gz

Erstmal entpacken:

% gunzip openwrt-x86-64-combined-ext4.img.gz