# Lines the boot-contract-v2 self-test must print (root/scripts/selftest.sh, # run by /sbin/init). `make test-v2` passes this file to # scripts/run-headless.sh (CONTRACT=v2). One line per check, matched as a # fixed string anywhere in the serial log. Substitutions: # @KERNEL_BANNER@, @KERNEL_VERSION@ (config.mk), @BIN_COUNT@ (programs on # B:/bin), @ROOT_BIN_COUNT@ (programs in A:/bin). # Blank lines and lines starting with # are skipped. # ---- the kernel's boot (stage 21): what it found on our one disk ---- @KERNEL_BANNER@ x86_64 [smp] 4 CPUs online mounted at / (root partition) mounted at /mnt/disk0 exfat mounted at /mnt/share # ---- init (rust/init) ---- [init] Foundry OS init, pid 1, on Rustbelt @KERNEL_VERSION@ (headless: running the self-test) [init] mounts: / ext2 [init] pid 1 (/sbin/init) exited: # Kernel 0.21.1+ (K12): after pid 1 exits, every file system is unmounted, # newest mount first, before QEMU stops. check-v2-image.sh then checks B:'s # FAT dirty bit is clear. [shutdown] unmounted /mnt/share (exfat) [shutdown] unmounted /mnt/disk0 (fat32) [shutdown] unmounted /tmp (ramfs) [shutdown] unmounted / (ext2) # ---- drives and the root (A:) ---- A: / ext2 B: /mnt/disk0 fat32 C: /mnt/share exfat etc/ sbin/ scripts/ init sh -> dash tyler:x:1000:1000:Tyler:/home/tyler:/bin/rbsh Welcome to Foundry OS, running on the Rustbelt kernel. # ---- B:, the FAT32 data disk ---- B:/ $ ls In the Rustbelt shell this disk is drive B: second line 125 todo.txt # ---- C:, the exFAT share ---- C:/ $ ls -l This is the Foundry OS share (drive C:, /mnt/share). written by Foundry OS 125 todo.txt made-here/ (start sleep 1), exit code 0 # ---- the rest of the kernel's stages, as under v1 ---- [exit code 139] (overflow) killed: stack overflow 4 CPUs online (this program ran on CPU [net] DHCP lease: 10.0.2.15/24, gateway 10.0.2.2, DNS 10.0.2.3 3 packets transmitted, 3 received, 0% packet loss Hello from the host, via QEMU guestfwd! fetch: HTTP/1.0 200 OK, saved 108894 bytes to /mnt/share/seq.txt [httpd] served 1 request, bye crw------- hvc0 tile: 4 windows on 1024x768, console 61x46 [forktest] all checks passed [cowtest] all checks passed [mmaptest] all checks passed [sigtest] all checks passed (start spin 1000), exit code 143 [threads] all checks passed [echoserver] all checks passed [ptytest] all checks passed [nbtest] all checks passed [fputest] all checks passed [pathtest] all checks passed rawabi: uname: Rustbelt @KERNEL_VERSION@ rawabi: all checks passed # ---- Foundry OS's own programs ---- hello from musl on Rustbelt @KERNEL_VERSION@ (Foundry OS, static-PIE) fprobe: all 40 checks passed orphan: all 4 checks passed dash-test: @ROOT_BIN_COUNT@ programs in /bin dash-test: all 15 checks passed v2-test: ok share-write-read-delete v2-test: ok sh-is-dash v2-test: all 18 checks passed sh: nosuchprogram: command not found cd: there is no drive Q: A:/tmp $ pwd