commit 6ac7e6b305e4a8d8325a3e2e7e6aa98bef4e89fa Author: krjan02 Date: Wed Sep 16 21:47:42 2026 +0200 Bintec W20XXax-Firmware in QEMU (Docker): Extraktion, generischer Kernel-Boot, Doku diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0cea07f --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Propriaere Firmware (Lizenz: nur von Bintec/Teldat selbst beziehen) +firmware/ + +# Generierte Arbeitsartefakte (vollstaendig reproduzierbar via extract.sh + build-generic.sh) +work/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cb62ac3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +# Dockerfile fuer Bintec W20XXax Firmware-Extraktion + QEMU-Bootversuche +# Host bleibt unberuehrt; alles laeuft als unprivilegierter Container (TCG). +FROM debian:bookworm-slim + +RUN apt-get update && apt-get install -y --no-install-recommends \ + bash \ + coreutils \ + file \ + wget \ + ca-certificates \ + python3 \ + xz-utils \ + zstd \ + xxd \ + cpio \ + e2fsprogs \ + squashfs-tools \ + binwalk \ + device-tree-compiler \ + ipxe-qemu \ + kmod \ + qemu-system-arm \ + nano \ + less \ + && rm -rf /var/lib/apt/lists/* + +ENV QEMU_AUDIO_DRV=none +WORKDIR /work + +CMD ["/bin/bash"] diff --git a/PLAN.md b/PLAN.md new file mode 100644 index 0000000..a620561 --- /dev/null +++ b/PLAN.md @@ -0,0 +1,74 @@ +# Plan: Bintec W20XXax-Firmware in QEMU booten (in Docker) + +Datum: 2026-09-16 +Status: Genehmigt + +## Ziel +Firmware-Image WiFi6_System_Software_v3.6.1.2.img in QEMU booten. +Alles in Docker (Host x86_64, Docker 29.7.2, TCG-Emulation ohne KVM), +Arbeitsdaten vollständig im Projektordner qemu-fw-docker/. + +## Fakten (bereits verifiziert) +- Image: bintec_W2044ax_W2022ax/current_software_and_open_source/v3.6.1.2/WiFi6_System_Software_v3.6.1.2.img + (identisch verfügbar als v3.6.1.1 und im OSDx-Dist-TGZ als full_kaio_v3.6.1.2.img) +- Plattform "kaio" = Qualcomm IPQ60xx, QSDK 11.4, ARM64 (Cortex-A53), U-Boot 11.4-1-2016.01 +- Image ist Full-Flash-Dump: u-boot.sbl, SBL1 (Qcom-Attest), FIT-Image + (kernel@1 + fdt@w2044ax), SquashFS-RootFS bei Offset 0x18c7854 (xz) +- QEMU hat KEIN IPQ60xx-Maschinenmodell -> Original-Image direkt bootet nicht. + Weg: RootFS extrahieren + generischen ARM64-Kernel in -M virt booten. + +## Artefakte auf Host (nur in bintec-ap/qemu-fw-docker/) +- Dockerfile : debian:bookworm-slim + squashfs-tools, binwalk, qemu-system-arm, + python3, e2fsprogs, xz-utils, file, wget, cpio +- extract.sh : carve FIT + SquashFS (Offset 0x18c7854), unsquashfs -> work/rootfs/, + Inventur (/etc/os-release, libc, init, Webserver) +- boot-native.sh : Versuch 1 Original-Kernel +- boot-generic.sh : Versuch 2 generischer Kernel +- logs/ : Serial-Outputs, Inventur-Report + +## Phase 1 - Container + docker build -t bintec-fw qemu-fw-docker/ +Volume: ./qemu-fw-docker/work als /work im Container. + +## Phase 2 - Extraktion (im Container, liest .img nur read-only) +1. SquashFS carve: dd from 0x18c7854 bis bytes_used (Superblock auslesen) +2. unsquashfs -d /work/rootfs +3. FIT (kernel@1 + fdt@w2044ax) carven -> /work/kernel.img, /work/w2044ax.dtb +4. Inventur: os-release, libc (musl/glibc/uclibc via file), /etc/init*, Webserver + +## Phase 3 - Versuch 1: Original-QSDK-Kernel (Debugging-/Doku-Wert) + qemu-system-aarch64 -M virt -cpu cortex-a53 -m 512 \ + -kernel /work/kernel.img -dtb /work/w2044ax.dtb -nographic \ + -append "console=ttyAMA0" +Erwartung: frueher Crash/Stillstand (RPM/PMIC/SMEM/Clocks fehlen) -> Log dokumentieren. + +## Phase 4 - Versuch 2 (Hauptweg): generischer Kernel + extrahiertes RootFS +1. linux-image-*-arm64 .deb von deb.debian.org laden, dpkg-deb -x (arch-agnostisch) +2. Config-Check: CONFIG_EXT4_FS / CONFIG_VIRTIO_BLK / CONFIG_SQUASHFS + - alle =y -> direkt booten + - teilweise =m -> Mini-Initramfs (arm64 static busybox + fehlende Module + init) + - unpraktikabel -> eigener Kernel-Build im Container + (cross: linux-source, virt_defconfig + EXT4/SQUASHFS/VIRTIO/PL011 =y, ~20-40 min) +3. mkfs.ext4 -d /work/rootfs /work/rootfs.ext4 (ohne Root moeglich) +4. qemu-system-aarch64 -M virt -cpu cortex-a53 -m 512 \ + -kernel /work/vmlinuz \ + -drive if=virtio,format=raw,file=/work/rootfs.ext4 \ + -netdev user,id=n0 -device virtio-net-pci,netdev=n0 \ + -nographic -append "root=/dev/vda rw console=ttyAMA0" +Realistisch: Serial-Console, Init/Busybox/Shell kommt hoch. WiFi/Switch-Module +laden nicht (vermagic-Mismatch, AP-Hardware fehlt). OSDx-Software beobachtbar. + +## Phase 5 - Fallbacks (falls Init scheitert) +- Usermode im Container: qemu-aarch64 -L /work/rootfs /work/rootfs/usr/bin/ +- RootFS-Binaries einzeln starten; ggf. fehlende /dev-Entries nachlegen + +## Erfolgskriterien +- Versuch 2 erreicht Serial-Console mit Shell/Init-Log +- Logs + Inventur liegen in qemu-fw-docker/logs/ +- Host unveraendert ausser qemu-fw-docker/ + +## Risiken +- TCG langsam: Boot 2-5 min +- Debian-Kernel evtl. init-Probleme mit QSDK-RootFS (openrc/procd-Varianten) +- Falls RootFS SquashFS-xz mit komischen Flags hat: binwalk-Loopmount nicht + noetig, unsquashfs deckt xz ab diff --git a/README.md b/README.md new file mode 100644 index 0000000..683583f --- /dev/null +++ b/README.md @@ -0,0 +1,270 @@ +# Bintec W20XXax-Firmware in QEMU (Docker) – Emulations- und Analyse-Umgebung + +Die AP-Firmware (Bintec W2022ax / W2044ax, "Wanda Wave 2") laeuft **nicht** direkt +in QEMU: Sie ist fuer einen Qualcomm IPQ60xx-SoC ("kaio") gebaut, und QEMU hat +dafuer **kein Maschinenmodell**. Der Weg der Emulation ist daher: + +> Firmware auseinandernehmen -> RootFS extrahieren -> RootFS mit generischem +> Debian-arm64-Kernel in `qemu-system-aarch64 -M virt` booten -> Webinterface + CLI beobachten + +Das gesamte Setup laeuft unprivilegiert in Docker (TCG-Emulation, kein KVM, +keine Root-Rechte auf dem Host noetig). Alles liegt in diesem Ordner +(`qemu-fw-docker/`), der Host bleibt unveraendert. + +## Ergebnis + +``` +root@osdx:/# uname -a +Linux osdx 6.1.0-50-arm64 #1 SMP Debian 6.1.176-1 aarch64 GNU/Linux +``` + +- Das OSDx-System bootet bis zur interaktiven **Root-Shell** auf der Serial-Console +- Das originale **Webinterface** antwortet (Login-Seite "bintec Wanda Wave 2", + XML/XSL-GUI ueber esi.cgi) auf Port 80 und 443 +- SSH ist erreichbar (Port 22 in der VM) +- `poweroff`/`reboot` in der VM funktionieren sauber (Reboot-Loop ist entschaeft) + +## Schnellstart (VM + Webinterface) + +```bash +cd qemu-fw-docker +docker build -t bintec-fw . # einmalig +./start-vm.sh # VM als Container "bintec-vm" starten +``` + +Nach ~2-3 Minuten Boot: + +| Zugang | Adresse | Anmerkung | +|---------------------|--------------------------------|-------------------------------| +| Webinterface HTTP | http://localhost:8080 | | +| Webinterface HTTPS | https://localhost:8443 | self-signed Zertifikat | +| SSH | ssh -p 2222 localhost | root/leer bzw. admin | +| Serial (lesend) | docker logs -f bintec-vm | | +| Serial (interaktiv) | docker attach bintec-vm | abkoppeln: Strg+P dann Strg+Q | +| Stoppen | docker stop bintec-vm && docker rm bintec-vm | | + +Serial-Login: die VM startet direkt in eine Root-Shell auf ttyAMA0 +(keine Anmeldung noetig). + +## Von der Firmware zum lauffaehigen System (kompletter Ablauf) + +### Schritt 0: Firmware-Paket besorgen + +Es gibt zwei Paketformen (beide von Bintec/Teldat, Inhalt identisch): + +| Paket | Inhalt | Aufbereitung | +|-------|--------|--------------| +| `WiFi6_System_Software_vX.Y.Z.img` | Full-Flash-Image, direkt verwendbar | kopieren nach `firmware/` | +| `OSDx_dist_W20XXax_vX.Y.Z.tgz` | Tar-Archiv mit `full_kaio_vX.Y.Z.img` + `README.txt` + `version_map.txt` | entpacken, .img nach `firmware/` | + +Falls das Paket als Tar kommt: + +```bash +tar xzf OSDx_dist_W20XXax_v3.6.1.2.tgz +# -> full_kaio_v3.6.1.2.img (identisch zur .img-Variante) +mkdir -p firmware && cp full_kaio_v3.6.1.2.img firmware/ +``` + +Die `version_map.txt` im Archiv sagt, welche img-Datei zu welchem AP-Modell +gehoert (W2022ax / W2044ax / APR2044ax verwenden alle dasselbe `full_kaio`-Image). + +### Schritt 1: Container-Image bauen (einmalig) + +```bash +cd qemu-fw-docker +docker build -t bintec-fw . +``` + +### Schritt 2: Firmware zerlegen (Phase 2) + +```bash +docker run --rm \ + -v "$PWD:/build" \ + -v "$PWD/firmware:/input:ro" \ + bintec-fw /build/extract.sh /input/.img +``` + +Was passiert: +1. `carve.py` sucht das SquashFS (versionsunabhaengig per Magic + Plausibilitaets- + pruefung, uebernimmt aber den bekannten Offset von v3.6.1.2 als Direkttreffer) + und schneidet es aus: `work/rootfs.squashfs` +2. Das FIT-Image (ARM64-Kernel gzip + Device-Trees) wird als FDT geparst: + `work/kernel.img` (bootfaehig), `work/kernel.raw`, `work/.dtb` +3. `unsquashfs` -> `work/rootfs/` (Debian-Userspace) +4. Inventur nach `logs/inventory.txt` (OS-Version, Dienste, GUI-Pfade, Module) + +### Schritt 3: Boot-Artefakte bauen (Phase 4a) + +```bash +docker run --rm -v "$PWD:/build" bintec-fw /build/build-generic.sh +``` + +- laedt Debian-arm64-Kernel (`linux-image-*-arm64`, bookworm) + arm64-busybox +- baut Mini-Initramfs (virtio/ext4/crc32c-Module + switch_root) +- kopiert RootFS nach `work/rootfs-generic/`, legt alle Emulations-Anpassungen + an (siehe Tabelle unten) und verpackt alles nach `work/rootfs.ext4` +- Schritte 2+3 sind idempotent und duerfen wiederholt werden + +### Schritt 4: Booten + +```bash +./start-vm.sh # Dauerbetrieb + Webinterface +# oder mit Log-Tail: +docker run --rm -v "$PWD:/build" bintec-fw /build/boot-generic.sh +``` + +### Andere Firmware-Versionen emulieren + +- `carve.py` ist generisch gehalten: SquashFS wird ueber Magic+Superblock- + Pruefung gesucht, das FIT ueber `kernel@1` + beliebiges `fdt@*`-Node + (bevorzugt w2044ax). Getestet gegen v3.6.1.1 und v3.6.1.2 (`archive_.../`). +- Ablauf fuer eine neue Version: img in `firmware/` legen, Schritte 2-4 wiederholen. + `work/` vorher optional leeren (`rm -rf work/rootfs* work/kernel* work/fit.img`). +- Achtung: `work/rootfs.ext4` ist versionsspezifisch – nach dem Wechsel auf + jeden Fall Schritt 3 neu ausfuehren. +- Falls eine kuenftige Version eine andere FIT-Struktur nutzt, verraten das + `logs/carve.log` (Kandidaten + Metadaten) und `binwalk firmware/`. + +## Ordnerinhalt + +``` +qemu-fw-docker/ +├── firmware/ +│ └── WiFi6_System_Software_v3.6.1.2.img Original-Firmware (143 MB, md5 bb4c065e...) +├── Dockerfile Container: Debian bookworm-slim + QEMU/Tools +├── carve.py Firmware-Carver: SquashFS + FIT (Kernel/DTB) extrahieren +├── extract.sh Phase 2: Firmware zerlegen + Inventur (erwartet /input/*.img) +├── build-generic.sh Phase 4: Debian-Kernel laden, RootFS aufbereiten, ext4+Initramfs bauen +├── boot-native.sh Versuch 1: Original-QSDK-Kernel in -M virt (erwartungsgemaess stumm) +├── boot-generic.sh Versuch 2 mit Logging (Timeout 420 s) +├── boot-interactive.sh Interaktiver Dauerbetrieb (Serial -> docker logs/attach) +├── test-web.sh Automatischer Webinterface-Test (QEMU im Hintergrund + wget) +├── start-vm.sh Bequemer Start (Container "bintec-vm", Ports published) +├── PLAN.md Urspruenglicher Plan +├── README.md Diese Datei +├── logs/ Alle Logfiles (carve, inventory, boot-*, webtest) +└── work/ Arbeitsartefakte (RootFS, Kernel, ext4-Image, ~2 GB) + ├── rootfs/ entpacktes Original-RootFS (556 MB, read-only Basis) + ├── rootfs.squashfs geschnitztes SquashFS aus der Firmware + ├── kernel.img Original-QSDK-Kernel 4.4.60 (ARM64, dekomprimiert) + ├── kernel.raw Original-Kernel gzip-Blob + ├── w2044ax.dtb Device-Tree W2044ax (aus dem FIT) + ├── fit.img komplettes FIT-Image + ├── initramfs.img Mini-Initramfs (busybox + virtio/ext4-Module) + ├── rootfs-generic/ aufbereitete RootFS-Kopie (siehe Aenderungen unten) + ├── rootfs.ext4 das gebootete Root-Dateisystem (1,5 GB sparse) + └── deb-kernel/ Debian bookworm arm64-Kernel (6.1.0-50-arm64) + busybox +``` + +## Repo vs. lokal generierte Daten (firmware/ und work/) + +Beide Ordner sind absichtlich **nicht** Teil des Repos (`.gitignore`): + +- `firmware/` – die Firmware ist proprietär (Bintec/Teldat). Bitte selbst + herunterladen (Schritt 0 oben) und das .img dort ablegen. +- `work/` – wird **komplett generiert**, es gibt keine manuellen Dateien: + `extract.sh` (Schritt 2) erzeugt `work/rootfs/` aus dem Firmware-Image, + `build-generic.sh` (Schritt 3) baut daraus Kernel, Initramfs und + `rootfs.ext4` inkl. aller Emulations-Anpassungen (Tabelle unten). + Zum Nachbauen einfach die Schritte 1-4 der Schnellstart-Anleitung ausführen. + +## Firmware-Layout (WiFi6_System_Software_v3.6.1.2.img) + +Full-Flash-Dump "full.img", Plattform `kaio` (IPQ60xx), U-Boot 11.4-1-2016.01: + +| Offset | Groesse | Inhalt | +|------------|-----------|------------------------------------------------------------------------| +| 0x00000000 | ~21 MB | Container-Header, u-boot.sbl.img, SBL1 (mit Qualcomm-Attestation) | +| 0x1503930 | 3,95 MB | FIT "ARM64 OpenWrt FIT": kernel@1 (Linux **4.4.60 QSDK**, gzip, load/entry 0x41080000), fdt@w2022ax, fdt@w2044ax, configs fuer beide AP-Varianten | +| 0x18c7854 | 117 MB | SquashFS v4 (xz) = RootFS | + +RootFS-Inventur (Details: `logs/inventory.txt`): + +- **Debian 10 (buster)**, arm64, glibc 2.28, init = systemd +- OSDx-Stack: `/etc/osdx`, `/opt/vyatta` (Vyatta/VyOS-CLI-Framework), `/opt/qsdk` +- Dienste: FRR (BGP/OSPF), SNMP, SSH, dnsmasq, radvd, PPP, python3.7 +- Web-GUI: `/usr/sbin/gui` ("Bintec Elmeg VyOS GUI", boost.asio), gestartet + ueber `bevyosgui.service`, aktiviert durch die Factory-Config-Zeile `set service gui` +- GUI-Inhalte: `/usr/share/gui/` (XML/XSL-Ajax-GUI mit Telekom/Bintec-Branding) +- Login: Factory-User `admin` (Config-Zeile in `/opt/vyatta/etc/config-default.boot.default`) +- Kernelpakete: `/lib/modules/4.4.60` (QSDK) + +## Pipeline im Detail (Technische Hintergruende) + +### Phase 2 – Firmware extrahieren (`extract.sh` + `carve.py`) + +- `carve.py` liest die .img, findet per Superblock das SquashFS (Offset + 0x18c7854 bei v3.6.1.x) und schneidet es exakt aus (`bytes_used`). +- Das FIT (bei 0x1503930, endet exakt am SquashFS-Start) wird als FDT geparst; + herauskommen `kernel.raw` (gzip), `kernel.img` (ARM64-Image, Magic "ARMd" + bei Offset 0x38), `.dtb`. +- Danach `unsquashfs` -> `work/rootfs/`, Inventur -> `logs/inventory.txt`. + +Hinweis: das FIT-Struct-Block endet ohne FDT_END-Token (Generator-Besonderheit); +`carve.py` behandelt das toleriert. + +### Phase 4a – Kernel beschaffen + RootFS aufbereiten (`build-generic.sh`) + +- Lautet den Debian-Package-Index (bookworm, arm64) und laedt + `linux-image-6.1.0-50-arm64` (aus linux-signed-arm64) + `busybox-static` (arm64). +- Config-Check: Debian-Kernel hat PL011-Konsole =y, aber EXT4/VIRTIO_BLK/VIRTIO_PCI + =m -> deshalb **Mini-Initramfs** (busybox + `modprobe virtio_pci virtio_blk + virtio_net crc32c ext4` + switch_root). +- Die Kernel-.deb enthaelt keine modules.dep -> `depmod -b` wird ausgefuehrt. +- RootFS wird kopiert (`rootfs-generic`), Kernel-Module fuer 6.1 hinzugefuegt + und mit `mkfs.ext4 -d` nach `rootfs.ext4` (1,5 GB sparse) verpackt. + +### Phase 4b – Booten (`boot-generic.sh` / `boot-interactive.sh` / `start-vm.sh`) + +``` +qemu-system-aarch64 -M virt -cpu cortex-a53 -m 1024 -smp 1 \ + -kernel vmlinuz-6.1.0-50-arm64 -initrd initramfs.img \ + -drive if=virtio,format=raw,file=rootfs.ext4 \ + -netdev user,id=n0,hostfwd=...:2222-:22,hostfwd=...:8080-:80,hostfwd=...:8443-:443 \ + -device virtio-net-pci,netdev=n0 -no-reboot -nographic \ + -append "root=/dev/vda rw console=ttyAMA0,115200" +``` + +## Aenderungen im RootFS (nur in der Kopie rootfs-generic/rootfs.ext4) + +Grund: OSDx erwartet die echte AP-Hardware (QCA-WLAN, Flash-Environment "0x0", +LEDs, Watchdog durch cfgd). Ohne Hardware haelt sich das System nicht oben – +folgende Stellschrauben machen den Boot stabil und die Shell erreichbar: + +| Eingriff (per systemd-Drop-In / Symlink) | Wirkung | +|------------------------------------------|---------| +| `serial-getty@ttyAMA0.service.d/autologin.conf` | Direkte Root-Shell auf ttyAMA0 (OSDx-PAM lehnt Autologin/leeres PW ab) | +| `vyos-cfgd.service.d/emulation.conf`: `WatchdogSec=0`, `TimeoutSec=0`, `StartLimitBurst=0` | Ohne echte HW sendet cfgd keine Watchdog-Pings -> sonst `StartLimitAction=reboot-force` bei ~200 s | +| `qca-osdx-mon.service` -> /dev/null (maskiert) | QCA-WLAN-Monitor braucht echte Hardware | +| `osdx-modulelauncher.service.d/…`: `TimeoutSec=0` | Timeout entschaeft | +| `systemd-reboot.service` -> /dev/null (maskiert) | `osdx-load-config` ruft bei Config-Fehlern `reboot` auf -> wird jetzt nur mit Fehler abgewiesen | +| `qemu-net.service` | Netz-Bringup: 10.0.2.15/24 auf eth0/br0, Default-Route ueber 10.0.2.2 (QEMU-Usernet) | +| `multi-user.target.wants/bevyosgui.service` | Web-GUI aktiviert | +| `/etc/shadow`: root-Passwort geleert | Fallback-Anmeldung | +| Debian-Module 6.1.0-50-arm64 nach `/lib/modules/` | RootFS brachte nur QSDK-4.4.60-Module mit | + +## Logs + +| Datei | Inhalt | +|-------|--------| +| `logs/carve.log` | Extraktion (Offsets, FIT-Metadaten) | +| `logs/inventory.txt` | RootFS-Inventur | +| `logs/kernel-config.txt` | Debian-Kernel-Config-Auszug | +| `logs/unsquashfs.log` | Entpacken | +| `logs/boot-native.log` | Versuch 1: Original-QSDK-Kernel – 60 s komplett stumm (Crash vor jeder Konsolenausgabe, erwartbar: kein IPQ60xx-Modell) | +| `logs/boot-generic.log` | Versuch 2: vollstaendiger Boot bis `root@osdx:/#` | +| `logs/boot-interactive.log` | Interaktivitaets-Nachweis (uname, ip link, /opt/vyatta, sauberes poweroff) | +| `logs/boot-webtest.log` | Webinterface-Test | + +## Bekannte Einschraenkungen + +- QEMU `virt` emuliert kein IPQ60xx: kein WiFi, keine Switch-/LED-/NAND-HW. + Im Log normal: "Cannot open 0x0", "environment not initialized", + LED-/qca-**-Service-Fehler. +- OSDx-Config-Loader laeuft mit "factory configuration for default" ab + (echte Configs liegen im Flash-Environment, das emuliert nicht existiert). +- Versuch 1 (Original-QSDK-Kernel) bootet nicht – dokumentiert in + `logs/boot-native.log`. +- TCG-Emulation: Boot ~2-3 min, laeuft danach stabil. +- GUI-Session-Login laeuft ueber vyos-cfgd; falls der Browser-Login mit + admin/Factory-Passwort scheitert, Serial-Shell nutzen (docker attach). diff --git a/boot-generic.sh b/boot-generic.sh new file mode 100755 index 0000000..827c604 --- /dev/null +++ b/boot-generic.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Phase 4: Boot des extrahierten OSDx-RootFS mit generischem Debian-Kernel in QEMU virt. +# Laufwerk: /dev/vda = rootfs.ext4 (virtio), Initramfs laedt Module, Serial auf ttyAMA0. +set -uo pipefail +WORK="${WORK:-/build/work}" +LOGS="${LOGS:-/build/logs}" +TIMEOUT="${BOOT_TIMEOUT:-420}" +mkdir -p "$LOGS" + +KVER=$(ls "$WORK/deb-kernel/lib/modules" 2>/dev/null | head -1) +KIMG="$WORK/deb-kernel/boot/vmlinuz-$KVER" +INITRD="" +[ -f "$WORK/initramfs.img" ] && INITRD="-initrd $WORK/initramfs.img" + +echo "Boot: Kernel=$KIMG initramfs=$INITRD root=/dev/vda (Timeout ${TIMEOUT}s)" +timeout "$TIMEOUT" qemu-system-aarch64 \ + -M virt -cpu cortex-a53 -m 1024 -smp 1 \ + -kernel "$KIMG" \ + $INITRD \ + -drive if=virtio,format=raw,file="$WORK/rootfs.ext4" \ + -netdev user,id=n0,hostfwd=tcp::2222-:22,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" \ + 2>&1 | tee "$LOGS/boot-generic.log" +RC=${PIPESTATUS[0]} +echo "Exit-Code: $RC (124 = Timeout -> ggf. Shell war aktiv)" +echo "--- letzte 60 Zeilen ---" +tail -60 "$LOGS/boot-generic.log" diff --git a/boot-interactive.sh b/boot-interactive.sh new file mode 100755 index 0000000..2541edb --- /dev/null +++ b/boot-interactive.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Interaktive OSDx-VM: Serial-Console direkt im Terminal (Strg+A x beendet QEMU). +# Webinterface nach dem Boot erreichbar unter: +# http://localhost:8080 / https://localhost:8443 (self-signed) +# Aufruf: docker run --rm -it -p 8080:8080 -p 8443:8443 -p 2222:2222 \ +# -v "$PWD:/build" bintec-fw /build/boot-interactive.sh +set -uo pipefail +WORK="${WORK:-/build/work}" +KVER=$(ls "$WORK/deb-kernel/lib/modules" 2>/dev/null | head -1) + +exec qemu-system-aarch64 \ + -M virt -cpu cortex-a53 -m 1024 -smp 1 \ + -kernel "$WORK/deb-kernel/boot/vmlinuz-$KVER" \ + -initrd "$WORK/initramfs.img" \ + -drive if=virtio,format=raw,file="$WORK/rootfs.ext4" \ + -netdev user,id=n0,hostfwd=tcp::2222-:22,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" diff --git a/boot-native.sh b/boot-native.sh new file mode 100755 index 0000000..f74e5d8 --- /dev/null +++ b/boot-native.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Phase 3: Bootversuch des Original-QSDK-Kernels (IPQ60xx) in QEMU -M virt. +# Erwartung: frueher Crash/Stillstand, weil die IPQ60xx-Peripherie nicht emuliert wird. +# Output -> /build/logs/boot-native.log +set -uo pipefail +WORK="${WORK:-/build/work}" +LOGS="${LOGS:-/build/logs}" +mkdir -p "$WORK" "$LOGS" + +echo "Starte Original-QSDK-Kernel 4.4.60 in qemu-system-aarch64 -M virt (Timeout 60s)..." +DTB=$(ls "$WORK"/*.dtb 2>/dev/null | head -1) +timeout 60 qemu-system-aarch64 \ + -M virt -cpu cortex-a53 -m 512 \ + -kernel "$WORK/kernel.img" \ + -dtb "$DTB" \ + -nographic \ + -append "console=ttyAMA0,115200 earlycon" \ + > "$LOGS/boot-native.log" 2>&1 +RC=$? +echo "Exit-Code: $RC (124 = Timeout erreicht, Kernel lief 60s ohne terminales Log)" +echo "--- letzte 30 Zeilen ---" +tail -30 "$LOGS/boot-native.log" diff --git a/build-generic.sh b/build-generic.sh new file mode 100755 index 0000000..3855430 --- /dev/null +++ b/build-generic.sh @@ -0,0 +1,175 @@ +#!/bin/bash +# Phase 4a: Debian arm64 Kernel beschaffen (bookworm, cloud-Variante bevorzugt), +# RootFS aufbereiten, ext4-Image bauen, ggf. Mini-Initramfs erstellen. +set -euo pipefail +WORK="${WORK:-/build/work}" +LOGS="${LOGS:-/build/logs}" +export WORK +mkdir -p "$WORK/deb-kernel" "$LOGS" + +echo "== 1) Debian Packages-Index (bookworm arm64) ==" +if [ ! -f "$WORK/Packages" ]; then + wget -q -O "$WORK/Packages.xz" \ + https://deb.debian.org/debian/dists/bookworm/main/binary-arm64/Packages.xz + xz -dk "$WORK/Packages.xz" +fi + +echo "== 2) Kernel- und busybox-Pakete suchen ==" +python3 - "$WORK/Packages" <<'PYEOF' > "$WORK/pkg_urls.txt" +import sys, re +stanzas = open(sys.argv[1]).read().split('\n\n') +best_k = best_b = None +for st in stanzas: + pkg = re.search(r'^Package: (.+)$', st, re.M) + ver = re.search(r'^Version: (.+)$', st, re.M) + fn = re.search(r'^Filename: (.+)$', st, re.M) + if not (pkg and ver and fn): + continue + name = pkg.group(1) + # versionierte Kernel-Images (echte Binaries, keine Metapakete) + if re.match(r'^linux-image-[\d.]+-\d+-cloud-arm64$', name) or \ + re.match(r'^linux-image-[\d.]+-\d+-arm64$', name): + key = (0 if 'cloud' in name else 1, ver.group(1)) + if best_k is None or key > best_k[0]: + best_k = (key, fn.group(1)) + if name == 'busybox-static': + if best_b is None or ver.group(1) > best_b[0]: + best_b = (ver.group(1), fn.group(1)) +if best_k: print(best_k[1]) +if best_b: print(best_b[1]) +PYEOF +cat "$WORK/pkg_urls.txt" + +echo "== 3) Download + Entpacken ==" +i=0 +while read -r rel; do + url="https://deb.debian.org/debian/$rel" + case "$rel" in + *busybox*) tgt="$WORK/busybox-static.deb" ;; + *) tgt="$WORK/kernel.deb" ;; + esac + echo "lade $url" + if [ ! -f "$tgt" ]; then + wget -q -O "$tgt" "$url" + fi + dpkg-deb -x "$tgt" "$WORK/deb-kernel" +done < "$WORK/pkg_urls.txt" + +KVER=$(ls "$WORK/deb-kernel/lib/modules" 2>/dev/null | head -1) +echo "Kernel-Version: $KVER" + +echo "== 3b) depmod (die .deb enthaelt keine Module-Dep-Dateien) ==" +depmod -b "$WORK/deb-kernel" "$KVER" 2>/dev/null || depmod -e -b "$WORK/deb-kernel" "$KVER" +ls "$WORK/deb-kernel/lib/modules/$KVER/" | head + +echo "== 4) Kernel-Config-Pruefung ==" +CFG=$(ls "$WORK/deb-kernel/boot/config-$KVER" 2>/dev/null | head -1) +grep -E '^CONFIG_(EXT4_FS|VIRTIO_BLK|VIRTIO_PCI|VIRTIO_NET|SQUASHFS|SERIAL_AMBA_PL011|SERIAL_AMBA_PL011_CONSOLE)=' \ + "$CFG" | tee "$LOGS/kernel-config.txt" + +INITRAMFS_NEEDED=0 +for opt in EXT4_FS VIRTIO_BLK VIRTIO_PCI SERIAL_AMBA_PL011; do + if ! grep -q "^CONFIG_${opt}=y" "$CFG"; then + echo "WARNUNG: CONFIG_${opt} ist nicht =y -> Initramfs noetig" + INITRAMFS_NEEDED=1 + fi +done +echo "INITRAMFS_NEEDED=$INITRAMFS_NEEDED" + +if [ "$INITRAMFS_NEEDED" = "1" ]; then + echo "== 4b) Mini-Initramfs ==" + IR="$WORK/initramfs" + rm -rf "$IR" + mkdir -p "$IR/bin" "$IR/lib/modules" "$IR/proc" "$IR/sys" "$IR/dev" "$IR/newroot" + BB="$WORK/deb-kernel/bin/busybox" + [ -f "$BB" ] || BB=$(find "$WORK/deb-kernel" -name busybox -type f | head -1) + cp "$BB" "$IR/bin/busybox" + cp -r "$WORK/deb-kernel/lib/modules/$KVER" "$IR/lib/modules/" + cat > "$IR/init" <<'INITEOF' +#!/bin/busybox sh +/bin/busybox --install -s /bin +mount -t proc proc /proc +mount -t sysfs sysfs /sys +mount -t devtmpfs devtmpfs /dev +modprobe virtio_pci +modprobe virtio_blk +modprobe virtio_net +modprobe crc32c +modprobe ext4 +echo "initramfs: warte auf /dev/vda..." +i=0 +while [ ! -b /dev/vda ] && [ $i -lt 100 ]; do sleep 0.2; i=$((i+1)); done +mount -o rw /dev/vda /newroot || exec sh +exec switch_root /newroot /sbin/init +INITEOF + chmod +x "$IR/init" + (cd "$IR" && find . | cpio -o -H newc --quiet | gzip > "$WORK/initramfs.img") + echo "initramfs.img: $(du -sh "$WORK/initramfs.img" | cut -f1)" +fi + +echo "== 5) RootFS aufbereiten (Autologin + offenes Root-PW) ==" +R="$WORK/rootfs-generic" +rm -rf "$R" +cp -a "$WORK/rootfs" "$R" +# root ohne Passwort (Puffer, falls Autologin-Override nicht greift) +sed -i 's|^root:\*|root::|' "$R/etc/shadow" +# Direkte Root-Shell auf ttyAMA0 (OSDx-PAM lehnt leere PW/Autologin ab) +mkdir -p "$R/etc/systemd/system/serial-getty@ttyAMA0.service.d" +cat > "$R/etc/systemd/system/serial-getty@ttyAMA0.service.d/autologin.conf" <<'OEOF' +[Service] +Type= +ExecStart= +ExecStart=-/bin/bash -l -i +StandardInput=tty +StandardOutput=tty +StandardError=tty +TTYPath=/dev/ttyAMA0 +TTYReset=yes +OEOF + +# Emulations-Stabilisierung: +# 1) vyos-cfgd: Watchdog + StartLimitAction=reboot-force entschraerfen +mkdir -p "$R/etc/systemd/system/vyos-cfgd.service.d" +cat > "$R/etc/systemd/system/vyos-cfgd.service.d/emulation.conf" <<'OEOF' +[Service] +WatchdogSec=0 +TimeoutSec=0 +StartLimitBurst=0 +OEOF +# 2) QCA-WLAN-Monitor (braucht echte Hardware): maskieren +ln -sf /dev/null "$R/etc/systemd/system/qca-osdx-mon.service" +# 2b) modulelauncher Timeout entschraerfen +mkdir -p "$R/etc/systemd/system/osdx-modulelauncher.service.d" +printf '[Service]\nTimeoutSec=0\n' > "$R/etc/systemd/system/osdx-modulelauncher.service.d/emulation.conf" +# 3) globale Reboot-Sperre (osdx-load-config ruft bei Config-Fehlern reboot auf) +ln -sf /dev/null "$R/etc/systemd/system/systemd-reboot.service" + +# 4) Debian-Kernel-Module ins RootFS (sonst kein bridge/netzwerk im VM-Kernel) +cp -r "$WORK/deb-kernel/lib/modules/$KVER" "$R/lib/modules/" + +# 5) Netz-Bringup fuer QEMU user-net (falls OSDx-Br0-Konfig scheitert) +cat > "$R/etc/systemd/system/qemu-net.service" <<'OEOF' +[Unit] +Description=QEMU user-net bringup (emulation) +After=multi-user.target +Wants=network.target + +[Service] +Type=oneshot +ExecStart=/bin/sh -c 'ip link set eth0 up; IF=br0; ip link show $IF >/dev/null 2>&1 || IF=eth0; ip addr replace 10.0.2.15/24 dev $IF; ip route replace default via 10.0.2.2 2>/dev/null || true; ip link show br0 >/dev/null 2>&1 && ip link set br0 up' +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target +OEOF +ln -sf /etc/systemd/system/qemu-net.service \ + "$R/etc/systemd/system/multi-user.target.wants/qemu-net.service" +# Webinterface-GUI-Unit aktivieren +ln -sf /lib/systemd/system/bevyosgui.service \ + "$R/etc/systemd/system/multi-user.target.wants/bevyosgui.service" + +echo "== 6) ext4-Image bauen ==" +rm -f "$WORK/rootfs.ext4" +mkfs.ext4 -F -d "$R" -L bintecroot "$WORK/rootfs.ext4" 1500M +ls -la "$WORK/" | grep -E 'ext4|initramfs|vmlinuz|Image' +echo "== build-generic fertig ==" diff --git a/carve.py b/carve.py new file mode 100644 index 0000000..7707085 --- /dev/null +++ b/carve.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python3 +"""Carve SquashFS-RootFS und FIT-Image (kernel@1 + fdt@w2044ax) aus dem +Bintec W20XXax Full-Flash-Image ('kaio', Qualcomm IPQ60xx). +Liest nur die Quelldatei, schreibt Output nach $WORK (default /build/work).""" +import struct, sys, os, gzip, re + +WORK = os.environ.get('WORK', '/build/work') +SQFS_MAGIC = b'hsqs' +FIT_MAGIC = b'\xd0\x0d\xfe\xed' +ARM64_IMG_MAGIC = b'\x41\x52\x4d\x64' # "ARM\x64" an Offset 0x38 des Images + + +def find_squashfs(data): + """Sucht das SquashFS versionsunabhaengig: erst Kandidat bei bekanntem + Offset (v3.6.1.2), sonst den ganzen Datei-Scan mit Plausibilitaetspruefung.""" + cands = [] + if len(data) > 0x18c7854 and data[0x18c7854:0x18c7854+4] == SQFS_MAGIC: + cands.append(0x18c7854) + s = 0 + while True: + i = data.find(SQFS_MAGIC, s) + if i < 0: + break + cands.append(i) + s = i + 1 + for off in cands: + try: + (magic, inodes, mkfs, bsz, fsz) = struct.unpack_from('<5I', data, off) + (comp, blog, flags, noids, major, minor) = struct.unpack_from('<6H', data, off + 20) + (root_inode, bytes_used) = struct.unpack_from(' len(data) or bsz & (bsz - 1) != 0 or bsz == 0: + continue + return off, major, minor, bsz, comp, bytes_used, end + raise SystemExit("kein plausibles SquashFS gefunden") + + +def carve_squashfs(data, hint=0x18c7854): + off, major, minor, bsz, comp, bytes_used, end = find_squashfs(data) + print(f"[sqfs] offset={hex(off)} v{major}.{minor} blocksize={bsz} " + f"comp_id={comp} bytes_used={hex(bytes_used)} end={hex(end)} " + f"(img_size={hex(len(data))})") + out = f"{WORK}/rootfs.squashfs" + open(out, "wb").write(data[off:end]) + print(f"[sqfs] geschrieben: {out}") + return off, end + + +def parse_fdt(data, base): + """Parst einen FDT-Blob (Offsets sind blob-relativ); liefert props und Totalsize.""" + (magic, totalsize, off_struct, off_strings, off_rsv, ver, lastcomp, + cpuid, sz_strings, sz_struct) = struct.unpack_from('>10I', data, base) + blob = data[base:base + totalsize] + props = [] + path, stack = '', [] + p = off_struct + while True: + (tok,) = struct.unpack_from('>I', blob, p) + p += 4 + if tok == 1: # BEGIN_NODE + end = blob.index(b'\x00', p) + name = blob[p:end].decode() + p = (end + 4) & ~3 + stack.append(path) + path = name if path == '' else path + '/' + name + elif tok == 2: # END_NODE + path = stack.pop() + elif tok == 3: # PROP + (plen,) = struct.unpack_from('>I', blob, p) + (nameoff,) = struct.unpack_from('>I', blob, p + 4) + val = blob[p + 8:p + 8 + plen] + p = (p + 8 + plen + 3) & ~3 + nstart = off_strings + nameoff + pname = blob[nstart:blob.index(b'\x00', nstart)].decode() + props.append((path, pname, val)) + elif tok in (4, 9): # NOP/END + if tok == 4: + break + else: + # manche FIT-Generatoren lassen das FDT_END-Token weg; + # wir enden toleriert am Struct-Block-Ende + print(f"[fdt] Hinweis: Struct-Block ohne FDT_END (Token {tok} @ {hex(p)}); ok") + break + return props, totalsize + + +def carve_fit(data, start_scan, end_scan): + """Findet das FIT (kernel@1 + irgendein fdt@*) und legt kernel.raw / dtb ab.""" + hits = [] + s = start_scan + while True: + i = data.find(FIT_MAGIC, s, end_scan) + if i < 0: + break + hits.append(i) + s = i + 4 + print(f"[fit] FDT-Magic-Hits im Scanbereich: {[hex(h) for h in hits]}") + for base in hits: + try: + props, totalsize = parse_fdt(data, base) + except Exception as e: + print(f"[fit] skip {hex(base)}: {e}") + continue + paths = {p for p, n, v in props} + if not any(p.endswith('/kernel@1') for p in paths): + continue + # fdt-Knoten generisch: w2044ax bevorzugt, sonst das erste fdt@* + fdt_paths = [p for p in paths + if re.match(r'^images/fdt@[\w.-]+$', p)] + fdt_pick = next((p for p in fdt_paths if 'w2044ax' in p), + fdt_paths[0] if fdt_paths else None) + print(f"[fit] Kandidat @ {hex(base)} totalsize={hex(totalsize)} " + f"fdt={fdt_pick}") + meta = [] + kdata = fdata = None + fdt_name = 'dtb' + for p, n, v in props: + if n in ('load', 'entry', 'timestamp') and len(v) == 4: + meta.append((p, n, hex(struct.unpack('>I', v)[0]))) + elif n in ('description', 'type', 'arch', 'compression', 'algo', 'os') and len(v) < 64: + meta.append((p, n, v.rstrip(b'\x00').decode('latin1'))) + if p.endswith('/kernel@1') and n == 'data': + kdata = v + if fdt_pick and p == fdt_pick and n == 'data': + fdata = v + fdt_name = fdt_pick.rsplit('/', 1)[-1].replace('fdt@', '') + for m in meta: + print(f"[fit] {m[0]}: {m[1]} = {m[2]}") + open(f'{WORK}/fit.img', 'wb').write(data[base:base + totalsize]) + print(f"[fit] geschrieben: {WORK}/fit.img ({totalsize} bytes)") + if kdata: + open(f'{WORK}/kernel.raw', 'wb').write(kdata) + print(f"[fit] kernel@1 data: {len(kdata)} bytes -> {WORK}/kernel.raw") + if fdata: + open(f'{WORK}/{fdt_name}.dtb', 'wb').write(fdata) + print(f"[fit] {fdt_pick} data: {len(fdata)} bytes -> {WORK}/{fdt_name}.dtb") + return kdata, fdata + return None, None + + +def to_boot_image(kdata): + """Dekomprimiert kernel.raw falls noetig; ARM64-Image direkt durchreichen. + (ARM64-Image-Magic 'ARM\\x64' liegt bei Offset 0x38.)""" + if kdata is None: + print("[kernel] kein kernel@1 im FIT -> nur RootFS extrahiert; FIT-Analyse faellt aus") + return + def is_arm64(b): + return len(b) > 0x3c and b[0x38:0x3c] == ARM64_IMG_MAGIC + if is_arm64(kdata): + open(f'{WORK}/kernel.img', 'wb').write(kdata) + print(f"[kernel] unkomprimiertes ARM64 Image -> {WORK}/kernel.img") + return + if kdata[:2] == b'\x1f\x8b': + out = gzip.decompress(kdata) + if is_arm64(out): + open(f'{WORK}/kernel.img', 'wb').write(out) + print(f"[kernel] gzip -> {len(out)} bytes ARM64 Image -> {WORK}/kernel.img") + return + print(f"[kernel] WARNUNG: unbekanntes Format {kdata[:8].hex()}; roh als {WORK}/kernel.img") + open(f'{WORK}/kernel.img', 'wb').write(kdata) + + +def main(): + src = sys.argv[1] + os.makedirs(WORK, exist_ok=True) + data = open(src, 'rb').read() + print(f"[img] {src}: {len(data)} bytes") + sq_off, sq_end = carve_squashfs(data) + k, f = carve_fit(data, 0x1000, sq_off) + to_boot_image(k) + if f: + print("[dtb] OK") + else: + print("[dtb] WARNUNG: kein fdt@* im FIT gefunden") + + +if __name__ == '__main__': + main() diff --git a/extract.sh b/extract.sh new file mode 100755 index 0000000..71f131e --- /dev/null +++ b/extract.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# Phase 2: Firmware extrahieren + Inventur. Aufruf: extract.sh +set -euo pipefail +IMG="$1" +WORK="${WORK:-/build/work}" +LOGS="${LOGS:-/build/logs}" +export WORK +mkdir -p "$WORK" "$LOGS" + +echo "== carve.py ==" +python3 /build/carve.py "$IMG" | tee "$LOGS/carve.log" + +echo "== unsquashfs ==" +unsquashfs -no-progress -f -d "$WORK/rootfs" "$WORK/rootfs.squashfs" \ + > "$LOGS/unsquashfs.log" 2>&1 +echo "RootFS entpackt: $(du -sh "$WORK/rootfs" | cut -f1)" + +echo "== Inventur ==" +R="$WORK/rootfs" +set +e +{ + echo "### RootFS-Baum (Tiefe 2)" + find "$R" -maxdepth 2 | sort | head -200 + echo; echo "### os-release / openwrt / banner" + cat "$R"/etc/os-release 2>/dev/null + cat "$R"/etc/openwrt_release 2>/dev/null + cat "$R"/etc/banner* 2>/dev/null + echo; echo "### init" + ls -l "$R/sbin/init" 2>/dev/null + ls "$R/etc/init.d" 2>/dev/null | head -60 + echo; echo "### systemd?" + ls "$R/lib/systemd/systemd" 2>/dev/null + file "$R/sbin/init" "$R/lib/systemd/systemd" 2>/dev/null + echo; echo "### libc" + file "$R/lib/aarch64-linux-gnu/libc.so.6" 2>/dev/null + file "$R/usr/bin/python3" 2>/dev/null + echo; echo "### osdx / vyatta / frr" + ls "$R/etc/osdx" 2>/dev/null | head -30 + ls "$R/opt/vyatta" 2>/dev/null | head -30 + ls "$R/opt/qsdk" 2>/dev/null | head -20 + echo; echo "### webserver-kandidaten" + find "$R" -maxdepth 4 -type f \( -iname '*http*' -o -iname '*nginx*' -o -iname '*lighttpd*' -o -iname '*uhttpd*' \) 2>/dev/null | head -20 + echo; echo "### kernel-Module" + ls "$R/lib/modules" 2>/dev/null || echo "keine /lib/modules" + echo; echo "### groesste Verzeichnisse" + du -x -d1 "$R" 2>/dev/null | sort -h | tail -15 +} > "$LOGS/inventory.txt" 2>&1 +set -e +echo "Inventur: $LOGS/inventory.txt" +file "$WORK/kernel.img" || true diff --git a/logs/boot-generic.log b/logs/boot-generic.log new file mode 100644 index 0000000..fd1c44d --- /dev/null +++ b/logs/boot-generic.log @@ -0,0 +1,464 @@ +[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] +[ 0.000000] Linux version 6.1.0-50-arm64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP Debian 6.1.176-1 (2026-07-02) +[ 0.000000] random: crng init done +[ 0.000000] Machine model: linux,dummy-virt +[ 0.000000] efi: UEFI not found. +[ 0.000000] NUMA: No NUMA configuration found +[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] NUMA: NODE_DATA [mem 0x7fdf0380-0x7fdf2fff] +[ 0.000000] Zone ranges: +[ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] DMA32 empty +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] cma: Reserved 64 MiB at 0x000000007ac00000 +[ 0.000000] psci: probing for conduit method from DT. +[ 0.000000] psci: PSCIv1.1 detected in firmware. +[ 0.000000] psci: Using standard PSCI v0.2 function IDs +[ 0.000000] psci: Trusted OS migration not required +[ 0.000000] psci: SMC Calling Convention v1.0 +[ 0.000000] percpu: Embedded 31 pages/cpu s87208 r8192 d31576 u126976 +[ 0.000000] Detected VIPT I-cache on CPU0 +[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR +[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI) +[ 0.000000] CPU features: detected: ARM erratum 843419 +[ 0.000000] CPU features: detected: ARM erratum 845719 +[ 0.000000] alternatives: applying boot alternatives +[ 0.000000] Fallback order for Node 0: 0 +[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048 +[ 0.000000] Policy zone: DMA +[ 0.000000] Kernel command line: root=/dev/vda rw console=ttyAMA0,115200 +[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) +[ 0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off +[ 0.000000] Memory: 98324K/1048576K available (13248K kernel code, 2806K rwdata, 9504K rodata, 6464K init, 627K bss, 139804K reserved, 65536K cma-reserved) +[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 +[ 0.000000] ftrace: allocating 44174 entries in 173 pages +[ 0.000000] ftrace: allocated 173 pages with 5 groups +[ 0.000000] trace event string verifier disabled +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1. +[ 0.000000] Rude variant of Tasks RCU enabled. +[ 0.000000] Tracing variant of Tasks RCU enabled. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] Root IRQ handler: gic_handle_irq +[ 0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143] +[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. +[ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt). +[ 0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns +[ 0.000062] sched_clock: 57 bits at 63MHz, resolution 16ns, wraps every 4398046511096ns +[ 0.006517] Console: colour dummy device 80x25 +[ 0.008262] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000) +[ 0.008440] pid_max: default: 32768 minimum: 301 +[ 0.009461] LSM: Security Framework initializing +[ 0.010165] landlock: Up and running. +[ 0.010179] Yama: disabled by default; enable with sysctl kernel.yama.* +[ 0.012452] AppArmor: AppArmor initialized +[ 0.012502] TOMOYO Linux initialized +[ 0.012938] LSM support for eBPF active +[ 0.014387] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) +[ 0.014421] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) +[ 0.043803] cblist_init_generic: Setting adjustable number of callback queues. +[ 0.043826] cblist_init_generic: Setting shift to 0 and lim to 1. +[ 0.044019] cblist_init_generic: Setting adjustable number of callback queues. +[ 0.044025] cblist_init_generic: Setting shift to 0 and lim to 1. +[ 0.045330] rcu: Hierarchical SRCU implementation. +[ 0.045359] rcu: Max phase no-delay instances is 1000. +[ 0.049521] EFI services will not be available. +[ 0.051685] smp: Bringing up secondary CPUs ... +[ 0.051765] smp: Brought up 1 node, 1 CPU +[ 0.051782] SMP: Total of 1 processors activated. +[ 0.051858] CPU features: detected: 32-bit EL0 Support +[ 0.051870] CPU features: detected: 32-bit EL1 Support +[ 0.051923] CPU features: detected: CRC32 instructions +[ 0.053461] CPU: All CPU(s) started at EL1 +[ 0.053603] alternatives: applying system-wide alternatives +[ 0.067232] node 0 deferred pages initialised in 4ms +[ 0.080071] devtmpfs: initialized +[ 0.091427] Registered cp15_barrier emulation handler +[ 0.091485] Registered setend emulation handler +[ 0.092299] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.092405] futex hash table entries: 256 (order: 2, 16384 bytes, linear) +[ 0.096551] pinctrl core: initialized pinctrl subsystem +[ 0.104016] DMI not present or invalid. +[ 0.110232] NET: Registered PF_NETLINK/PF_ROUTE protocol family +[ 0.118435] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations +[ 0.119201] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations +[ 0.119460] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations +[ 0.119664] audit: initializing netlink subsys (disabled) +[ 0.124072] thermal_sys: Registered thermal governor 'fair_share' +[ 0.124119] thermal_sys: Registered thermal governor 'bang_bang' +[ 0.124136] thermal_sys: Registered thermal governor 'step_wise' +[ 0.124139] thermal_sys: Registered thermal governor 'user_space' +[ 0.124141] thermal_sys: Registered thermal governor 'power_allocator' +[ 0.124773] audit: type=2000 audit(0.112:1): state=initialized audit_enabled=0 res=1 +[ 0.125146] cpuidle: using governor ladder +[ 0.125259] cpuidle: using governor menu +[ 0.125949] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. +[ 0.126343] ASID allocator initialised with 32768 entries +[ 0.127642] Serial: AMBA PL011 UART driver +[ 0.146131] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 13, base_baud = 0) is a PL011 rev1 +[ 0.151132] printk: console [ttyAMA0] enabled +[ 0.158515] KASLR enabled +[ 0.173220] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages +[ 0.173301] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page +[ 0.173351] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages +[ 0.173391] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page +[ 0.173429] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.173466] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page +[ 0.173503] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages +[ 0.173540] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page +[ 0.187130] ACPI: Interpreter disabled. +[ 0.188841] iommu: Default domain type: Translated +[ 0.188913] iommu: DMA domain TLB invalidation policy: strict mode +[ 0.189584] pps_core: LinuxPPS API ver. 1 registered +[ 0.189631] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti +[ 0.189729] PTP clock support registered +[ 0.189902] EDAC MC: Ver: 3.0.0 +[ 0.199288] NetLabel: Initializing +[ 0.199349] NetLabel: domain hash size = 128 +[ 0.199383] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.200317] NetLabel: unlabeled traffic allowed by default +[ 0.200828] vgaarb: loaded +[ 0.203297] clocksource: Switched to clocksource arch_sys_counter +[ 0.239391] VFS: Disk quotas dquot_6.6.0 +[ 0.239597] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.243253] AppArmor: AppArmor Filesystem Enabled +[ 0.244919] pnp: PnP ACPI: disabled +[ 0.255722] NET: Registered PF_INET protocol family +[ 0.257126] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) +[ 0.262395] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) +[ 0.262572] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) +[ 0.262670] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) +[ 0.262891] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear) +[ 0.263050] TCP: Hash tables configured (established 8192 bind 8192) +[ 0.264412] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear) +[ 0.264676] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) +[ 0.264865] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) +[ 0.266015] NET: Registered PF_UNIX/PF_LOCAL protocol family +[ 0.266389] NET: Registered PF_XDP protocol family +[ 0.266549] PCI: CLS 0 bytes, default 64 +[ 0.271118] Trying to unpack rootfs image as initramfs... +[ 0.279645] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available +[ 0.280252] kvm [1]: HYP mode not available +[ 0.282464] Initialise system trusted keyrings +[ 0.284128] Key type blacklist registered +[ 0.292241] workingset: timestamp_bits=42 max_order=18 bucket_order=0 +[ 0.301873] zbud: loaded +[ 0.305497] integrity: Platform Keyring initialized +[ 0.305877] integrity: Machine keyring initialized +[ 0.305930] Key type asymmetric registered +[ 0.306018] Asymmetric key parser 'x509' registered +[ 2.986792] Freeing initrd memory: 85728K +[ 3.007321] alg: self-tests for CTR-KDF (hmac(sha256)) passed +[ 3.007670] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) +[ 3.009395] io scheduler mq-deadline registered +[ 3.021286] pl061_gpio 9030000.pl061: PL061 GPIO chip registered +[ 3.022390] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 +[ 3.023078] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges: +[ 3.023994] pci-host-generic 4010000000.pcie: IO 0x003eff0000..0x003effffff -> 0x0000000000 +[ 3.024409] pci-host-generic 4010000000.pcie: MEM 0x0010000000..0x003efeffff -> 0x0010000000 +[ 3.024513] pci-host-generic 4010000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000 +[ 3.024902] pci-host-generic 4010000000.pcie: Memory resource size exceeds max for 32 bits +[ 3.025312] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff] +[ 3.026264] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00 +[ 3.026522] pci_bus 0000:00: root bus resource [bus 00-ff] +[ 3.026623] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] +[ 3.026687] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff] +[ 3.026727] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff] +[ 3.028038] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000 +[ 3.030994] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000 +[ 3.031361] pci 0000:00:01.0: BAR 0 [io 0x0000-0x001f] +[ 3.031435] pci 0000:00:01.0: BAR 1 [mem 0x00000000-0x00000fff] +[ 3.031528] pci 0000:00:01.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] +[ 3.031669] pci 0000:00:01.0: ROM [mem 0x00000000-0x0003ffff pref] +[ 3.032160] pci 0000:00:02.0: [1af4:1001] type 00 class 0x010000 +[ 3.032223] pci 0000:00:02.0: BAR 0 [io 0x0000-0x007f] +[ 3.032262] pci 0000:00:02.0: BAR 1 [mem 0x00000000-0x00000fff] +[ 3.032304] pci 0000:00:02.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] +[ 3.033918] pci 0000:00:01.0: ROM [mem 0x10000000-0x1003ffff pref]: assigned +[ 3.034904] pci 0000:00:01.0: BAR 4 [mem 0x8000000000-0x8000003fff 64bit pref]: assigned +[ 3.035068] pci 0000:00:02.0: BAR 4 [mem 0x8000004000-0x8000007fff 64bit pref]: assigned +[ 3.035130] pci 0000:00:01.0: BAR 1 [mem 0x10040000-0x10040fff]: assigned +[ 3.035386] pci 0000:00:02.0: BAR 1 [mem 0x10041000-0x10041fff]: assigned +[ 3.035447] pci 0000:00:02.0: BAR 0 [io 0x1000-0x107f]: assigned +[ 3.035551] pci 0000:00:01.0: BAR 0 [io 0x1080-0x109f]: assigned +[ 3.045161] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled +[ 3.047526] Serial: AMBA driver +[ 3.047606] SuperH (H)SCI(F) driver initialized +[ 3.048137] msm_serial: driver initialized +[ 3.052181] mousedev: PS/2 mouse device common for all mice +[ 3.056015] rtc-pl031 9010000.pl031: registered as rtc0 +[ 3.056580] rtc-pl031 9010000.pl031: setting system clock to 2026-09-16T18:34:36 UTC (1789583676) +[ 3.059377] ledtrig-cpu: registered to indicate activity on CPUs +[ 3.097390] NET: Registered PF_INET6 protocol family +[ 3.107980] Segment Routing with IPv6 +[ 3.108367] In-situ OAM (IOAM) with IPv6 +[ 3.108911] mip6: Mobile IPv6 +[ 3.109234] NET: Registered PF_PACKET protocol family +[ 3.109769] mpls_gso: MPLS GSO support +[ 3.112020] registered taskstats version 1 +[ 3.112278] Loading compiled-in X.509 certificates +[ 3.152070] Loaded X.509 cert 'Build time autogenerated kernel key: e15d7c2f27e6115d3eddefe889ed9204ab4c8f27' +[ 3.156078] zswap: loaded using pool lzo/zbud +[ 3.157090] Key type .fscrypt registered +[ 3.157149] Key type fscrypt-provisioning registered +[ 3.165927] Key type encrypted registered +[ 3.166066] AppArmor: AppArmor sha1 policy hashing enabled +[ 3.166662] ima: No TPM chip found, activating TPM-bypass! +[ 3.166772] ima: Allocated hash algorithm: sha256 +[ 3.168508] ima: No architecture policies found +[ 3.168936] evm: Initialising EVM extended attributes: +[ 3.168976] evm: security.selinux +[ 3.169015] evm: security.SMACK64 (disabled) +[ 3.169041] evm: security.SMACK64EXEC (disabled) +[ 3.169065] evm: security.SMACK64TRANSMUTE (disabled) +[ 3.169090] evm: security.SMACK64MMAP (disabled) +[ 3.169116] evm: security.apparmor +[ 3.169136] evm: security.ima +[ 3.169154] evm: security.capability +[ 3.169180] evm: HMAC attrs: 0x1 +[ 3.327697] clk: Disabling unused clocks +[ 3.330792] uart-pl011 9000000.pl011: no DMA platform data +[ 3.371329] Freeing unused kernel memory: 6464K +[ 3.384228] Checked W+X mappings: passed, no W+X pages found +[ 3.384676] Run /init as init process +[ 3.516490] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003) +[ 3.520089] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003) +[ 3.532266] virtio_blk virtio1: 1/0/0 default/read/poll queues +[ 3.542820] virtio_blk virtio1: [vda] 3072000 512-byte logical blocks (1.57 GB/1.46 GiB) +initramfs: warte auf /dev/vda... +[ 3.749174] EXT4-fs (vda): mounted filesystem with ordered data mode. Quota mode: none. +[ 4.726668] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist. +[ 4.920303] systemd[1]: Failed to lookup module alias 'autofs4': Function not implemented +[ 5.022534] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) +[ 5.025253] systemd[1]: Detected virtualization qemu. +[ 5.025729] systemd[1]: Detected architecture arm64. + +Welcome to Debian GNU/Linux 10 (buster)! + +[ 5.073092] systemd[1]: Set hostname to . +[ 6.874622] systemd[1]: /etc/systemd/system/serial-getty@ttyAMA0.service.d/autologin.conf:2: Failed to parse service type, ignoring: +[ 6.916382] systemd[1]: Listening on udev Control Socket. +[ OK ] Listening on udev Control Socket. +[ 6.921010] systemd[1]: Listening on Syslog Socket. +[ OK ] Listening on Syslog Socket. +[ 6.932047] systemd[1]: Created slice User and Session Slice. +[ OK ] Created slice User and Session Slice. +[ 6.941006] systemd[1]: Created slice system-getty.slice. +[ OK ] Created slice system-getty.slice. +[ 6.944775] systemd[1]: Created slice system-serial\x2dgetty.slice. +[ OK ] Created slice system-serial\x2dgetty.slice. +[ OK ] Listening on Journal Audit Socket. +[ OK ] Started Forward Password R…uests to Wall Directory Watch. +[ OK ] Started Dispatch Password …ts to Console Directory Watch. +[ OK ] Reached target Paths. +[ OK ] Reached target Slices. +[ OK ] Reached target Local Encrypted Volumes. +[ OK ] Listening on Journal Socket (/dev/log). +[ OK ] Listening on initctl Compatibility Named Pipe. +[ OK ] Reached target Remote File Systems. +[ OK ] Listening on Journal Socket. + Mounting Huge Pages File System... + Starting Journal Service... + Mounting POSIX Message Queue File System... + Mounting Kernel Debug File System... + Starting Restore / save the current clock... +[ OK ] Reached target Swap. + Starting Remount Root and Kernel File Systems... + Starting Load Kernel Modules... + Starting Set the console keyboard layout... +[ OK ] Listening on udev Kernel Socket. + Starting udev Coldplug all Devices... +[UNSUPP] Starting of Arbitrary Exec…Automount Point not supported. +[ OK ] Mounted Huge Pages File System. +[ OK ] Mounted POSIX Message Queue File System. +[ OK ] Mounted Kernel Debug File System. +[ OK ] Started Restore / save the current clock. +[ 8.191779] EXT4-fs (vda): re-mounted. Quota mode: none. +[FAILED] Failed to start Load Kernel Modules. +See 'systemctl status systemd-modules-load.service' for details. +[ OK ] Started Remount Root and Kernel File Systems. + Starting Create System Users... + Starting Load/Save Random Seed... + Starting Apply Kernel Variables... +[ OK ] Started Load/Save Random Seed. +[ OK ] Started Journal Service. +[ OK ] Started Create System Users. + Starting Create Static Device Nodes in /dev... + Starting Flush Journal to Persistent Storage... +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Flush Journal to Persistent Storage. +[ OK ] Started Create Static Device Nodes in /dev. + Starting udev Kernel Device Manager... +[ OK ] Started udev Kernel Device Manager. +[ OK ] Started Set the console keyboard layout. +[ OK ] Reached target Local File Systems (Pre). + Mounting /tmp... +[ OK ] Mounted /tmp. +[ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting Create Volatile Files and Directories... +[ OK ] Started Set console font and keymap. +[ OK ] Found device /dev/ttyAMA0. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Started Create Volatile Files and Directories. + Starting Update UTMP about System Boot/Shutdown... +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Reached target System Initialization. +[ OK ] Started Daily rotation of log files. +[ OK ] Started Daily Cleanup of Temporary Directories. +[ OK ] Started Daily Cleanup of Coredump Files. +[ OK ] Reached target Timers. +[ OK ] Listening on VyOS Configur…and Monitoring service socket. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Listening on triggerhappy.socket. +[ OK ] Reached target Sockets. +[ OK ] Reached target Basic System. + Starting Deferred execution scheduler... +[ OK ] Started Regular background program processing daemon. + Starting triggerhappy global hotkey daemon... + Starting QCA configuration initialization... + Starting System Logging Service... + Starting Restore /etc/reso… the ppp link was shut down... +[ OK ] Started D-Bus System Message Bus. + Starting Login Service... +[ OK ] Started triggerhappy global hotkey daemon. +[ OK ] Started Deferred execution scheduler. +[ OK ] Started Restore /etc/resol…re the ppp link was shut down. +[FAILED] Failed to start QCA configuration initialization. +See 'systemctl status qca-osdx-conf.service' for details. +[ OK ] Started System Logging Service. + Starting QCA base initialization service... +[ OK ] Started Login Service. +[ OK ] Started QCA base initialization service. + Starting OSDx Initialization... +[ 20.064423] osdx-start[204]: cat: /proc/mtd: No such file or directory +[ 20.171232] osdx-start[204]: cat: /proc/mtd: No such file or directory +[ 20.285240] osdx-start[204]: cat: /proc/mtd: No such file or directory +[ 20.463936] osdx-start[204]: Cannot open 0x0: No such file or directory +[ 20.507312] osdx-start[204]: Preparing environment +[ 20.636227] osdx-start[204]: Cannot open 0x0: No such file or directory +[ 20.791487] osdx-start[204]: Cannot open 0x0: No such file or directory +[ 20.794905] osdx-start[204]: Error: environment not initialized +[ 20.845741] osdx-start[204]: Cannot open 0x0: No such file or directory +[ 21.692421] osdx-start[204]: /opt/vyatta/bin/osdx-mode-user: line 6: /etc/vyos/vyos_mode: No such file or directory +[ 21.700790] osdx-start[204]: /opt/vyatta/bin/osdx-mode-user: line 84: [: too many arguments +[ 21.809710] osdx-start[204]: Mounting config +[ 22.138287] osdx-start[204]: Mounting coredump directory +[ 22.215427] osdx-start[204]: Generating keys +[ 22.965356] osdx-start[204]: Cleaning up +[ OK ] Started OSDx Initialization. + Starting FRRouting... + Starting Report Kernel Panic Service... + Starting QCA CNSS daemon... + Starting QRTR userspace daemon... + Starting OSDx Python Module Launcher service... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Started FRRouting. +[ OK ] Reached target Network. +[ OK ] Reached target Network is Online. + Starting Internet superserver... + Starting OpenBSD Secure Shell session cleanup... +[ OK ] Started OpenBSD Secure Shell session cleanup. +[ OK ] Started Internet superserver. +[ OK ] Started QCA CNSS daemon. + Starting QCA initialization service... +[ OK ] Started OSDx Python Module Launcher service. +[ OK ] Started Report Kernel Panic Service. + Starting Log reboot and shutdown... +[ OK ] Started Log reboot and shutdown. + Starting VyOS Configuration and Monitoring service... +[ OK ] Started QCA initialization service. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[FAILED] Failed to start QCA Thermald. +See 'systemctl status qca-thermald.service' for details. +[ 62.319098] sh[297]: sudo: account validation failure, is your account locked? +[ OK ] Started VyOS Configuration and Monitoring service. + Starting OSDx Bluetooth Monitoring... +[ OK ] Started OSDx Bluetooth Monitoring. + Starting OSDx Router configuration load... +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 72.280265] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 72.757429] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 73.004858] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 73.007799] osdx-load-config[1004]: Error: environment not initialized +[ 73.018341] osdx-load-config[1004]: Initialize boot file +[ 74.468289] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 74.537818] osdx-load-config[1004]: Using factory configuration for default +[ OK ] Started OSDx Bluetooth Monitoring. +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 79.344525] osdx-load-config[1004]: Loading configuration +[ 83.872795] osdx-load-config[1004]: Configuration validation error! +[ 83.874617] osdx-load-config[1004]: Initialize boot file +[ 85.516199] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ OK ] Started OSDx Bluetooth Monitoring. +[ 85.599388] osdx-load-config[1004]: Using factory configuration for default +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 90.072252] osdx-load-config[1004]: Loading configuration +[ OK ] Started OSDx Bluetooth Monitoring. +[ 92.772358] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 92.862188] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 92.865311] osdx-load-config[1004]: Error: environment not initialized +[ 92.899943] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 92.903466] osdx-load-config[1004]: Error: environment not initialized +[ 92.934577] osdx-load-config[1004]: Cannot open 0x0: No such file or directory +[ 92.938389] osdx-load-config[1004]: Error: environment not initialized +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 94.115415] osdx-load-config[1004]: /opt/vyatta/bin/platform/leds: line 7: /sys/class/leds/status_red/trigger: No such file or directory +[ OK ] Started OSDx Router configuration load. + Starting Boot log saving... + Starting Permit User Sessions... +[ OK ] Started Permit User Sessions. +[ OK ] Started Getty on tty1. +[ OK ] Started Serial Getty on ttyAMA0. +[ OK ] Reached target Login Prompts. +[ OK ] Started Boot log saving. +[ OK ] Started OSDx Bluetooth Monitoring. +[ OK ] Reached target Multi-User System. + Starting CPU Scaling Governor... + Starting Update UTMP about System Runlevel Changes... +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ OK ] Started Update UTMP about System Runlevel Changes. +[ OK ] Started CPU Scaling Governor. +[ OK ] Reached target QCA PostInit Target. +root@osdx:/# qemu-system-aarch64: terminating on signal 15 from pid 11 (timeout) diff --git a/logs/boot-interactive.log b/logs/boot-interactive.log new file mode 100644 index 0000000..4142d3f --- /dev/null +++ b/logs/boot-interactive.log @@ -0,0 +1,580 @@ +[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] +[ 0.000000] Linux version 6.1.0-50-arm64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP Debian 6.1.176-1 (2026-07-02) +[ 0.000000] random: crng init done +[ 0.000000] Machine model: linux,dummy-virt +[ 0.000000] efi: UEFI not found. +[ 0.000000] NUMA: No NUMA configuration found +[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] NUMA: NODE_DATA [mem 0x7fdf0380-0x7fdf2fff] +[ 0.000000] Zone ranges: +[ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] DMA32 empty +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] cma: Reserved 64 MiB at 0x000000007ac00000 +[ 0.000000] psci: probing for conduit method from DT. +[ 0.000000] psci: PSCIv1.1 detected in firmware. +[ 0.000000] psci: Using standard PSCI v0.2 function IDs +[ 0.000000] psci: Trusted OS migration not required +[ 0.000000] psci: SMC Calling Convention v1.0 +[ 0.000000] percpu: Embedded 31 pages/cpu s87208 r8192 d31576 u126976 +[ 0.000000] Detected VIPT I-cache on CPU0 +[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR +[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI) +[ 0.000000] CPU features: detected: ARM erratum 843419 +[ 0.000000] CPU features: detected: ARM erratum 845719 +[ 0.000000] alternatives: applying boot alternatives +[ 0.000000] Fallback order for Node 0: 0 +[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048 +[ 0.000000] Policy zone: DMA +[ 0.000000] Kernel command line: root=/dev/vda rw console=ttyAMA0,115200 +[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) +[ 0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off +[ 0.000000] Memory: 98324K/1048576K available (13248K kernel code, 2806K rwdata, 9504K rodata, 6464K init, 627K bss, 139804K reserved, 65536K cma-reserved) +[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 +[ 0.000000] ftrace: allocating 44174 entries in 173 pages +[ 0.000000] ftrace: allocated 173 pages with 5 groups +[ 0.000000] trace event string verifier disabled +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1. +[ 0.000000] Rude variant of Tasks RCU enabled. +[ 0.000000] Tracing variant of Tasks RCU enabled. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] Root IRQ handler: gic_handle_irq +[ 0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143] +[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. +[ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt). +[ 0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns +[ 0.000060] sched_clock: 57 bits at 63MHz, resolution 16ns, wraps every 4398046511096ns +[ 0.006333] Console: colour dummy device 80x25 +[ 0.008143] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000) +[ 0.008302] pid_max: default: 32768 minimum: 301 +[ 0.009462] LSM: Security Framework initializing +[ 0.010239] landlock: Up and running. +[ 0.010253] Yama: disabled by default; enable with sysctl kernel.yama.* +[ 0.012597] AppArmor: AppArmor initialized +[ 0.012652] TOMOYO Linux initialized +[ 0.013209] LSM support for eBPF active +[ 0.014560] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) +[ 0.014592] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) +[ 0.044096] cblist_init_generic: Setting adjustable number of callback queues. +[ 0.044123] cblist_init_generic: Setting shift to 0 and lim to 1. +[ 0.044335] cblist_init_generic: Setting adjustable number of callback queues. +[ 0.044343] cblist_init_generic: Setting shift to 0 and lim to 1. +[ 0.045688] rcu: Hierarchical SRCU implementation. +[ 0.045716] rcu: Max phase no-delay instances is 1000. +[ 0.049907] EFI services will not be available. +[ 0.051928] smp: Bringing up secondary CPUs ... +[ 0.052030] smp: Brought up 1 node, 1 CPU +[ 0.052047] SMP: Total of 1 processors activated. +[ 0.052122] CPU features: detected: 32-bit EL0 Support +[ 0.052135] CPU features: detected: 32-bit EL1 Support +[ 0.052189] CPU features: detected: CRC32 instructions +[ 0.053570] CPU: All CPU(s) started at EL1 +[ 0.053704] alternatives: applying system-wide alternatives +[ 0.067215] node 0 deferred pages initialised in 4ms +[ 0.081166] devtmpfs: initialized +[ 0.091693] Registered cp15_barrier emulation handler +[ 0.091758] Registered setend emulation handler +[ 0.093420] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.093546] futex hash table entries: 256 (order: 2, 16384 bytes, linear) +[ 0.098380] pinctrl core: initialized pinctrl subsystem +[ 0.106080] DMI not present or invalid. +[ 0.112700] NET: Registered PF_NETLINK/PF_ROUTE protocol family +[ 0.121221] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations +[ 0.121651] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations +[ 0.121833] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations +[ 0.122033] audit: initializing netlink subsys (disabled) +[ 0.126070] audit: type=2000 audit(0.116:1): state=initialized audit_enabled=0 res=1 +[ 0.127388] thermal_sys: Registered thermal governor 'fair_share' +[ 0.127423] thermal_sys: Registered thermal governor 'bang_bang' +[ 0.127440] thermal_sys: Registered thermal governor 'step_wise' +[ 0.127444] thermal_sys: Registered thermal governor 'user_space' +[ 0.127446] thermal_sys: Registered thermal governor 'power_allocator' +[ 0.127761] cpuidle: using governor ladder +[ 0.127874] cpuidle: using governor menu +[ 0.128585] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. +[ 0.128992] ASID allocator initialised with 32768 entries +[ 0.130347] Serial: AMBA PL011 UART driver +[ 0.148830] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 13, base_baud = 0) is a PL011 rev1 +[ 0.153903] printk: console [ttyAMA0] enabled +[ 0.162131] KASLR enabled +[ 0.179725] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages +[ 0.179810] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page +[ 0.179860] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages +[ 0.179897] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page +[ 0.179930] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.179992] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page +[ 0.180028] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages +[ 0.180064] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page +[ 0.190898] ACPI: Interpreter disabled. +[ 0.192493] iommu: Default domain type: Translated +[ 0.192596] iommu: DMA domain TLB invalidation policy: strict mode +[ 0.193350] pps_core: LinuxPPS API ver. 1 registered +[ 0.193401] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti +[ 0.193499] PTP clock support registered +[ 0.193678] EDAC MC: Ver: 3.0.0 +[ 0.203774] NetLabel: Initializing +[ 0.203846] NetLabel: domain hash size = 128 +[ 0.203879] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.204807] NetLabel: unlabeled traffic allowed by default +[ 0.205343] vgaarb: loaded +[ 0.207986] clocksource: Switched to clocksource arch_sys_counter +[ 0.243454] VFS: Disk quotas dquot_6.6.0 +[ 0.243708] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.247595] AppArmor: AppArmor Filesystem Enabled +[ 0.249350] pnp: PnP ACPI: disabled +[ 0.259303] NET: Registered PF_INET protocol family +[ 0.260829] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) +[ 0.266414] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) +[ 0.266586] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) +[ 0.266682] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) +[ 0.266897] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear) +[ 0.267078] TCP: Hash tables configured (established 8192 bind 8192) +[ 0.268366] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear) +[ 0.268622] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) +[ 0.268815] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) +[ 0.269937] NET: Registered PF_UNIX/PF_LOCAL protocol family +[ 0.270295] NET: Registered PF_XDP protocol family +[ 0.270447] PCI: CLS 0 bytes, default 64 +[ 0.274777] Trying to unpack rootfs image as initramfs... +[ 0.284178] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available +[ 0.284801] kvm [1]: HYP mode not available +[ 0.289879] Initialise system trusted keyrings +[ 0.291423] Key type blacklist registered +[ 0.296545] workingset: timestamp_bits=42 max_order=18 bucket_order=0 +[ 0.305794] zbud: loaded +[ 0.314576] integrity: Platform Keyring initialized +[ 0.314904] integrity: Machine keyring initialized +[ 0.314982] Key type asymmetric registered +[ 0.315062] Asymmetric key parser 'x509' registered +[ 2.906915] Freeing initrd memory: 85728K +[ 2.926763] alg: self-tests for CTR-KDF (hmac(sha256)) passed +[ 2.927080] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) +[ 2.927625] io scheduler mq-deadline registered +[ 2.937575] pl061_gpio 9030000.pl061: PL061 GPIO chip registered +[ 2.939950] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 +[ 2.940674] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges: +[ 2.941457] pci-host-generic 4010000000.pcie: IO 0x003eff0000..0x003effffff -> 0x0000000000 +[ 2.941899] pci-host-generic 4010000000.pcie: MEM 0x0010000000..0x003efeffff -> 0x0010000000 +[ 2.941988] pci-host-generic 4010000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000 +[ 2.942426] pci-host-generic 4010000000.pcie: Memory resource size exceeds max for 32 bits +[ 2.942865] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff] +[ 2.943830] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00 +[ 2.944202] pci_bus 0000:00: root bus resource [bus 00-ff] +[ 2.944302] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] +[ 2.944368] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff] +[ 2.944410] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff] +[ 2.945668] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000 +[ 2.948710] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000 +[ 2.948925] pci 0000:00:01.0: BAR 0 [io 0x0000-0x001f] +[ 2.948992] pci 0000:00:01.0: BAR 1 [mem 0x00000000-0x00000fff] +[ 2.949076] pci 0000:00:01.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] +[ 2.949182] pci 0000:00:01.0: ROM [mem 0x00000000-0x0003ffff pref] +[ 2.949444] pci 0000:00:02.0: [1af4:1001] type 00 class 0x010000 +[ 2.949497] pci 0000:00:02.0: BAR 0 [io 0x0000-0x007f] +[ 2.949536] pci 0000:00:02.0: BAR 1 [mem 0x00000000-0x00000fff] +[ 2.949578] pci 0000:00:02.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] +[ 2.950990] pci 0000:00:01.0: ROM [mem 0x10000000-0x1003ffff pref]: assigned +[ 2.951316] pci 0000:00:01.0: BAR 4 [mem 0x8000000000-0x8000003fff 64bit pref]: assigned +[ 2.951505] pci 0000:00:02.0: BAR 4 [mem 0x8000004000-0x8000007fff 64bit pref]: assigned +[ 2.951558] pci 0000:00:01.0: BAR 1 [mem 0x10040000-0x10040fff]: assigned +[ 2.951643] pci 0000:00:02.0: BAR 1 [mem 0x10041000-0x10041fff]: assigned +[ 2.951688] pci 0000:00:02.0: BAR 0 [io 0x1000-0x107f]: assigned +[ 2.951741] pci 0000:00:01.0: BAR 0 [io 0x1080-0x109f]: assigned +[ 2.961604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled +[ 2.963916] Serial: AMBA driver +[ 2.964045] SuperH (H)SCI(F) driver initialized +[ 2.964539] msm_serial: driver initialized +[ 2.967948] mousedev: PS/2 mouse device common for all mice +[ 2.971458] rtc-pl031 9010000.pl031: registered as rtc0 +[ 2.972094] rtc-pl031 9010000.pl031: setting system clock to 2026-09-16T18:43:21 UTC (1789584201) +[ 2.975169] ledtrig-cpu: registered to indicate activity on CPUs +[ 3.012638] NET: Registered PF_INET6 protocol family +[ 3.021448] Segment Routing with IPv6 +[ 3.021694] In-situ OAM (IOAM) with IPv6 +[ 3.022069] mip6: Mobile IPv6 +[ 3.022326] NET: Registered PF_PACKET protocol family +[ 3.022788] mpls_gso: MPLS GSO support +[ 3.024593] registered taskstats version 1 +[ 3.024844] Loading compiled-in X.509 certificates +[ 3.061474] Loaded X.509 cert 'Build time autogenerated kernel key: e15d7c2f27e6115d3eddefe889ed9204ab4c8f27' +[ 3.065070] zswap: loaded using pool lzo/zbud +[ 3.065950] Key type .fscrypt registered +[ 3.066001] Key type fscrypt-provisioning registered +[ 3.074333] Key type encrypted registered +[ 3.074465] AppArmor: AppArmor sha1 policy hashing enabled +[ 3.074979] ima: No TPM chip found, activating TPM-bypass! +[ 3.075071] ima: Allocated hash algorithm: sha256 +[ 3.076681] ima: No architecture policies found +[ 3.077085] evm: Initialising EVM extended attributes: +[ 3.077126] evm: security.selinux +[ 3.077167] evm: security.SMACK64 (disabled) +[ 3.077193] evm: security.SMACK64EXEC (disabled) +[ 3.077219] evm: security.SMACK64TRANSMUTE (disabled) +[ 3.077247] evm: security.SMACK64MMAP (disabled) +[ 3.077272] evm: security.apparmor +[ 3.077293] evm: security.ima +[ 3.077311] evm: security.capability +[ 3.077338] evm: HMAC attrs: 0x1 +[ 3.240033] clk: Disabling unused clocks +[ 3.243586] uart-pl011 9000000.pl011: no DMA platform data +[ 3.288607] Freeing unused kernel memory: 6464K +[ 3.303310] Checked W+X mappings: passed, no W+X pages found +[ 3.303955] Run /init as init process +[ 3.434557] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003) +[ 3.437420] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003) +[ 3.449493] virtio_blk virtio1: 1/0/0 default/read/poll queues +[ 3.459849] virtio_blk virtio1: [vda] 3072000 512-byte logical blocks (1.57 GB/1.46 GiB) +initramfs: warte auf /dev/vda... +[ 3.767810] EXT4-fs (vda): recovery complete +[ 3.769326] EXT4-fs (vda): mounted filesystem with ordered data mode. Quota mode: none. +[ 4.670749] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist. +[ 4.867472] systemd[1]: Failed to lookup module alias 'autofs4': Function not implemented +[ 4.958440] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) +[ 4.960264] systemd[1]: Detected virtualization qemu. +[ 4.960570] systemd[1]: Detected architecture arm64. + +Welcome to Debian GNU/Linux 10 (buster)! + +[ 5.004893] systemd[1]: Set hostname to . +[ 6.694201] systemd[1]: /etc/systemd/system/serial-getty@ttyAMA0.service.d/autologin.conf:2: Failed to parse service type, ignoring: +[ 6.733603] systemd[1]: Listening on Journal Socket. +[ OK ] Listening on Journal Socket. +[ 6.775461] systemd[1]: Starting Set the console keyboard layout... + Starting Set the console keyboard layout... +[ 6.802848] systemd[1]: Starting Remount Root and Kernel File Systems... + Starting Remount Root and Kernel File Systems... +[ 6.809204] systemd[1]: Starting of Arbitrary Executable File Formats File System Automount Point not supported. +[UNSUPP] Starting of Arbitrary Exec…Automount Point not supported. +[ 6.823403] systemd[1]: Listening on Journal Audit Socket. +[ OK ] Listening on Journal Audit Socket. +[ OK ] Listening on udev Control Socket. +[ OK ] Started Dispatch Password …ts to Console Directory Watch. +[ OK ] Listening on udev Kernel Socket. + Starting udev Coldplug all Devices... +[ OK ] Reached target Swap. +[ OK ] Reached target Remote File Systems. +[ OK ] Created slice system-serial\x2dgetty.slice. + Mounting Huge Pages File System... +[ OK ] Started Forward Password R…uests to Wall Directory Watch. +[ OK ] Reached target Paths. +[ OK ] Created slice system-getty.slice. + Starting Load Kernel Modules... + Mounting POSIX Message Queue File System... + Starting Restore / save the current clock... +[ OK ] Listening on Syslog Socket. +[ OK ] Created slice User and Session Slice. +[ OK ] Reached target Slices. +[ OK ] Listening on Journal Socket (/dev/log). +[ 7.594905] EXT4-fs (vda): re-mounted. Quota mode: none. + Starting Journal Service... + Mounting Kernel Debug File System... +[ OK ] Reached target Local Encrypted Volumes. +[ OK ] Listening on initctl Compatibility Named Pipe. +[ OK ] Started Remount Root and Kernel File Systems. +[ OK ] Mounted Huge Pages File System. +[ OK ] Mounted POSIX Message Queue File System. +[FAILED] Failed to start Load Kernel Modules. +See 'systemctl status systemd-modules-load.service' for details. +[ OK ] Started Restore / save the current clock. +[ OK ] Mounted Kernel Debug File System. + Starting Apply Kernel Variables... + Starting Create System Users... + Starting Load/Save Random Seed... +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Load/Save Random Seed. +[ OK ] Started Create System Users. + Starting Create Static Device Nodes in /dev... +[ OK ] Started Journal Service. + Starting Flush Journal to Persistent Storage... +[ OK ] Started Create Static Device Nodes in /dev. + Starting udev Kernel Device Manager... +[ OK ] Started Flush Journal to Persistent Storage. +[ OK ] Started udev Kernel Device Manager. +[ OK ] Started Set the console keyboard layout. +[ OK ] Reached target Local File Systems (Pre). + Mounting /tmp... +[ OK ] Mounted /tmp. +[ OK ] Reached target Local File Systems. + Starting Set console font and keymap... + Starting Create Volatile Files and Directories... +[ OK ] Started Set console font and keymap. +[ OK ] Started Create Volatile Files and Directories. + Starting Update UTMP about System Boot/Shutdown... +[ OK ] Found device /dev/ttyAMA0. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Reached target System Initialization. +[ OK ] Started Daily rotation of log files. +[ OK ] Listening on VyOS Configur…and Monitoring service socket. +[ OK ] Started Daily Cleanup of Temporary Directories. +[ OK ] Listening on triggerhappy.socket. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Reached target Sockets. +[ OK ] Reached target Basic System. + Starting triggerhappy global hotkey daemon... + Starting Login Service... + Starting QCA configuration initialization... +[ OK ] Started D-Bus System Message Bus. + Starting System Logging Service... +[ OK ] Started Regular background program processing daemon. + Starting Restore /etc/reso… the ppp link was shut down... + Starting Deferred execution scheduler... +[ OK ] Started Daily Cleanup of Coredump Files. +[ OK ] Reached target Timers. +[ OK ] Started triggerhappy global hotkey daemon. +[ OK ] Started Login Service. +[ OK ] Started System Logging Service. +[FAILED] Failed to start QCA configuration initialization. +See 'systemctl status qca-osdx-conf.service' for details. +[ OK ] Started Restore /etc/resol…re the ppp link was shut down. +[ OK ] Started Deferred execution scheduler. + Starting QCA base initialization service... +[ OK ] Started QCA base initialization service. + Starting OSDx Initialization... +[ 19.831118] osdx-start[207]: Cannot open 0x0: No such file or directory +[ 19.867013] osdx-start[207]: Preparing environment +[ 19.992458] osdx-start[207]: Cannot open 0x0: No such file or directory +[ 20.148216] osdx-start[207]: Cannot open 0x0: No such file or directory +[ 20.151300] osdx-start[207]: Error: environment not initialized +[ 20.189239] osdx-start[207]: Cannot open 0x0: No such file or directory +[ 21.064945] osdx-start[207]: /opt/vyatta/bin/osdx-mode-user: line 6: /etc/vyos/vyos_mode: No such file or directory +[ 21.073871] osdx-start[207]: /opt/vyatta/bin/osdx-mode-user: line 84: [: too many arguments +[ 21.177444] osdx-start[207]: Mounting config +[ 21.512878] osdx-start[207]: Mounting coredump directory +[ 21.570381] osdx-start[207]: Generating keys +[ 21.573953] osdx-start[207]: Cleaning up +[ OK ] Started OSDx Initialization. + Starting QRTR userspace daemon... + Starting QCA CNSS daemon... + Starting FRRouting... + Starting Report Kernel Panic Service... + Starting OSDx Python Module Launcher service... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Started FRRouting. +[ OK ] Reached target Network. + Starting OpenBSD Secure Shell session cleanup... +[ OK ] Reached target Network is Online. + Starting Internet superserver... +[ OK ] Started OpenBSD Secure Shell session cleanup. +[ OK ] Started Internet superserver. +[ OK ] Started QCA CNSS daemon. + Starting QCA initialization service... +[ OK ] Started OSDx Python Module Launcher service. +[ OK ] Started Report Kernel Panic Service. + Starting Log reboot and shutdown... +[ OK ] Started Log reboot and shutdown. + Starting VyOS Configuration and Monitoring service... +[ OK ] Started QCA initialization service. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[FAILED] Failed to start QCA Thermald. +See 'systemctl status qca-thermald.service' for details. +[ 58.841780] sh[282]: sudo: account validation failure, is your account locked? +[ OK ] Started VyOS Configuration and Monitoring service. + Starting OSDx Bluetooth Monitoring... +[ OK ] Started OSDx Bluetooth Monitoring. + Starting OSDx Router configuration load... +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 68.751348] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 69.234849] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 69.473818] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 69.480924] osdx-load-config[985]: Error: environment not initialized +[ 69.496438] osdx-load-config[985]: Initialize boot file +[ 70.920187] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 70.974083] osdx-load-config[985]: Using factory configuration for default +[ OK ] Started OSDx Bluetooth Monitoring. +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 75.004397] osdx-load-config[985]: Loading configuration +[ 79.728526] osdx-load-config[985]: Configuration validation error! +[ 79.764340] osdx-load-config[985]: Initialize boot file +[ OK ] Started OSDx Bluetooth Monitoring. +[ 81.439763] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 81.485924] osdx-load-config[985]: Using factory configuration for default +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 85.672398] osdx-load-config[985]: Loading configuration +[ OK ] Started OSDx Bluetooth Monitoring. +[ 88.042570] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ 88.125130] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 88.130427] osdx-load-config[985]: Error: environment not initialized +[ 88.193572] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 88.197556] osdx-load-config[985]: Error: environment not initialized +[ 88.255338] osdx-load-config[985]: Cannot open 0x0: No such file or directory +[ 88.265663] osdx-load-config[985]: Error: environment not initialized +[ 89.375482] osdx-load-config[985]: /opt/vyatta/bin/platform/leds: line 7: /sys/class/leds/status_red/trigger: No such file or directory +[ OK ] Started OSDx Router configuration load. + Starting Boot log saving... + Starting Permit User Sessions... +[ OK ] Started Permit User Sessions. +[ OK ] Started Getty on tty1. +[ OK ] Started Serial Getty on ttyAMA0. +[ OK ] Reached target Login Prompts. +[ OK ] Started Boot log saving. +[ OK ] Started OSDx Bluetooth Monitoring. +[ OK ] Reached target Multi-User System. + Starting Update UTMP about System Runlevel Changes... + Starting CPU Scaling Governor... +[ OK ] Started Update UTMP about System Runlevel Changes. +[ OK ] Stopped OSDx Bluetooth Monitoring. + Starting OSDx Bluetooth Monitoring... +[ OK ] Started CPU Scaling Governor. +[ OK ] Reached target QCA PostInit Target. +root@osdx:/# uname -a +Linux osdx 6.1.0-50-arm64 #1 SMP Debian 6.1.176-1 (2026-07-02) aarch64 GNU/Linux +root@osdx:/# cat /etc/os-release | head -2 +PRETTY_NAME="Debian GNU/Linux 10 (buster)" +NAME="Debian GNU/Linux" +root@osdx:/# ip -br link show 2>/dev/null | head -5 +lo UNKNOWN 00:00:00:00:00:00 +eth0 DOWN 52:54:00:12:34:56 +root@osdx:/# ls /opt/vyatta/bin | head -12 +get_config.py +mon +mon-show-db.py +op +osdx_conntrack.sh +osdx-kill-process.py +osdx-log-reboot.sh +osdx-mode-user +osdx-monitor-test-connection.sh +osdx-monitor-test-performance.sh +osdx-monitor-traffic-dump.sh +osdx-monitor-traffic-flow.sh +root@osdx:/# poweroff +root@osdx:/# [ OK ] Stopped target Timers. +[ OK ] Stopped Daily Cleanup of Coredump Files. +[ OK ] Stopped Daily rotation of log files. +[ OK ] Stopped Daily Cleanup of Temporary Directories. +[ OK ] Stopped target QCA PostInit Target. + Stopping CPU Scaling Governor... +[ OK ] Stopped CPU Scaling Governor. +[ OK ] Stopped target Multi-User System. + Stopping Internet superserver... + Stopping Regular background program processing daemon... + Stopping triggerhappy global hotkey daemon... + Stopping QCA initialization service... + Stopping Deferred execution scheduler... +[ OK ] Stopped target Login Prompts. + Stopping Getty on tty1... + Stopping Serial Getty on ttyAMA0... +logout + Stopping D-Bus System Message Bus... + Stopping OpenBSD Secure Shell session cleanup... + Stopping Login Service... +[ OK ] Stopped triggerhappy global hotkey daemon. +[ OK ] Stopped Login Service. +[ OK ] Stopped D-Bus System Message Bus. +[ OK ] Stopped Regular background program processing daemon. +[ OK ] Stopped Deferred execution scheduler. +[ OK ] Stopped Internet superserver. +[ OK ] Stopped Getty on tty1. +[ OK ] Stopped Serial Getty on ttyAMA0. +[ OK ] Removed slice system-serial\x2dgetty.slice. + Stopping Permit User Sessions... +[ OK ] Removed slice system-getty.slice. +[ OK ] Stopped target Network is Online. +[ OK ] Stopped OpenBSD Secure Shell session cleanup. +[ OK ] Stopped Permit User Sessions. +[ OK ] Stopped target Network. +[ OK ] Stopped target Remote File Systems. +[ OK ] Stopped OSDx Router configuration load. + Stopping FRRouting... +[ OK ] Stopped OSDx Bluetooth Monitoring. + Stopping VyOS Configuration and Monitoring service... +[ OK ] Stopped VyOS Configuration and Monitoring service. + Stopping OSDx Python Module Launcher service... + Stopping Log reboot and shutdown... +[ OK ] Stopped OSDx Python Module Launcher service. +[ OK ] Stopped FRRouting. +[ OK ] Stopped Log reboot and shutdown. +[*** ] A stop job is running for QCA initialization service (10s / 1min 32s) +M [ *** ] A stop job is running for QCA initialization service (11s / 1min 32s) +M [ *** ] A stop job is running for QCA initialization service (11s / 1min 32s) +M [ OK ] Stopped QCA initialization service. + Stopping QCA base initialization service... + Stopping QCA CNSS daemon... +[ OK ] Stopped QCA CNSS daemon. +[ OK ] Stopped QCA base initialization service. + Stopping System Logging Service... +[ OK ] Stopped System Logging Service. +[ OK ] Stopped target Basic System. +[ OK ] Stopped target Sockets. +[ OK ] Closed VyOS Configuration and Monitoring service socket. +[ OK ] Closed D-Bus System Message Bus Socket. +[ OK ] Closed triggerhappy.socket. +[ OK ] Stopped target Slices. +[ OK ] Removed slice User and Session Slice. +[ OK ] Stopped target System Initialization. + Stopping Load/Save Random Seed... + Stopping Restore / save the current clock... +[ OK ] Stopped target Local Encrypted Volumes. +[ OK ] Stopped Apply Kernel Variables. + Stopping Update UTMP about System Boot/Shutdown... +[ OK ] Stopped target Paths. +[ OK ] Stopped Dispatch Password …ts to Console Directory Watch. +[ OK ] Stopped Forward Password R…uests to Wall Directory Watch. +[ OK ] Closed Syslog Socket. +[ OK ] Stopped Load/Save Random Seed. +[ OK ] Stopped Restore / save the current clock. +[ OK ] Stopped Update UTMP about System Boot/Shutdown. +[ OK ] Stopped Create Volatile Files and Directories. +[ OK ] Stopped target Local File Systems. + Unmounting /tmp... + Unmounting /opt/vyatta/config... + Unmounting /config... + Unmounting /var/lib/systemd/coredump... +[ OK ] Unmounted /tmp. +[ OK ] Unmounted /opt/vyatta/config. +[ OK ] Unmounted /config. +[ OK ] Unmounted /var/lib/systemd/coredump. +[ OK ] Reached target Unmount All Filesystems. +[ OK ] Stopped target Swap. +[ OK ] Stopped target Local File Systems (Pre). +[ OK ] Stopped Create Static Device Nodes in /dev. +[ OK ] Stopped Create System Users. +[ OK ] Stopped Remount Root and Kernel File Systems. +[ OK ] Reached target Shutdown. +[ OK ] Reached target Final Step. +[ OK ] Started Power-Off. +[ OK ] Reached target Power-Off. +[ 175.387566] reboot: Power down diff --git a/logs/boot-native.log b/logs/boot-native.log new file mode 100644 index 0000000..7785450 --- /dev/null +++ b/logs/boot-native.log @@ -0,0 +1 @@ +qemu-system-aarch64: terminating on signal 15 from pid 8 (timeout) diff --git a/logs/boot-webtest.log b/logs/boot-webtest.log new file mode 100644 index 0000000..3434026 --- /dev/null +++ b/logs/boot-webtest.log @@ -0,0 +1,457 @@ +[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] +[ 0.000000] Linux version 6.1.0-50-arm64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP Debian 6.1.176-1 (2026-07-02) +[ 0.000000] random: crng init done +[ 0.000000] Machine model: linux,dummy-virt +[ 0.000000] efi: UEFI not found. +[ 0.000000] NUMA: No NUMA configuration found +[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] NUMA: NODE_DATA [mem 0x7fdf0380-0x7fdf2fff] +[ 0.000000] Zone ranges: +[ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] DMA32 empty +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff] +[ 0.000000] cma: Reserved 64 MiB at 0x000000007ac00000 +[ 0.000000] psci: probing for conduit method from DT. +[ 0.000000] psci: PSCIv1.1 detected in firmware. +[ 0.000000] psci: Using standard PSCI v0.2 function IDs +[ 0.000000] psci: Trusted OS migration not required +[ 0.000000] psci: SMC Calling Convention v1.0 +[ 0.000000] percpu: Embedded 31 pages/cpu s87208 r8192 d31576 u126976 +[ 0.000000] Detected VIPT I-cache on CPU0 +[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR +[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI) +[ 0.000000] CPU features: detected: ARM erratum 843419 +[ 0.000000] CPU features: detected: ARM erratum 845719 +[ 0.000000] alternatives: applying boot alternatives +[ 0.000000] Fallback order for Node 0: 0 +[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048 +[ 0.000000] Policy zone: DMA +[ 0.000000] Kernel command line: root=/dev/vda rw console=ttyAMA0,115200 +[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) +[ 0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off +[ 0.000000] Memory: 98324K/1048576K available (13248K kernel code, 2806K rwdata, 9504K rodata, 6464K init, 627K bss, 139800K reserved, 65536K cma-reserved) +[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 +[ 0.000000] ftrace: allocating 44174 entries in 173 pages +[ 0.000000] ftrace: allocated 173 pages with 5 groups +[ 0.000000] trace event string verifier disabled +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1. +[ 0.000000] Rude variant of Tasks RCU enabled. +[ 0.000000] Tracing variant of Tasks RCU enabled. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] Root IRQ handler: gic_handle_irq +[ 0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143] +[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. +[ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt). +[ 0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns +[ 0.000057] sched_clock: 57 bits at 63MHz, resolution 16ns, wraps every 4398046511096ns +[ 0.005456] Console: colour dummy device 80x25 +[ 0.006955] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000) +[ 0.007097] pid_max: default: 32768 minimum: 301 +[ 0.007776] LSM: Security Framework initializing +[ 0.008357] landlock: Up and running. +[ 0.008371] Yama: disabled by default; enable with sysctl kernel.yama.* +[ 0.010521] AppArmor: AppArmor initialized +[ 0.010571] TOMOYO Linux initialized +[ 0.010961] LSM support for eBPF active +[ 0.012249] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) +[ 0.012282] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) +[ 0.040470] cblist_init_generic: Setting adjustable number of callback queues. +[ 0.040496] cblist_init_generic: Setting shift to 0 and lim to 1. +[ 0.040680] cblist_init_generic: Setting adjustable number of callback queues. +[ 0.040686] cblist_init_generic: Setting shift to 0 and lim to 1. +[ 0.041972] rcu: Hierarchical SRCU implementation. +[ 0.042004] rcu: Max phase no-delay instances is 1000. +[ 0.046188] EFI services will not be available. +[ 0.048353] smp: Bringing up secondary CPUs ... +[ 0.048430] smp: Brought up 1 node, 1 CPU +[ 0.048446] SMP: Total of 1 processors activated. +[ 0.048518] CPU features: detected: 32-bit EL0 Support +[ 0.048530] CPU features: detected: 32-bit EL1 Support +[ 0.048584] CPU features: detected: CRC32 instructions +[ 0.049953] CPU: All CPU(s) started at EL1 +[ 0.050082] alternatives: applying system-wide alternatives +[ 0.065582] node 0 deferred pages initialised in 12ms +[ 0.079230] devtmpfs: initialized +[ 0.089775] Registered cp15_barrier emulation handler +[ 0.089831] Registered setend emulation handler +[ 0.090621] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.090727] futex hash table entries: 256 (order: 2, 16384 bytes, linear) +[ 0.095195] pinctrl core: initialized pinctrl subsystem +[ 0.101931] DMI not present or invalid. +[ 0.107879] NET: Registered PF_NETLINK/PF_ROUTE protocol family +[ 0.116217] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations +[ 0.116661] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations +[ 0.116840] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations +[ 0.117030] audit: initializing netlink subsys (disabled) +[ 0.121407] thermal_sys: Registered thermal governor 'fair_share' +[ 0.121452] thermal_sys: Registered thermal governor 'bang_bang' +[ 0.121469] thermal_sys: Registered thermal governor 'step_wise' +[ 0.121473] thermal_sys: Registered thermal governor 'user_space' +[ 0.121475] thermal_sys: Registered thermal governor 'power_allocator' +[ 0.122035] audit: type=2000 audit(0.112:1): state=initialized audit_enabled=0 res=1 +[ 0.122566] cpuidle: using governor ladder +[ 0.122667] cpuidle: using governor menu +[ 0.123321] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. +[ 0.123651] ASID allocator initialised with 32768 entries +[ 0.124831] Serial: AMBA PL011 UART driver +[ 0.142460] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 13, base_baud = 0) is a PL011 rev1 +[ 0.148837] printk: console [ttyAMA0] enabled +[ 0.156460] KASLR enabled +[ 0.171692] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages +[ 0.171808] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page +[ 0.171882] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages +[ 0.171937] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page +[ 0.171988] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.172040] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page +[ 0.172091] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages +[ 0.172144] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page +[ 0.185226] ACPI: Interpreter disabled. +[ 0.186761] iommu: Default domain type: Translated +[ 0.186974] iommu: DMA domain TLB invalidation policy: strict mode +[ 0.187675] pps_core: LinuxPPS API ver. 1 registered +[ 0.187756] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti +[ 0.187921] PTP clock support registered +[ 0.188115] EDAC MC: Ver: 3.0.0 +[ 0.198473] NetLabel: Initializing +[ 0.198613] NetLabel: domain hash size = 128 +[ 0.198675] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.199730] NetLabel: unlabeled traffic allowed by default +[ 0.200384] vgaarb: loaded +[ 0.202741] clocksource: Switched to clocksource arch_sys_counter +[ 0.238361] VFS: Disk quotas dquot_6.6.0 +[ 0.238584] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.242491] AppArmor: AppArmor Filesystem Enabled +[ 0.244334] pnp: PnP ACPI: disabled +[ 0.255104] NET: Registered PF_INET protocol family +[ 0.256429] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) +[ 0.261712] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) +[ 0.262010] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) +[ 0.262221] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) +[ 0.262476] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear) +[ 0.262736] TCP: Hash tables configured (established 8192 bind 8192) +[ 0.264199] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear) +[ 0.264505] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) +[ 0.264715] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) +[ 0.265894] NET: Registered PF_UNIX/PF_LOCAL protocol family +[ 0.266266] NET: Registered PF_XDP protocol family +[ 0.266445] PCI: CLS 0 bytes, default 64 +[ 0.270595] Trying to unpack rootfs image as initramfs... +[ 0.283175] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available +[ 0.284064] kvm [1]: HYP mode not available +[ 0.286451] Initialise system trusted keyrings +[ 0.292164] Key type blacklist registered +[ 0.292933] workingset: timestamp_bits=42 max_order=18 bucket_order=0 +[ 0.302375] zbud: loaded +[ 0.309680] integrity: Platform Keyring initialized +[ 0.310046] integrity: Machine keyring initialized +[ 0.310114] Key type asymmetric registered +[ 0.310242] Asymmetric key parser 'x509' registered +[ 2.893600] Freeing initrd memory: 85724K +[ 2.912462] alg: self-tests for CTR-KDF (hmac(sha256)) passed +[ 2.912836] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) +[ 2.913419] io scheduler mq-deadline registered +[ 2.924996] pl061_gpio 9030000.pl061: PL061 GPIO chip registered +[ 2.926313] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 +[ 2.927115] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges: +[ 2.927887] pci-host-generic 4010000000.pcie: IO 0x003eff0000..0x003effffff -> 0x0000000000 +[ 2.928344] pci-host-generic 4010000000.pcie: MEM 0x0010000000..0x003efeffff -> 0x0010000000 +[ 2.928491] pci-host-generic 4010000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000 +[ 2.928933] pci-host-generic 4010000000.pcie: Memory resource size exceeds max for 32 bits +[ 2.929394] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff] +[ 2.930374] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00 +[ 2.930751] pci_bus 0000:00: root bus resource [bus 00-ff] +[ 2.930932] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] +[ 2.931035] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff] +[ 2.931095] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff] +[ 2.932281] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000 +[ 2.935154] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000 +[ 2.935401] pci 0000:00:01.0: BAR 0 [io 0x0000-0x001f] +[ 2.935498] pci 0000:00:01.0: BAR 1 [mem 0x00000000-0x00000fff] +[ 2.935605] pci 0000:00:01.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] +[ 2.935741] pci 0000:00:01.0: ROM [mem 0x00000000-0x0003ffff pref] +[ 2.936034] pci 0000:00:02.0: [1af4:1001] type 00 class 0x010000 +[ 2.936105] pci 0000:00:02.0: BAR 0 [io 0x0000-0x007f] +[ 2.936155] pci 0000:00:02.0: BAR 1 [mem 0x00000000-0x00000fff] +[ 2.936212] pci 0000:00:02.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref] +[ 2.937693] pci 0000:00:01.0: ROM [mem 0x10000000-0x1003ffff pref]: assigned +[ 2.938013] pci 0000:00:01.0: BAR 4 [mem 0x8000000000-0x8000003fff 64bit pref]: assigned +[ 2.938161] pci 0000:00:02.0: BAR 4 [mem 0x8000004000-0x8000007fff 64bit pref]: assigned +[ 2.938265] pci 0000:00:01.0: BAR 1 [mem 0x10040000-0x10040fff]: assigned +[ 2.938368] pci 0000:00:02.0: BAR 1 [mem 0x10041000-0x10041fff]: assigned +[ 2.938456] pci 0000:00:02.0: BAR 0 [io 0x1000-0x107f]: assigned +[ 2.938543] pci 0000:00:01.0: BAR 0 [io 0x1080-0x109f]: assigned +[ 2.949011] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled +[ 2.951524] Serial: AMBA driver +[ 2.951630] SuperH (H)SCI(F) driver initialized +[ 2.952141] msm_serial: driver initialized +[ 2.955903] mousedev: PS/2 mouse device common for all mice +[ 2.960292] rtc-pl031 9010000.pl031: registered as rtc0 +[ 2.960844] rtc-pl031 9010000.pl031: setting system clock to 2026-09-16T19:05:57 UTC (1789585557) +[ 2.963842] ledtrig-cpu: registered to indicate activity on CPUs +[ 3.002526] NET: Registered PF_INET6 protocol family +[ 3.013107] Segment Routing with IPv6 +[ 3.013407] In-situ OAM (IOAM) with IPv6 +[ 3.013811] mip6: Mobile IPv6 +[ 3.014061] NET: Registered PF_PACKET protocol family +[ 3.014441] mpls_gso: MPLS GSO support +[ 3.016320] registered taskstats version 1 +[ 3.016616] Loading compiled-in X.509 certificates +[ 3.055117] Loaded X.509 cert 'Build time autogenerated kernel key: e15d7c2f27e6115d3eddefe889ed9204ab4c8f27' +[ 3.059303] zswap: loaded using pool lzo/zbud +[ 3.060545] Key type .fscrypt registered +[ 3.060627] Key type fscrypt-provisioning registered +[ 3.069180] Key type encrypted registered +[ 3.069345] AppArmor: AppArmor sha1 policy hashing enabled +[ 3.069874] ima: No TPM chip found, activating TPM-bypass! +[ 3.069976] ima: Allocated hash algorithm: sha256 +[ 3.071608] ima: No architecture policies found +[ 3.072025] evm: Initialising EVM extended attributes: +[ 3.072083] evm: security.selinux +[ 3.072132] evm: security.SMACK64 (disabled) +[ 3.072169] evm: security.SMACK64EXEC (disabled) +[ 3.072208] evm: security.SMACK64TRANSMUTE (disabled) +[ 3.072271] evm: security.SMACK64MMAP (disabled) +[ 3.072308] evm: security.apparmor +[ 3.072336] evm: security.ima +[ 3.072361] evm: security.capability +[ 3.072397] evm: HMAC attrs: 0x1 +[ 3.244984] clk: Disabling unused clocks +[ 3.248868] uart-pl011 9000000.pl011: no DMA platform data +[ 3.289808] Freeing unused kernel memory: 6464K +[ 3.303071] Checked W+X mappings: passed, no W+X pages found +[ 3.303463] Run /init as init process +[ 3.436067] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003) +[ 3.438415] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003) +[ 3.451630] virtio_blk virtio1: 1/0/0 default/read/poll queues +[ 3.463490] virtio_blk virtio1: [vda] 3072000 512-byte logical blocks (1.57 GB/1.46 GiB) +initramfs: warte auf /dev/vda... +[ 3.693330] EXT4-fs (vda): recovery complete +[ 3.697943] EXT4-fs (vda): mounted filesystem with ordered data mode. Quota mode: none. +[ 4.647200] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist. +[ 4.878090] systemd[1]: Inserted module 'autofs4' +[ 4.999305] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) +[ 5.001337] systemd[1]: Detected virtualization qemu. +[ 5.001766] systemd[1]: Detected architecture arm64. + +Welcome to Debian GNU/Linux 10 (buster)! + +[ 5.044117] systemd[1]: Set hostname to . +[ 6.634111] systemd[1]: /etc/systemd/system/serial-getty@ttyAMA0.service.d/autologin.conf:2: Failed to parse service type, ignoring: +[ 6.668198] systemd[1]: Reached target Swap. +[ OK ] Reached target Swap. +[ 6.675752] systemd[1]: Listening on Journal Socket. +[ OK ] Listening on Journal Socket. +[ 6.709457] systemd[1]: Starting Create list of required static device nodes for the current kernel... + Starting Create list of re…odes for the current kernel... +[ 6.723206] systemd[1]: Created slice system-getty.slice. +[ OK ] Created slice system-getty.slice. +[ 6.731352] systemd[1]: Created slice system-serial\x2dgetty.slice. +[ OK ] Created slice system-serial\x2dgetty.slice. +[ OK ] Listening on udev Kernel Socket. +[ OK ] Listening on initctl Compatibility Named Pipe. + Mounting POSIX Message Queue File System... +[ OK ] Set up automount Arbitrary…s File System Automount Point. + Mounting Kernel Debug File System... + Starting Set the console keyboard layout... +[ OK ] Listening on Journal Socket (/dev/log). + Starting Remount Root and Kernel File Systems... + Starting Load Kernel Modules... +[ OK ] Listening on Syslog Socket. +[ OK ] Created slice User and Session Slice. +[ OK ] Reached target Slices. +[ OK ] Started Dispatch Password …ts to Console Directory Watch. + Starting Restore / save the current clock... +[ OK ] Started Forward Password R…uests to Wall Directory Watch. +[ OK ] Reached target Local Encrypted Volumes. +[ OK ] Reached target Paths. + Mounting Huge Pages File System... +[ OK ] Reached target Remote File Systems. +[ OK ] Listening on Journal Audit Socket. +[ OK ] Listening on udev Control Socket. + Starting udev Coldplug all Devices... + Starting Journal Service... +[ 7.661532] input: gpio-keys as /devices/platform/gpio-keys/input/input0 +[ OK ] Started Create list of req… nodes for the current kernel. +[ OK ] Mounted POSIX Message Queue File System. +[ OK ] Mounted Kernel Debug File System. +[ OK ] Started Restore / save the current clock. +[ OK ] Mounted Huge Pages File System. +[ 8.011328] EXT4-fs (vda): re-mounted. Quota mode: none. +[ OK ] Started Remount Root and Kernel File Systems. + Starting Create System Users... + Starting Load/Save Random Seed... +[FAILED] Failed to start Load Kernel Modules. +See 'systemctl status systemd-modules-load.service' for details. + Starting Apply Kernel Variables... +[ OK ] Started Load/Save Random Seed. +[ OK ] Started Create System Users. + Starting Create Static Device Nodes in /dev... +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Journal Service. + Starting Flush Journal to Persistent Storage... +[ OK ] Started Create Static Device Nodes in /dev. + Starting udev Kernel Device Manager... +[ OK ] Started Flush Journal to Persistent Storage. +[ OK ] Started udev Kernel Device Manager. +[ OK ] Started Set the console keyboard layout. +[ OK ] Reached target Local File Systems (Pre). + Mounting /tmp... +[ OK ] Mounted /tmp. +[ OK ] Reached target Local File Systems. + Starting Create Volatile Files and Directories... + Starting Set console font and keymap... +[ OK ] Started Set console font and keymap. +[ OK ] Started Create Volatile Files and Directories. + Starting Update UTMP about System Boot/Shutdown... +[ OK ] Found device /dev/ttyAMA0. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Reached target System Initialization. +[ OK ] Started Daily Cleanup of Temporary Directories. +[ OK ] Listening on VyOS Configur…and Monitoring service socket. +[ OK ] Listening on triggerhappy.socket. +[ OK ] Started Daily Cleanup of Coredump Files. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Reached target Sockets. +[ OK ] Started Daily rotation of log files. +[ OK ] Reached target Timers. +[ OK ] Reached target Basic System. + Starting Login Service... +[ OK ] Started Regular background program processing daemon. + Starting System Logging Service... + Starting Deferred execution scheduler... + Starting Restore /etc/reso… the ppp link was shut down... +[ OK ] Started D-Bus System Message Bus. + Starting triggerhappy global hotkey daemon... + Starting QCA configuration initialization... +[ OK ] Started Deferred execution scheduler. +[ OK ] Started Restore /etc/resol…re the ppp link was shut down. +[ OK ] Started triggerhappy global hotkey daemon. +[ OK ] Started Login Service. +[ OK ] Started System Logging Service. +[FAILED] Failed to start QCA configuration initialization. +See 'systemctl status qca-osdx-conf.service' for details. + Starting QCA base initialization service... +[ OK ] Started QCA base initialization service. + Starting OSDx Initialization... +[ 20.344769] osdx-start[235]: Cannot open 0x0: No such file or directory +[ 20.377253] osdx-start[235]: Preparing environment +[ 20.503292] osdx-start[235]: Cannot open 0x0: No such file or directory +[ 20.660661] osdx-start[235]: Cannot open 0x0: No such file or directory +[ 20.663511] osdx-start[235]: Error: environment not initialized +[ 20.704481] osdx-start[235]: Cannot open 0x0: No such file or directory +[ 21.544532] osdx-start[235]: /opt/vyatta/bin/osdx-mode-user: line 6: /etc/vyos/vyos_mode: No such file or directory +[ 21.554510] osdx-start[235]: /opt/vyatta/bin/osdx-mode-user: line 84: [: too many arguments +[ 21.650541] osdx-start[235]: Mounting config +[ 21.980487] osdx-start[235]: Mounting coredump directory +[ 22.038444] osdx-start[235]: Generating keys +[ 22.042283] osdx-start[235]: Cleaning up +[ OK ] Started OSDx Initialization. + Starting QRTR userspace daemon... + Starting QCA CNSS daemon... + Starting OSDx Python Module Launcher service... + Starting Report Kernel Panic Service... + Starting FRRouting... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. + Starting QRTR userspace daemon... +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Stopped QRTR userspace daemon. +[FAILED] Failed to start QRTR userspace daemon. +See 'systemctl status qca-qrtr-ns.service' for details. +[ OK ] Started FRRouting. +[ OK ] Reached target Network. +[ OK ] Reached target Network is Online. + Starting Internet superserver... + Starting OpenBSD Secure Shell session cleanup... +[ OK ] Started OpenBSD Secure Shell session cleanup. +[ OK ] Started Internet superserver. +[ OK ] Started QCA CNSS daemon. + Starting QCA initialization service... +[ OK ] Started OSDx Python Module Launcher service. +[ OK ] Started Report Kernel Panic Service. + Starting Log reboot and shutdown... +[ OK ] Started Log reboot and shutdown. + Starting VyOS Configuration and Monitoring service... +[ OK ] Started QCA initialization service. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[ OK ] Started QCA Thermald. +[ OK ] Stopped QCA Thermald. +[FAILED] Failed to start QCA Thermald. +See 'systemctl status qca-thermald.service' for details. +[ 57.788303] sh[308]: sudo: account validation failure, is your account locked? +[ OK ] Started VyOS Configuration and Monitoring service. + Starting OSDx Bluetooth Monitoring... +[ OK ] Started OSDx Bluetooth Monitoring. + Starting OSDx Router configuration load... +[ 67.936591] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 68.219177] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 68.338474] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 68.341334] osdx-load-config[1057]: Error: environment not initialized +[ 68.351821] osdx-load-config[1057]: Initialize boot file +[ 69.099878] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 69.126455] osdx-load-config[1057]: Using factory configuration for default +[ 71.196484] osdx-load-config[1057]: Loading configuration +[ 73.044243] osdx-load-config[1057]: Configuration validation error! +[ 73.046391] osdx-load-config[1057]: Initialize boot file +[ 74.106640] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 74.155877] osdx-load-config[1057]: Using factory configuration for default +[ 76.276295] osdx-load-config[1057]: Loading configuration +[ 77.688336] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 77.721217] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 77.723788] osdx-load-config[1057]: Error: environment not initialized +[ 77.753504] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 77.756240] osdx-load-config[1057]: Error: environment not initialized +[ 77.783083] osdx-load-config[1057]: Cannot open 0x0: No such file or directory +[ 77.785909] osdx-load-config[1057]: Error: environment not initialized +[ 78.337232] osdx-load-config[1057]: /opt/vyatta/bin/platform/leds: line 7: /sys/class/leds/status_red/trigger: No such file or directory +[ OK ] Started OSDx Router configuration load. + Starting Boot log saving... +[ OK ] Started Bintec Elmeg VyOS GUI service. + Starting Permit User Sessions... +[ OK ] Started Permit User Sessions. +[ OK ] Started Getty on tty1. +[ OK ] Started Serial Getty on ttyAMA0. +[ OK ] Reached target Login Prompts. +[ OK ] Started Boot log saving. +[ OK ] Reached target Multi-User System. + Starting CPU Scaling Governor... + Starting Update UTMP about System Runlevel Changes... + Starting QEMU user-net bringup (emulation)... +[ OK ] Started Update UTMP about System Runlevel Changes. +[FAILED] Failed to start QEMU user-net bringup (emulation). +See 'systemctl status qemu-net.service' for details. +[ OK ] Started CPU Scaling Governor. +[ OK ] Reached target QCA PostInit Target. +root@osdx:/# [ 240.931474] sh[308]: Cannot open 0x0: No such file or directory +[ 242.036455] sh[308]: Cannot open 0x0: No such file or directory +qemu-system-aarch64: terminating on signal 15 from pid 1 () diff --git a/logs/carve.log b/logs/carve.log new file mode 100644 index 0000000..2afa6ec --- /dev/null +++ b/logs/carve.log @@ -0,0 +1,46 @@ +[img] /input/WiFi6_System_Software_v3.6.1.2.img: 143048583 bytes +[sqfs] offset=0x18c7854 v4.0 blocksize=131072 comp_id=4 bytes_used=0x6fa3ded end=0x886b641 (img_size=0x886bf87) +[sqfs] geschrieben: /build/work/rootfs.squashfs +[fit] FDT-Magic-Hits im Scanbereich: ['0x8e09b4', '0x90b5a8', '0x90c338', '0x90d288', '0x90e208', '0x1362198', '0x138cd8c', '0x138db1c', '0x138ea6c', '0x138f9ec', '0x1503930', '0x189ee90', '0x18b2fcc'] +[fit] skip 0x8e09b4: unpack_from requires a buffer of at least 184549582 bytes for unpacking 4 bytes at offset 184549578 (actual buffer size is 20707) +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xb98); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xd24); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xd3c); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xd7c); ok +[fit] skip 0x1362198: unpack_from requires a buffer of at least 184549582 bytes for unpacking 4 bytes at offset 184549578 (actual buffer size is 20707) +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xb98); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xd24); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xd3c); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 593585252 @ 0xd7c); ok +[fdt] Hinweis: Struct-Block ohne FDT_END (Token 1684370275 @ 0x3c3b6c); ok +[fit] Kandidat @ 0x1503930 totalsize=0x3c3f24 +[fit] : timestamp = 0x6560567f +[fit] : description = ARM64 OpenWrt FIT (Flattened Image Tree) +[fit] images/kernel@1: description = ARM64 OpenWrt Linux-4.4.60 +[fit] images/kernel@1: type = kernel +[fit] images/kernel@1: arch = arm64 +[fit] images/kernel@1: os = linux +[fit] images/kernel@1: compression = gzip +[fit] images/kernel@1: load = 0x41080000 +[fit] images/kernel@1: entry = 0x41080000 +[fit] images/kernel@1/hash@1: algo = crc32 +[fit] images/kernel@1/hash@2: algo = sha1 +[fit] images/fdt@w2022ax: description = ARM64 OpenWrt w2022ax device tree blob +[fit] images/fdt@w2022ax: type = flat_dt +[fit] images/fdt@w2022ax: arch = arm64 +[fit] images/fdt@w2022ax: compression = none +[fit] images/fdt@w2022ax/hash@1: algo = crc32 +[fit] images/fdt@w2022ax/hash@2: algo = sha1 +[fit] images/fdt@w2044ax: description = ARM64 OpenWrt w2044ax device tree blob +[fit] images/fdt@w2044ax: type = flat_dt +[fit] images/fdt@w2044ax: arch = arm64 +[fit] images/fdt@w2044ax: compression = none +[fit] images/fdt@w2044ax/hash@1: algo = crc32 +[fit] images/fdt@w2044ax/hash@2: algo = sha1 +[fit] configurations/config@w2022ax: description = OpenWrt +[fit] configurations/config@w2044ax: description = OpenWrt +[fit] geschrieben: /build/work/fit.img (3948324 bytes) +[fit] kernel@1 data: 3781435 bytes -> /build/work/kernel.raw +[fit] fdt@w2044ax data: 82716 bytes -> /build/work/w2044ax.dtb +[kernel] gzip -> 8734488 bytes ARM64 Image -> /build/work/kernel.img +[dtb] OK diff --git a/logs/inventory.txt b/logs/inventory.txt new file mode 100644 index 0000000..08bf749 --- /dev/null +++ b/logs/inventory.txt @@ -0,0 +1,295 @@ +### RootFS-Baum (Tiefe 2) +/build/work/rootfs +/build/work/rootfs/bin +/build/work/rootfs/config +/build/work/rootfs/data +/build/work/rootfs/data/vendor +/build/work/rootfs/dev +/build/work/rootfs/dev/console +/build/work/rootfs/dev/fd +/build/work/rootfs/dev/full +/build/work/rootfs/dev/null +/build/work/rootfs/dev/ptmx +/build/work/rootfs/dev/pts +/build/work/rootfs/dev/random +/build/work/rootfs/dev/shm +/build/work/rootfs/dev/stderr +/build/work/rootfs/dev/stdin +/build/work/rootfs/dev/stdout +/build/work/rootfs/dev/tty +/build/work/rootfs/dev/urandom +/build/work/rootfs/dev/zero +/build/work/rootfs/etc +/build/work/rootfs/etc/.pwd.lock +/build/work/rootfs/etc/NetworkManager +/build/work/rootfs/etc/X11 +/build/work/rootfs/etc/adduser.conf +/build/work/rootfs/etc/alternatives +/build/work/rootfs/etc/apparmor +/build/work/rootfs/etc/apparmor.d +/build/work/rootfs/etc/apt +/build/work/rootfs/etc/at.deny +/build/work/rootfs/etc/bash.bashrc +/build/work/rootfs/etc/bash_completion +/build/work/rootfs/etc/bindresvport.blacklist +/build/work/rootfs/etc/binfmt.d +/build/work/rootfs/etc/bluetooth +/build/work/rootfs/etc/bmon.conf +/build/work/rootfs/etc/ca-certificates +/build/work/rootfs/etc/ca-certificates.conf +/build/work/rootfs/etc/chatscripts +/build/work/rootfs/etc/console-setup +/build/work/rootfs/etc/cron.d +/build/work/rootfs/etc/cron.daily +/build/work/rootfs/etc/cron.hourly +/build/work/rootfs/etc/cron.monthly +/build/work/rootfs/etc/cron.weekly +/build/work/rootfs/etc/crontab +/build/work/rootfs/etc/dbus-1 +/build/work/rootfs/etc/ddclient.conf +/build/work/rootfs/etc/debconf.conf +/build/work/rootfs/etc/debian_version +/build/work/rootfs/etc/default +/build/work/rootfs/etc/deluser.conf +/build/work/rootfs/etc/dhcp +/build/work/rootfs/etc/dnsmasq.conf +/build/work/rootfs/etc/dnsmasq.d +/build/work/rootfs/etc/dpkg +/build/work/rootfs/etc/environment +/build/work/rootfs/etc/fake-hwclock.data +/build/work/rootfs/etc/frr +/build/work/rootfs/etc/fstab +/build/work/rootfs/etc/gai.conf +/build/work/rootfs/etc/group +/build/work/rootfs/etc/group- +/build/work/rootfs/etc/gshadow +/build/work/rootfs/etc/gshadow- +/build/work/rootfs/etc/gss +/build/work/rootfs/etc/host.conf +/build/work/rootfs/etc/hostname +/build/work/rootfs/etc/hosts +/build/work/rootfs/etc/hosts.allow +/build/work/rootfs/etc/hosts.deny +/build/work/rootfs/etc/inetd.conf +/build/work/rootfs/etc/init.d +/build/work/rootfs/etc/inputrc +/build/work/rootfs/etc/insserv +/build/work/rootfs/etc/insserv.conf +/build/work/rootfs/etc/insserv.conf.d +/build/work/rootfs/etc/iproute2 +/build/work/rootfs/etc/issue +/build/work/rootfs/etc/issue.net +/build/work/rootfs/etc/kernel +/build/work/rootfs/etc/ld.so.cache +/build/work/rootfs/etc/ld.so.conf +/build/work/rootfs/etc/ld.so.conf.d +/build/work/rootfs/etc/ldap +/build/work/rootfs/etc/libaudit.conf +/build/work/rootfs/etc/libnl-3 +/build/work/rootfs/etc/locale.alias +/build/work/rootfs/etc/locale.gen +/build/work/rootfs/etc/localtime +/build/work/rootfs/etc/logcheck +/build/work/rootfs/etc/login.defs +/build/work/rootfs/etc/logrotate.conf +/build/work/rootfs/etc/logrotate.d +/build/work/rootfs/etc/machine-id +/build/work/rootfs/etc/magic +/build/work/rootfs/etc/magic.mime +/build/work/rootfs/etc/mailcap +/build/work/rootfs/etc/mailcap.order +/build/work/rootfs/etc/mime.types +/build/work/rootfs/etc/minicoredumper +/build/work/rootfs/etc/mke2fs.conf +/build/work/rootfs/etc/modprobe.d +/build/work/rootfs/etc/modules +/build/work/rootfs/etc/modules-load.d +/build/work/rootfs/etc/mysql +/build/work/rootfs/etc/network +/build/work/rootfs/etc/networks +/build/work/rootfs/etc/nftables.conf +/build/work/rootfs/etc/nss_mapuser.conf +/build/work/rootfs/etc/nsswitch.conf +/build/work/rootfs/etc/ntp.conf +/build/work/rootfs/etc/opt +/build/work/rootfs/etc/os-release +/build/work/rootfs/etc/osdx +/build/work/rootfs/etc/pam.conf +/build/work/rootfs/etc/pam.d +/build/work/rootfs/etc/pam_radius_auth.conf +/build/work/rootfs/etc/passwd +/build/work/rootfs/etc/passwd- +/build/work/rootfs/etc/perl +/build/work/rootfs/etc/ppp +/build/work/rootfs/etc/preinit +/build/work/rootfs/etc/profile +/build/work/rootfs/etc/profile.d +/build/work/rootfs/etc/protocols +/build/work/rootfs/etc/python +/build/work/rootfs/etc/python2.7 +/build/work/rootfs/etc/python3 +/build/work/rootfs/etc/python3.7 +/build/work/rootfs/etc/rc0.d +/build/work/rootfs/etc/rc1.d +/build/work/rootfs/etc/rc2.d +/build/work/rootfs/etc/rc3.d +/build/work/rootfs/etc/rc4.d +/build/work/rootfs/etc/rc5.d +/build/work/rootfs/etc/rc6.d +/build/work/rootfs/etc/rcS.d +/build/work/rootfs/etc/resolv.conf +/build/work/rootfs/etc/resolvconf +/build/work/rootfs/etc/rmt +/build/work/rootfs/etc/rpc +/build/work/rootfs/etc/rsyslog.conf +/build/work/rootfs/etc/rsyslog.d +/build/work/rootfs/etc/securetty +/build/work/rootfs/etc/security +/build/work/rootfs/etc/selinux +/build/work/rootfs/etc/sensors.d +/build/work/rootfs/etc/sensors3.conf +/build/work/rootfs/etc/services +/build/work/rootfs/etc/shadow +/build/work/rootfs/etc/shadow- +/build/work/rootfs/etc/shells +/build/work/rootfs/etc/skel +/build/work/rootfs/etc/snmp +/build/work/rootfs/etc/ssh +/build/work/rootfs/etc/ssl +/build/work/rootfs/etc/subgid +/build/work/rootfs/etc/subuid +/build/work/rootfs/etc/sudoers +/build/work/rootfs/etc/sudoers.d +/build/work/rootfs/etc/sysctl.conf +/build/work/rootfs/etc/sysctl.d +/build/work/rootfs/etc/systemd +/build/work/rootfs/etc/tacplus_nss.conf +/build/work/rootfs/etc/tacplus_servers +/build/work/rootfs/etc/terminfo +/build/work/rootfs/etc/timezone +/build/work/rootfs/etc/tmpfiles.d +/build/work/rootfs/etc/triggerhappy +/build/work/rootfs/etc/ucf.conf +/build/work/rootfs/etc/udev +/build/work/rootfs/etc/ufw +/build/work/rootfs/etc/update-motd.d +/build/work/rootfs/etc/usbmount +/build/work/rootfs/etc/vim +/build/work/rootfs/etc/vyos +/build/work/rootfs/etc/xattr.conf +/build/work/rootfs/etc/xdg +/build/work/rootfs/home +/build/work/rootfs/lib +/build/work/rootfs/media +/build/work/rootfs/mnt +/build/work/rootfs/opt +/build/work/rootfs/opt/qsdk +/build/work/rootfs/opt/vyatta +/build/work/rootfs/proc +/build/work/rootfs/root +/build/work/rootfs/root/.bashrc +/build/work/rootfs/root/.profile +/build/work/rootfs/run +/build/work/rootfs/run/dnsmasq +/build/work/rootfs/run/lock +/build/work/rootfs/run/mount +/build/work/rootfs/run/utmp +/build/work/rootfs/sbin +/build/work/rootfs/srv +/build/work/rootfs/sys +/build/work/rootfs/tmp +/build/work/rootfs/usr + +### os-release / openwrt / banner +PRETTY_NAME="Debian GNU/Linux 10 (buster)" +NAME="Debian GNU/Linux" +VERSION_ID="10" +VERSION="10 (buster)" +VERSION_CODENAME=buster +ID=debian +HOME_URL="https://www.debian.org/" +SUPPORT_URL="https://www.debian.org/support" +BUG_REPORT_URL="https://bugs.debian.org/" + +### init +lrwxrwxrwx 1 root root 20 Jul 8 2021 /build/work/rootfs/sbin/init -> /lib/systemd/systemd +README +atd +bluetooth +console-setup.sh +cron +dbus +ddclient +dnsmasq +fake-hwclock +frr +hwclock.sh +isc-dhcp-relay +isc-dhcp-server +keyboard-setup.sh +kmod +minicoredumper +ntp +openbsd-inetd +pppd-dns +procps +radvd +rc +rcS +rsyslog +snmpd +snmptrapd +ssh +sudo +triggerhappy +udev + +### systemd? +/build/work/rootfs/lib/systemd/systemd +/build/work/rootfs/sbin/init: broken symbolic link to /lib/systemd/systemd +/build/work/rootfs/lib/systemd/systemd: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=18ce50ef03a7482735416b991ab1dd7a5fc93997, stripped + +### libc +/build/work/rootfs/lib/aarch64-linux-gnu/libc.so.6: symbolic link to libc-2.28.so +/build/work/rootfs/usr/bin/python3: symbolic link to python3.7 + +### osdx / vyatta / frr +osdx-env +osdx_image.pem +bin +config +etc +sbin +share +env +etc +lib +usr + +### webserver-kandidaten +/build/work/rootfs/usr/lib/python2.7/SimpleHTTPServer.pyc +/build/work/rootfs/usr/lib/python2.7/BaseHTTPServer.pyc +/build/work/rootfs/usr/lib/python2.7/CGIHTTPServer.pyc +/build/work/rootfs/usr/lib/python2.7/httplib.pyc +/build/work/rootfs/usr/lib/aarch64-linux-gnu/libnghttp2.so.14.17.1 +/build/work/rootfs/usr/lib/aarch64-linux-gnu/libmicrohttpd.so.12.49.0 + +### kernel-Module +4.4.60 + +### groesste Verzeichnisse +4 /build/work/rootfs/media +4 /build/work/rootfs/mnt +4 /build/work/rootfs/proc +4 /build/work/rootfs/srv +4 /build/work/rootfs/sys +4 /build/work/rootfs/tmp +8 /build/work/rootfs/data +12 /build/work/rootfs/dev +12 /build/work/rootfs/root +16 /build/work/rootfs/run +3504 /build/work/rootfs/etc +30108 /build/work/rootfs/var +86892 /build/work/rootfs/opt +448024 /build/work/rootfs/usr +568612 /build/work/rootfs diff --git a/logs/kernel-config.txt b/logs/kernel-config.txt new file mode 100644 index 0000000..3434c56 --- /dev/null +++ b/logs/kernel-config.txt @@ -0,0 +1,7 @@ +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_NET=m +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_VIRTIO_PCI=m +CONFIG_EXT4_FS=m +CONFIG_SQUASHFS=m diff --git a/logs/unsquashfs.log b/logs/unsquashfs.log new file mode 100644 index 0000000..8490df0 --- /dev/null +++ b/logs/unsquashfs.log @@ -0,0 +1,11 @@ +Parallel unsquashfs: Using 24 processors +26062 inodes (25895 blocks) to write + + +created 23573 files +created 11640 directories +created 2470 symlinks +created 8 devices +created 0 fifos +created 0 sockets +created 11 hardlinks diff --git a/start-vm.sh b/start-vm.sh new file mode 100755 index 0000000..7abb674 --- /dev/null +++ b/start-vm.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# Startet die OSDx-VM als dauerhaften Container (detachiert) mit Webinterface. +# http://localhost:8080 | https://localhost:8443 | SSH: localhost:2222 +# Serial-Console: docker logs -f bintec-vm (lesend) +# docker attach bintec-vm (interaktiv, loslassen mit Strg+P Strg+Q) +# Stoppen: docker stop bintec-vm && docker rm bintec-vm +set -euo pipefail +cd "$(dirname "$0")" + +if [ ! -f work/rootfs.ext4 ] || [ ! -f work/initramfs.img ]; then + echo "Artefakte fehlen. Erst bauen:" + echo " docker build -t bintec-fw ." + echo " docker run --rm -v \"\$PWD:/build\" bintec-fw /build/build-generic.sh" + exit 1 +fi + +docker rm -f bintec-vm 2>/dev/null || true +docker run -di --name bintec-vm \ + -p 8080:8080 -p 8443:8443 -p 2222:2222 \ + -v "$PWD:/build" \ + bintec-fw /build/boot-interactive.sh + +echo "" +echo "VM laeuft. Boot dauert ~2-3 min bis zur Shell, Webinterface danach unter:" +echo " http://localhost:8080 https://localhost:8443 (self-signed) ssh -p 2222 localhost" +echo "Serial-Console: docker logs -f bintec-vm | interaktiv: docker attach bintec-vm (Strg+P Strg+Q zum Abkoppeln)" diff --git a/test-web.sh b/test-web.sh new file mode 100755 index 0000000..9e6b4ce --- /dev/null +++ b/test-web.sh @@ -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