chore: sync all pending changes — kirigami platform headers, cookbook fix, docs, patches
Kirigami: remove stub .cpp, add Qt platform integration headers for QML gate. Matches KDE src/pattern for direct header-only builds. Cookbook: add --no-backup-if-mismatch to patch invocation (fetch.rs). Kernel: consolidate patch chain, add debug-scheme-serial-fix. Docs: archive old audit reports, add CHANGELOG and hardware validation matrix. Update AGENTS.md with Linux reference source policy. Scripts: add test-network-qemu.sh, test-storage-qemu.sh. .gitignore: add local/reference/ exclusion.
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# test-network-qemu.sh — bounded network driver validation in QEMU
|
||||
# Phase 5.1 of CHANGELOG-DRIVER-IMPROVEMENT-PLAN.md
|
||||
set -euo pipefail
|
||||
IMAGE="${1:-build/x86_64/redbear-mini/harddrive.img}"
|
||||
QEMU="${QEMU:-qemu-system-x86_64}"
|
||||
OVMF_CODE="${OVMF_CODE:-/usr/share/edk2/x64/OVMF_CODE.4m.fd}"
|
||||
TIMEOUT="${TIMEOUT:-90}"
|
||||
SERIAL_LOG="/tmp/rbos-net-test-$$.log"
|
||||
|
||||
[ -f "$IMAGE" ] || { echo "FAIL: image not found: $IMAGE"; exit 1; }
|
||||
cp /usr/share/edk2/x64/OVMF_VARS.4m.fd /tmp/fw_vars_net.bin 2>/dev/null
|
||||
|
||||
echo "=== Network Driver Validation ==="
|
||||
|
||||
timeout "$TIMEOUT" "$QEMU" -M q35 -m 2G -smp 2 \
|
||||
-drive file="$IMAGE",format=raw \
|
||||
-drive if=pflash,format=raw,readonly=on,file="$OVMF_CODE" \
|
||||
-drive if=pflash,format=raw,file=/tmp/fw_vars_net.bin \
|
||||
-serial file:"$SERIAL_LOG" -display none -no-reboot \
|
||||
-netdev user,id=net0 -device virtio-net-pci,netdev=net0 \
|
||||
-netdev user,id=net1 -device e1000,netdev=net1 \
|
||||
-d guest_errors 2>/dev/null &
|
||||
QEMU_PID=$!
|
||||
sleep $((TIMEOUT - 10))
|
||||
|
||||
PASS=0
|
||||
grep -q 'virtio-net:.*MAC' "$SERIAL_LOG" && echo "PASS: virtio-net started" && PASS=$((PASS+1)) || echo "FAIL: virtio-net not started"
|
||||
grep -q 'DHCP' "$SERIAL_LOG" && echo "PASS: DHCP client started" && PASS=$((PASS+1)) || echo "FAIL: DHCP not started"
|
||||
kill $QEMU_PID 2>/dev/null; wait $QEMU_PID 2>/dev/null
|
||||
echo "=== Results: $PASS/2 checks passed ==="
|
||||
rm -f /tmp/fw_vars_net.bin "$SERIAL_LOG"
|
||||
[ $PASS -ge 2 ] && exit 0 || exit 1
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
# test-storage-qemu.sh — bounded storage driver validation in QEMU
|
||||
# Phase 5.1 of CHANGELOG-DRIVER-IMPROVEMENT-PLAN.md
|
||||
set -euo pipefail
|
||||
IMAGE="${1:-build/x86_64/redbear-mini/harddrive.img}"
|
||||
QEMU="${QEMU:-qemu-system-x86_64}"
|
||||
OVMF_CODE="${OVMF_CODE:-/usr/share/edk2/x64/OVMF_CODE.4m.fd}"
|
||||
OVMF_VARS="${OVMF_VARS:-build/x86_64/redbear-mini/fw_vars.bin}"
|
||||
TIMEOUT="${TIMEOUT:-90}"
|
||||
SERIAL_LOG="/tmp/rbos-storage-test-$$.log"
|
||||
|
||||
[ -f "$IMAGE" ] || { echo "FAIL: image not found: $IMAGE"; exit 1; }
|
||||
cp "$OVMF_VARS" /tmp/fw_vars_test.bin 2>/dev/null || cp /usr/share/edk2/x64/OVMF_VARS.4m.fd /tmp/fw_vars_test.bin
|
||||
|
||||
echo "=== Storage Driver Validation ==="
|
||||
echo "Image: $IMAGE"
|
||||
echo ""
|
||||
|
||||
timeout "$TIMEOUT" "$QEMU" -M q35 -m 2G -smp 2 \
|
||||
-drive file="$IMAGE",format=raw \
|
||||
-drive if=pflash,format=raw,readonly=on,file="$OVMF_CODE" \
|
||||
-drive if=pflash,format=raw,file=/tmp/fw_vars_test.bin \
|
||||
-serial file:"$SERIAL_LOG" -display none -no-reboot \
|
||||
-netdev user,id=net0 -device virtio-net-pci,netdev=net0 \
|
||||
-d guest_errors 2>/dev/null &
|
||||
QEMU_PID=$!
|
||||
sleep $((TIMEOUT - 10))
|
||||
|
||||
PASS=0
|
||||
grep -q 'AHCI.*Serial:' "$SERIAL_LOG" && echo "PASS: AHCI disk detected" && PASS=$((PASS+1)) || echo "FAIL: AHCI disk not detected"
|
||||
grep -q 'switchroot' "$SERIAL_LOG" && echo "PASS: switchroot to /usr" && PASS=$((PASS+1)) || echo "FAIL: no switchroot"
|
||||
kill $QEMU_PID 2>/dev/null; wait $QEMU_PID 2>/dev/null
|
||||
echo ""
|
||||
echo "=== Results: $PASS/2 checks passed ==="
|
||||
rm -f /tmp/fw_vars_test.bin "$SERIAL_LOG"
|
||||
[ $PASS -ge 2 ] && exit 0 || exit 1
|
||||
Reference in New Issue
Block a user