SchOS/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz df1394eaa3 SCFF: the live root ships compressed, with Xorg and Window Maker
SCFF, the SchOS Compressed File Format (include/fs/scff.h), is a block
image cut into 128 KB chunks, each its own zstd frame, behind an index.
tools/mkscff writes it from fs-ram.img on every core (-19, 11 s) and
checks each chunk decompresses to itself. The kernel carries the .scff
as its ramdisk and unpacks a chunk the first time a block in it is
read; zero blocks share one page. The kernel and the ISO are the
compressed size, and the root costs memory only for what is touched.
See docs/architecture/scff.md.

zstd 1.5.7 comes from ports/zstd like uACPI: the decoder is compiled
into the kernel at -O2, with a static context and a 64 KB stack of its
own, and mkscff builds the whole library from the same release.

world now has xorg-server, the fbdev and evdev drivers, xinit, Window
Maker, xterm and DejaVu, and /root/.xinitrc runs wmaker. That root is
358 MB, 102 MB as SCFF.

The ISO no longer carries the root a third time as an ISO 9660 tree,
which nothing read. schos.iso: 1389 MB -> 318 MB. El Torito keeps its
own copy of the EFI image, the layout real machines have booted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
2026-10-24 21:17:31 +02:00
..
posix SCFF: the live root ships compressed, with Xorg and Window Maker 2026-10-24 21:17:31 +02:00
python include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
windows X on the console: /dev/tty0, a palette, and startx that works 2026-10-24 19:44:10 +02:00
fix-includes.py include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
kmemtest.c kmem: a slab allocator, and what the fixed tables actually cost 2026-09-22 09:32:06 +02:00
ksyms.pl include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
mkfs.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
mkscff.c SCFF: the live root ships compressed, with Xorg and Window Maker 2026-10-24 21:17:31 +02:00
mkschfs.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
pr.pl Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
qrtest.c Rename Schunix to SchOS; the kernel becomes SchIFT 2026-08-09 14:09:59 +02:00
schfs_fsck.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
schfs_objtest.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
schfs_test.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
ttftest.c font: the console draws outlines now, and a byte could not have held Ą 2026-09-20 00:35:34 +02:00
vectors.pl Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
wallpapers.py branding: four skeuomorphic wallpapers; the old art goes 2026-10-23 15:51:29 +02:00