Bintec W20XXax-Firmware in QEMU (Docker): Extraktion, generischer Kernel-Boot, Doku
This commit is contained in:
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# Webinterface-Endpunkt-Test: QEMU im Hintergrund, dann HTTP(S) aus dem Container testen.
|
||||
set -uo pipefail
|
||||
WORK="${WORK:-/build/work}"
|
||||
LOGS="${LOGS:-/build/logs}"
|
||||
WAIT="${WEB_WAIT:-240}"
|
||||
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a53 -m 1024 -smp 1 \
|
||||
-kernel "$WORK/deb-kernel/boot/vmlinuz-6.1.0-50-arm64" \
|
||||
-initrd "$WORK/initramfs.img" \
|
||||
-drive if=virtio,format=raw,file="$WORK/rootfs.ext4" \
|
||||
-netdev user,id=n0,hostfwd=tcp::8080-:80,hostfwd=tcp::8443-:443 \
|
||||
-device virtio-net-pci,netdev=n0 \
|
||||
-no-reboot -nographic \
|
||||
-append "root=/dev/vda rw console=ttyAMA0,115200" \
|
||||
> "$LOGS/boot-webtest.log" 2>&1 &
|
||||
QPID=$!
|
||||
trap 'kill $QPID 2>/dev/null' EXIT
|
||||
echo "QEMU (PID $QPID), warte ${WAIT}s auf Boot + GUI-Start..."
|
||||
sleep "$WAIT"
|
||||
|
||||
echo "=== Port-Tests ==="
|
||||
if wget -q -O /tmp/idx80.html --timeout=8 http://127.0.0.1:8080/; then
|
||||
echo "HTTP 8080: OK, $(wc -c < /tmp/idx80.html) bytes"
|
||||
head -3 /tmp/idx80.html
|
||||
else
|
||||
echo "HTTP 8080: FEHLER"
|
||||
fi
|
||||
if wget -q -O /tmp/idx443.html --no-check-certificate --timeout=8 https://127.0.0.1:8443/; then
|
||||
echo "HTTPS 8443: OK, $(wc -c < /tmp/idx443.html) bytes"
|
||||
head -3 /tmp/idx443.html
|
||||
else
|
||||
echo "HTTPS 8443: FEHLER"
|
||||
fi
|
||||
|
||||
echo "=== GUI-/Netz-Zeilen aus Bootlog ==="
|
||||
grep -aiE 'bevyosgui|eth0|br0|qemu-net' "$LOGS/boot-webtest.log" | tail -12
|
||||
Reference in New Issue
Block a user