RustForge

foundry

Foundry OS: the operating system built on the Rustbelt kernel

AgeCommit messageAuthorId
7 hours agoports/busybox: busybox 1.36.1, static-PIE, in /usr/lib/busybox (off PATH)Grok Botea3177c9f1
7 hours agomake rbsh-test: plain alias for make unit (it ran the removed out/host-tests/parse_test)Grok Bot8df0027b66
7 hours agodocs: M4 done; sbase results table, K14 (light kernel gaps from sbase), /usr/lib/sbaseGrok Bot4d3d43fe69
7 hours agomake test: sbase-test.sh, 86 checks of sbase on RustbeltGrok Botdf4191d294
7 hours agoports/sbase: suckless sbase 0.1, static-PIE, in /usr/lib/sbase (off PATH)Grok Botbd24c5787b
7 hours agoRoot image: files owned by root, not by the build userGrok Botb93bef7a3b
7 hours agoBump kernel pin to Rustbelt 0.21.1 (6bb2b25): clean shutdown, K12 doneGrok Bot9595759e94
8 hours agodocs/plan.md: M1b doneGrok Bot36f23a8bbd
8 hours agomake unit: cargo test for rbsh's parser on the host (22 tests)Grok Bot4538635fd3
8 hours agoBrand rbsh's banner and getty's greeting as Foundry OSGrok Botd7751ad0c0
8 hours agorbrt: make the runtime a real library crate (imported as ulib)Grok Bot8c52948255
8 hours agorbrt: cast fn items via *const () (fixes 2 function_casts_as_integer warnings)Grok Bot2cf3033360
8 hours agodocs: M6 user management (passwd/shadow, login, su, first-boot setup, owners and modes), M7 Pi 3 placeholder; K13 kernel prerequisites (open)Grok Botc1be2a3c7d
8 hours agodocs/plan.md: long-term track (after M5): a self-hosted Rust toolchain on Foundry OS, in 3 stages (not started)Grok Bote2b25e53f8
8 hours agoDocs: boot contract v2 (layout, init, drive letters and the share for beginners), M3 done, K12 (FAT dirty bit: no unmount on pid 1 exit)Grok Bot5a331c407d
8 hours agomake test is contract v2 (init runs the self-test, host fsck + share read-back); make test-v1/image-v1 keep the old layout; compare uses v1Grok Botc8f1cf1102
8 hours agoscripts/mkimage-v2.sh: one GPT disk with ext2 root, FAT32 data and single-FAT exFAT shareGrok Botd53297804f
8 hours agoContract v2 trees: root/ (A:, /etc moved from rootfs/, v2 self-test + dash v2-test.sh), share/ (C:); dash-test.sh takes the bin dirGrok Bot12ef9f02ff
8 hours agoscripts/exfat.py: read/fill an exFAT volume inside an image without mounting itGrok Bot4dc7c2e206
8 hours agoc/orphan.c: check that an orphaned grandchild is adopted and reaped by init (pid 1)Grok Bot12674c45d0
8 hours agorust/init: Foundry OS /sbin/init for boot contract v2 (rbsh on console + hvc0, respawn, orphan reaping, headless self-test with memory check)Grok Bot55604d879b
8 hours agorbsh: C: is the share (/mnt/share) when mounted, disks take B:, D:, ...; getty prefers /bin/rbsh; host tests (make rbsh-test)Grok Bot8950fae6ee
8 hours agoBump kernel pin to Rustbelt 0.21.0 (50476f4); add make k1-check (RUSTBELT_DISK0 gives a byte-identical disk.img)Grok Bot15035eada5
9 hours agoInstall dash as /bin/dash (not /bin/sh) and run 15 dash script checks in make testGrok Bot3ca471d945
9 hours agoports/dash: fetch (SHA256-pinned, mirror list) and build dash 0.5.12 static-PIE with foundry-ccGrok Botbaf7b2d1a4
9 hours agodocs: M2 done; how to add a C program; plain -static ET_EXEC runs on 0.20.0 (noted, not relied on)Grok Bot01c85e80bd
9 hours agoM2: build c/ with foundry-cc, put hello-musl and fprobe in /bin, check them in make testGrok Boteeb17191ca
9 hours agoc/: hello-musl names the kernel and ELF type; fprobe, a 40-check libc self-checkGrok Bot3219ac028e
9 hours agoBump kernel pin to Rustbelt 0.20.0 (5291332)Grok Bot7acb8de4eb
9 hours agoports/README: fix a stray code fenceGrok Botea587e9ad0
9 hours agotoolchain: foundry-cc + musl-pie.specs, every C program and port is static-PIEGrok Bot7cf3556ce8
9 hours agoREADME and docs: beginner guide, glossary, boot contract v1/v2, plan, porting, gaps, kernel requests (K1)Grok Bot909242193c
9 hours agodocs/proposal.md: record the approval; replace 'vendored tarball' with the SHA256-pinned download cacheGrok Bot41e9df8f2e
9 hours agodocs/proposal.md: Clarke's approved proposal, copied unchanged from clarke-scratchGrok Botca4ae68107
9 hours agorootfs/etc: passwd, group, hosts, resolv.conf, motd for the future ext2 root (not staged under contract v1)Grok Bot7bb1fe293e
9 hours agotoolchain/musl, ports/, c/: SHA256-pinned download cache instead of vendored tarballsGrok Bot5b5c90c345
9 hours agomake test-reference: run the same headless checks on the kernel's own disk.imgGrok Bot141a05d500
9 hours agoBuild system: make image/run/test/compare against the pinned kernel a55b41dGrok Botb3a7cc7ae7
9 hours agorust/: Cargo workspace (rbsh, coreutils-rs, net, sys) sharing rbrt/ulib.rsGrok Bot0ffe635cd6
9 hours agoMove the shell, tools and net/sys programs into the rust/ layout; drop the ABI test fixturesGrok Bot2ca603aac8
9 hours agoImport rust-kernel disk/ with its history as rootfs/ (git subtree split at a55b41d)Grok Bot82182faf90
9 hours agoImport rust-kernel user/ with its history (git subtree split at a55b41d, Rustbelt 0.19.0)Grok Botf0db8ff6a5
9 hours agoStart Foundry OS: empty repo with .gitignore (out/, cache/)Grok Bot649975870b
10 hours agoStage 19: vDSO, static PIE and mremap (0.19.0)Edwardc075970bdb
10 hours agoDevice identities, ttyname, fd-message merging, /proc/self/cwd (Clarke's probe)Edward0b513e9df3
10 hours agoStage 18: Unix sockets and /proc/self (0.18.0)Edward4b17d4fa03
11 hours agoStage 18 prep: fixes from Clarke's 0.17.0 reviewEdward85f5cd4654
11 hours agoStage 17: coreutils batch 2 (0.17.0)Edwarde6eb9917e4
12 hours agoStage 16: libc batch 1 (0.16.0)Edwarda2549ec94f
1 day agoWIP 15.1: version bump, selftest/headless/screenshot, README chapterTyler Fowler4b42283414