| Both sides previous revision Previous revision Next revision | Previous revision |
| docs:guide-user:virtualization:qemu_host [2018/10/13 16:04] – laiclair | docs:guide-user:virtualization:qemu_host [2022/05/30 09:04] (current) – [Download installer files] use https sebastian |
|---|
| ====== Running QEMU guests on OpenWrt ====== | ====== OpenWrt as QEMU/KVM host server ====== |
| |
| ===== Introduction ===== | ===== Introduction ===== |
| It's possible to use OpenWrt as a QEMU host and run guests on it. If you want to run OpenWrt as a QEMU guest, see [[docs:guide-user:virtualization:qemu|OpenWrt in QEMU]]. | It's possible to use OpenWrt as a QEMU host and run guests on it. If you want to run OpenWrt as a QEMU guest itself, see [[docs:guide-user:virtualization:qemu|OpenWrt in QEMU]]. |
| |
| OpenWrt provides QEMU packages for ARM and x86 platforms. This article focuses on the x86 target, the networking is done via [[https://wiki.qemu.org/Features/HelperNetworking|qemu-bridge-helper]]. | OpenWrt provides QEMU packages for ARM and x86 platforms. This article focuses on the x86 target, the networking is done via [[https://wiki.qemu.org/Features/HelperNetworking|qemu-bridge-helper]]. |
| ===== Installing QEMU ===== | ===== Installing QEMU ===== |
| You need the following packages on your device: [[packages:pkgdata_lede17_1:kmod-tun|kmod-tun]], [[packages:pkgdata_lede17_1:qemu-bridge-helper|qemu-bridge-helper]]. Depending on the guest architecture, install [[packages:pkgdata_lede17_1:qemu-x86_64-softmmu|qemu-x86_64-softmmu]] or [[packages:pkgdata_lede17_1:qemu-arm-softmmu|qemu-arm-softmmu]]. If your hardware supports it, also install [[packages:pkgdata_lede17_1:kmod-kvm-amd|kmod-kvm-amd]] or [[packages:pkgdata_lede17_1:kmod-kvm-intel|kmod-kvm-intel]] for better performance. | You need the following packages on your device: [[packages:pkgdata:kmod-tun|kmod-tun]], [[packages:pkgdata:qemu-bridge-helper|qemu-bridge-helper]]. Depending on the guest architecture, install [[packages:pkgdata:qemu-x86_64-softmmu|qemu-x86_64-softmmu]] or [[packages:pkgdata:qemu-arm-softmmu|qemu-arm-softmmu]]. If your hardware supports it, also install [[packages:pkgdata:kmod-kvm-amd|kmod-kvm-amd]] or [[packages:pkgdata:kmod-kvm-intel|kmod-kvm-intel]] for better performance. |
| |
| Example for an Intel system and a x86_64 guest: | Example for an Intel system and a x86_64 guest: |
| ==== Download installer files ==== | ==== Download installer files ==== |
| <code bash> | <code bash> |
| wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux | wget https://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux |
| wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz | wget https://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz |
| </code> | </code> |
| Both files can be savely removed after finishing the installation. | Both files can be savely removed after finishing the installation. |
| Test the the script by running ''/etc/init.d/qemu start'' and look for errors in ''/var/log/qemu.log''. | Test the the script by running ''/etc/init.d/qemu start'' and look for errors in ''/var/log/qemu.log''. |
| If the script works as desired, enable it for every boot: ''/etc/init.d/qemu enable'' | If the script works as desired, enable it for every boot: ''/etc/init.d/qemu enable'' |
| | |
| | FIXME This script needs to be ported to [[:docs:guide-developer:procd-init-scripts|procd]]. Problem: [[:docs:guide-developer:procd-init-scripts#stopping_services|stop_service() is called after procd killed the service]], but we must run it beforehand to let the VM shut down. |