SchOS/kernel/dev
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
..
audio.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
bio.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
blkdev.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
cdev.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
dbg.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
device.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
disk.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
dmi.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
fb.c X on the console: /dev/tty0, a palette, and startx that works 2026-10-24 19:44:10 +02:00
gfx.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
ide.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
input.c kernel: HTTPS through wget, half-close, and /proc/<pid>/fd 2026-10-24 20:28:03 +02:00
irq.c irq: turn a PS/2 line over when its device waits and nothing comes 2026-10-24 11:10:29 +02:00
kbd.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
keymap.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
mouse.c irq: turn a PS/2 line over when its device waits and nothing comes 2026-10-24 11:10:29 +02:00
netuser.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
pci.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
pciuser.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
procfs.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
ramdisk.c SCFF: the live root ships compressed, with Xorg and Window Maker 2026-10-24 21:17:31 +02:00
text.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
ttf.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
uart.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
vt.c input, fb, vt, sysfs: the kernel calls Xorg makes 2026-10-24 12:06:04 +02:00