Qemu-simple: Difference between revisions
(improve test, add resolv.conf) |
m (alpinelinux to Alpine Linux) |
||
Line 7: | Line 7: | ||
# Install Qemu and its dependencies. | # Install Qemu and its dependencies. | ||
# Download Alpinelinux ISO and required files. | # Download Alpinelinux ISO and required files. | ||
# Start a Qemu instance of | # Start a Qemu instance of Alpine Linux ISO. | ||
# Test basic networking. | # Test basic networking. | ||
Line 17: | Line 17: | ||
# RAM: 8GB | # RAM: 8GB | ||
==== Install | ==== Install Alpine Linux ==== | ||
# Diskless installs (Ram based) | # Diskless installs (Ram based) | ||
# SYS installs | # SYS installs | ||
{{tip| - for further setup to work correctly, its assumed that | {{tip| - for further setup to work correctly, its assumed that Alpine Linux installed in done for version between ''v3.21.x and v3.22.x''}} | ||
{{Pill||v3.21.x-v3.22.x|cadetblue|lightblue}} | {{Pill||v3.21.x-v3.22.x|cadetblue|lightblue}} | ||
Line 29: | Line 29: | ||
{{Pill||v3.21.x-v3.22.x|cadetblue|lightblue}} | {{Pill||v3.21.x-v3.22.x|cadetblue|lightblue}} | ||
==== Download | ==== Download Alpine Linux ISO and required files ==== | ||
{{Cmd2| # cd ~ | {{Cmd2| # cd ~ | ||
# wget https://cdn.alpinelinux.org/v3.22/releases/x86_64/alpine-extended-3.22.0-x86_64.iso | # wget https://cdn.alpinelinux.org/v3.22/releases/x86_64/alpine-extended-3.22.0-x86_64.iso | ||
}} | }} | ||
==== Start a Qemu instance of | ==== Start a Qemu instance of Alpine Linux ISO ==== | ||
# Basic setup (with ssh forwarding) | # Basic setup (with ssh forwarding) | ||
# Basic tap setup | # Basic tap setup | ||
Line 45: | Line 45: | ||
## Simple setup (manually) | ## Simple setup (manually) | ||
## no root privileges needed | ## no root privileges needed | ||
## QEMU emulator version 10.0.0 ( | ## QEMU emulator version 10.0.0 (Alpine Linux) #### | ||
## ------------------------------------------------- | ## ------------------------------------------------- | ||
ISO=alpine-extended-3.22.0-x86_64.iso | ISO=alpine-extended-3.22.0-x86_64.iso | ||
Line 72: | Line 72: | ||
## Manual setup with defaults and no preset scripts | ## Manual setup with defaults and no preset scripts | ||
## Works in root | ## Works in root | ||
## QEMU emulator version 10.0.0+ ( | ## QEMU emulator version 10.0.0+ (Alpine Linux) #### | ||
## modprobe tun # needed if not loaded already | ## modprobe tun # needed if not loaded already | ||
## ------------------------------------------------- | ## ------------------------------------------------- |
Revision as of 20:36, 28 August 2025
Setup walkthrough
Basic setup that gets you going, you would still need to read main Qemu documentations for advanced features.
Objective
- Install Alpinelinux.
- Install Qemu and its dependencies.
- Download Alpinelinux ISO and required files.
- Start a Qemu instance of Alpine Linux ISO.
- Test basic networking.
Test bed
WIP
- Describe here the test bed/setup used to run the scripts below.
- MODEL: Dell Laptop.
- CPU: Intel i5 3rd/4th generation with virtualization enabled.
- RAM: 8GB
Install Alpine Linux
- Diskless installs (Ram based)
- SYS installs
Tip: - for further setup to work correctly, its assumed that Alpine Linux installed in done for version between v3.21.x and v3.22.x
v3.21.x-v3.22.x
Install Qemu and its dependencies
# apk add qemu qemu-img qemu-system-x86_64 qemu-ui-gtk
# modprobe tun
v3.21.x-v3.22.x
Download Alpine Linux ISO and required files
# cd ~ # wget https://cdn.alpinelinux.org/v3.22/releases/x86_64/alpine-extended-3.22.0-x86_64.iso
Start a Qemu instance of Alpine Linux ISO
- Basic setup (with ssh forwarding)
- Basic tap setup
v3.21.x-v3.22.x
Basic setup (with ssh forwarding)
#!/bin/sh ## ------------------------------------------------- ## Simple setup (manually) ## no root privileges needed ## QEMU emulator version 10.0.0 (Alpine Linux) #### ## ------------------------------------------------- ISO=alpine-extended-3.22.0-x86_64.iso qemu-system-x86_64 -enable-kvm -m 2048M -cdrom ${ISO} \ -device virtio-net,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp::5555-:22 \ -nographic -display curses \ -boot d ## ---- ## on GUEST # ifconfig eth0 10.0.2.15 # route add default gw 10.0.2.2 # busybox ping 10.0.2.2 ## assuming your HOST gateway is 192.168.1.1 # echo 'nameserver 192.168.1.1' > /etc/resolv.conf # busybox ping alpinelinux.org ## -------------------------------------------------
v3.21.x-v3.22.x
Basic tap setup
#!/bin/sh ## ------------------------------------------------- ## Manual setup with defaults and no preset scripts ## Works in root ## QEMU emulator version 10.0.0+ (Alpine Linux) #### ## modprobe tun # needed if not loaded already ## ------------------------------------------------- ISO=alpine-extended-3.22.0-x86_64.iso qemu-system-x86_64 -enable-kvm -m 2048M -cdrom ${ISO} \ -device virtio-net,netdev=nd0 \ -netdev tap,id=nd0,ifname=tap0,script=no,downscript=no \ -nographic -display curses \ -boot d ## ---- ## on HOST # ifconfig tap0 10.0.2.2 ## on GUEST # ifconfig eth0 10.0.2.15 # route add default gw 10.0.2.2 ## ---- ## TEST (HOST) - IMPORTANT: remove firewall if any # nc -l 1234 > filename.out ## TEST (GUEST) # echo -e "aaa\nbbb" > test.txt # nc 10.0.2.2 1234 < test.txt ## TEST (HOST) # cat filename.out ## -------------------------------------------------