SchOS/ports/alpine/world
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

28 lines
1 KiB
Text

# Alpine packages built into the apk-managed root, one per line.
#
# Edit this, then run `make alpine-lock` to resolve it, with every dependency,
# into world.lock -- exact versions and checksums. A normal build installs
# exactly what world.lock says from dist/alpine/, downloading only files it
# does not have yet, and never asks Alpine what is newer. That happens only
# when you run `make alpine-lock` again.
#
# Anything else is one `apk add` away on the running system; this list is
# what a fresh image starts with.
# The login shell. Replaces SchOS's own zsh port.
zsh
# Terminal descriptions for zsh, htop, and everything else that draws.
ncurses-terminfo-base
# The PCI and USB ID databases: lspci, fastfetch and Xorg read them.
hwdata-pci
hwdata-usb
# X on the framebuffer, with startx. /root/.xserverrc and .xinitrc (from
# mkaroot.sh) start it with -dumbSched and run Window Maker in it.
xorg-server
xf86-video-fbdev
xf86-input-evdev
xinit
# The desktop: Window Maker, a terminal for it, and a font for both.
windowmaker
xterm
font-dejavu