foundry
Foundry OS: the operating system built on the Rustbelt kernel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | # 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
<DIR> 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------- <DEV> 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
# ---- sbase (M4): root/scripts/sbase-test.sh ----
sbase: ok sort
sbase: ok ls-l-owner
sbase: ok kill-TERM
sbase: uname -sr: Rustbelt @KERNEL_VERSION@
sbase: xfail mkfifo (K14: mknodat 259 is ENOSYS)
sbase: xfail mknod-p (K14: mknodat 259 is ENOSYS)
sbase: xfail chroot (K14: chroot 161 is ENOSYS)
sbase: xfail ls-a-dots (K14: getdents64 has no . and .. entries)
sbase: xfail touch-on-FAT (K14: FAT32 and exFAT keep no file times)
sbase: absent df (not part of sbase 0.1; ubase; busybox at M5)
sbase: absent id (not part of sbase 0.1; ubase; busybox at M5)
sbase-test: all 86 checks as expected (79 passed, 5 known gaps, 2 tools not in sbase)
sh: nosuchprogram: command not found
cd: there is no drive Q:
A:/tmp $ pwd
|