Rename Schunix to SchOS; the kernel becomes SchIFT

Removes the "-unix" element and with it any trademark exposure to The
Open Group.

The split follows the ecosystem layout: SchOS is the system, and the
kernel has its own name. Kernel-identity strings are the only places
that take SchIFT -- uname(2) sysname, /proc/version, and the two licence
sentences that say "kernel" outright. That is what every Unix does here:
`uname -s` on Linux reports the kernel, not the distribution. Everything
a user reads as the product -- panic screen, boot menu, error prefixes,
docs, LICENSE, NOTICE -- is SchOS.

schunix.img is schos.img, the logo assets and the musl TLS patch are
renamed, and __SCHUNIX__ is __SCHOS__ (the define and the patch that
consumes it moved together).

Two things the rename broke, both found by the bootcheck suite:

  - shmtest wrote "SCHUNIX-MMAP-OK" with a hardcoded length of 15 and
    compared it back by hand-counted offsets (m[3]=='U', m[14]=='K').
    The shorter marker left the write running two bytes past the literal
    and the compare reading past the data, failing a file-backed mmap
    that was working correctly. Now written and compared through one
    constant with sizeof.
  - bootcheck asserted a 31-byte file after appending to
    "hello-from-schunix"; the shorter string makes it 29.

Both are the same mistake: a string literal whose length is written out
somewhere else. Full suite green -- base, Tty, Ps, Sock, Fb, Usb, Evdev.
This commit is contained in:
Nexoniarz 2026-08-09 14:09:59 +02:00
commit e04ca28812
83 changed files with 520 additions and 601 deletions

22
NOTICE
View file

@ -1,16 +1,16 @@
Schunix
SchOS
Copyright 2026 Nexoniarz
This product includes software developed as part of the Schunix project,
This product includes software developed as part of the SchOS project,
licensed under the Apache License, Version 2.0. See LICENSE.
================================================================================
Third-party software
================================================================================
Schunix incorporates and redistributes software written by others. Their
licences apply to their code and are NOT superseded by the Schunix licence.
A built Schunix image contains binaries derived from all of the following.
SchOS incorporates and redistributes software written by others. Their
licences apply to their code and are NOT superseded by the SchOS licence.
A built SchOS image contains binaries derived from all of the following.
--------------------------------------------------------------------------------
xv6-x86_64 / xv6 MIT License
@ -18,7 +18,7 @@ xv6-x86_64 / xv6 MIT License
Copyright (c) 2006-2019 Frans Kaashoek, Robert Morris, Russ Cox,
Massachusetts Institute of Technology CSAIL
The Schunix kernel is a derivative work of xv6. Substantial portions of
The SchIFT kernel is a derivative work of xv6. Substantial portions of
kernel/ -- notably the process, trap, virtual memory, buffer cache and v1
filesystem code -- descend from it, however heavily rewritten. The MIT licence
requires that this notice be preserved in all copies; see LICENSE.MIT.
@ -76,7 +76,7 @@ Maintained by Stephen J. Gowdy <linux.usb.ids@gmail.com>
http://www.linux-usb.org/usb.ids
Distributed by its maintainer under the terms of *either* the GNU General
Public License version 2 or later, *or* the 3-clause BSD Licence. Schunix takes
Public License version 2 or later, *or* the 3-clause BSD Licence. SchOS takes
the BSD option; the GPL option is not exercised and could not be, since
Apache-2.0 and GPL-2.0-only cannot be combined (see docs/licensing.md section
2).
@ -91,7 +91,7 @@ Roboto Apache-2.0
Copyright the Roboto Project Authors (https://github.com/googlefonts/roboto)
Shipped as /usr/share/fonts/Roboto-Regular.ttf, from ports/Roboto. Licensed
under Apache-2.0 -- the same licence as Schunix itself, so it carries no
under Apache-2.0 -- the same licence as SchOS itself, so it carries no
obligation beyond this notice. Intended for the desktop, window manager and
compositor.
@ -106,7 +106,7 @@ Shipped as /usr/share/fonts/JetBrainsMono-Regular.ttf, from ports/JetBrains_Mono
and TTY.
Under the SIL Open Font License 1.1 the font remains under OFL even inside this
Apache-2.0 system -- that does not reach any other part of Schunix -- and it may
Apache-2.0 system -- that does not reach any other part of SchOS -- and it may
not be sold on its own. Bundling it with an operating system is expressly
permitted. JetBrains Mono declares no Reserved Font Name, so a modified version
(a pre-rasterised bitmap, for instance) may keep the name.
@ -117,7 +117,7 @@ permitted. JetBrains Mono declares no Reserved Font Name, so a modified version
Copyright (c) Qi Ma, Leyi Pan, Ao Sun, Peiran Xu
kernel/fs/fs.c and parts of tools/mkfs.c derive from this project, which extends
xv6's file system with features Schunix still uses today:
xv6's file system with features SchOS still uses today:
- the HTree hashed directory index (BKDRHash, HASHRANGE, the primary/overflow
bucket layout), after Daniel Phillips, "A Directory Index for EXT2",
@ -137,7 +137,7 @@ Distinct from xv6 itself (LICENSE.MIT), which this project in turn derives from.
================================================================================
The build downloads upstream tarballs into dist/ and applies the patches in
ports/<name>/patches/. Nothing in ports/ is Schunix code; do not add first-party
ports/<name>/patches/. Nothing in ports/ is SchOS code; do not add first-party
work there. See docs/layout.md.
Licence questions -- what may be copied in, what may never be, and how to check