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
286 lines
15 KiB
Text
286 lines
15 KiB
Text
SchOS
|
|
Copyright 2026 Nexoniarz
|
|
|
|
This product includes software developed as part of the SchOS project,
|
|
licensed under the GNU General Public License, version 2 or (at your option)
|
|
any later version. See LICENSE.
|
|
|
|
================================================================================
|
|
Third-party software
|
|
================================================================================
|
|
|
|
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
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2006-2019 Frans Kaashoek, Robert Morris, Russ Cox,
|
|
Massachusetts Institute of Technology CSAIL
|
|
|
|
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.
|
|
|
|
--------------------------------------------------------------------------------
|
|
musl libc 1.2.5 MIT License
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2005-2020 Rich Felker and contributors
|
|
|
|
Built from ports/musl. Provides the C library every userland program links
|
|
against. See the extracted source's COPYRIGHT file for the full contributor
|
|
list, which the MIT terms require be carried along with binaries.
|
|
|
|
--------------------------------------------------------------------------------
|
|
toybox 0.8.12 Zero-Clause BSD (0BSD)
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2006-2024 Rob Landley and contributors
|
|
|
|
Built from ports/toybox. Supplies the standard command set in /bin -- 268
|
|
applets, which is defconfig's 236 plus a curated set from toys/pending/ (awk,
|
|
bc, diff and the rest); see ports/toybox/Makefile. 0BSD imposes no attribution
|
|
requirement at all; this entry is courtesy, not obligation.
|
|
|
|
--------------------------------------------------------------------------------
|
|
kilo (commit 323d93b) BSD 2-Clause
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2016 Salvatore Sanfilippo <antirez@gmail.com>
|
|
|
|
Built from ports/kilo. Supplies /bin/kilo and /bin/edit, the text editor. The
|
|
BSD 2-Clause terms require the copyright notice and disclaimer be retained in
|
|
binary distributions; the full text is installed at
|
|
/usr/share/licenses/kilo/LICENSE in every image.
|
|
|
|
--------------------------------------------------------------------------------
|
|
mksh R59c MirOS Licence
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2002-2023 Thorsten Glaser and contributors
|
|
Portions derived from the Public Domain Korn Shell (pdksh)
|
|
|
|
Built from ports/mksh. Supplies /bin/sh. The MirOS Licence is permissive and
|
|
requires the copyright notice be retained.
|
|
|
|
--------------------------------------------------------------------------------
|
|
zsh 5.9 MIT-like
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 1992-2017 Paul Falstad, Richard Coleman, Zoltan Hidvegi,
|
|
Andrew Main, Peter Stephenson, Sven Wischnowsky, and others
|
|
|
|
Built from ports/zsh. Installed as /bin/zsh and used as the interactive shell;
|
|
/bin/sh remains mksh.
|
|
|
|
zsh's LICENCE notes that a few shell functions are licensed under the GNU
|
|
General Public Licence and states that, since no core function is affected,
|
|
those files may simply be omitted. They are. ports/zsh/Makefile removes four
|
|
files after extraction -- completions for darcs, qdbus, osc and zypper -- and
|
|
refuses to install if any of them is still present. No GPL-licensed file is
|
|
shipped in a SchOS image.
|
|
|
|
--------------------------------------------------------------------------------
|
|
ncurses 6.4 MIT License
|
|
--------------------------------------------------------------------------------
|
|
Copyright 2018-2022 Thomas E. Dickey
|
|
Copyright 1998-2018 Free Software Foundation, Inc.
|
|
|
|
Built from ports/ncurses. Linked into zsh so that its line editor can drive a
|
|
terminal, and into sysroot/bin/tinfotest. Built with --disable-database and
|
|
compiled-in fallbacks, so no terminfo files are installed.
|
|
|
|
--------------------------------------------------------------------------------
|
|
lwIP 2.2.0 BSD 3-Clause
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2001, 2002 Swedish Institute of Computer Science
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions are met:
|
|
|
|
1. Redistributions of source code must retain the above copyright notice,
|
|
this list of conditions and the following disclaimer.
|
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
this list of conditions and the following disclaimer in the documentation
|
|
and/or other materials provided with the distribution.
|
|
3. The name of the author may not be used to endorse or promote products
|
|
derived from this software without specific prior written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
|
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
Fetched by ports/lwip and compiled into the kernel -- it is the TCP/IP stack,
|
|
not a userland library, so it is present in every built kernel image rather
|
|
than in a binary under /bin. The port layer written for SchOS
|
|
(kernel/net/lwip/) is GPL-2.0-or-later and is not part of lwIP; lwIP's own
|
|
sources are unmodified. Clause 3 is a no-endorsement term, not the four-clause
|
|
advertising requirement, so it combines with the GPL without difficulty.
|
|
|
|
--------------------------------------------------------------------------------
|
|
uACPI 6.1.1 MIT
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2022-2026 Daniil Tatianin
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
|
|
Fetched by ports/uacpi and compiled into the kernel: it is the ACPI AML
|
|
interpreter, used for PCI interrupt routing, the power button and power-off.
|
|
The host layer written for SchOS (kernel/acpi/) is GPL-2.0-or-later and is not
|
|
part of uACPI; uACPI's own sources are unmodified.
|
|
|
|
--------------------------------------------------------------------------------
|
|
zstd 1.5.7 BSD 3-Clause (or GPL-2.0)
|
|
--------------------------------------------------------------------------------
|
|
BSD License
|
|
|
|
For Zstandard software
|
|
|
|
Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without modification,
|
|
are permitted provided that the following conditions are met:
|
|
|
|
* Redistributions of source code must retain the above copyright notice, this
|
|
list of conditions and the following disclaimer.
|
|
|
|
* Redistributions in binary form must reproduce the above copyright notice,
|
|
this list of conditions and the following disclaimer in the documentation
|
|
and/or other materials provided with the distribution.
|
|
|
|
* Neither the name Facebook, nor Meta, nor the names of its contributors may
|
|
be used to endorse or promote products derived from this software without
|
|
specific prior written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
Fetched by ports/zstd. Its decoder is compiled into the kernel to read SCFF,
|
|
the compressed live root (docs/architecture/scff.md), and tools/mkscff builds
|
|
the whole library on the host to write it. zstd is dual-licensed; SchOS takes
|
|
it under the BSD licence above. The glue written for SchOS (kernel/scff/) is
|
|
GPL-2.0-or-later and is not part of zstd; zstd's own sources are unmodified.
|
|
|
|
--------------------------------------------------------------------------------
|
|
Intel 8254x device identifiers BSD 3-Clause
|
|
--------------------------------------------------------------------------------
|
|
Copyright (c) 2001-2020, Intel Corporation
|
|
All rights reserved.
|
|
|
|
The PCI device IDs in include/e1000.h are transcribed from FreeBSD's
|
|
sys/dev/e1000/e1000_hw.h, which carries the Intel 3-clause BSD licence above
|
|
(verified: no advertising clause). Only the identifier constants are used --
|
|
data, not implementation. kernel/drivers/net/e1000/e1000.c is written from
|
|
Intel's public manual 317453 and contains no FreeBSD or Intel driver code.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the conditions of the 3-clause BSD
|
|
licence are met, including retention of this notice and the disclaimer, and
|
|
that neither the name of Intel Corporation nor the names of its contributors
|
|
are used to endorse or promote products derived from this software without
|
|
specific prior written permission.
|
|
|
|
--------------------------------------------------------------------------------
|
|
usb.ids -- USB vendor and product database BSD 3-Clause (dual-licensed)
|
|
--------------------------------------------------------------------------------
|
|
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. SchOS takes
|
|
the BSD option, which was chosen while SchOS was Apache-2.0; either option is
|
|
compatible now, and the BSD one is kept because it asks less of anyone.
|
|
|
|
Shipped verbatim as /usr/share/hwdata/usb.ids. Cached in dist/ and refreshed
|
|
with `make usb-ids`, never automatically -- the version and date are in the
|
|
file's own header, so what shipped is always knowable.
|
|
|
|
--------------------------------------------------------------------------------
|
|
pci.ids -- PCI vendor and device database BSD 3-Clause (dual-licensed)
|
|
--------------------------------------------------------------------------------
|
|
Maintained by Albert Pool, Martin Mares and the PCI ID Project volunteers
|
|
https://pci-ids.ucw.cz/
|
|
|
|
Distributed under the terms of *either* the GNU General Public License version
|
|
2 or later, *or* the 3-clause BSD Licence, as its header states. SchOS takes
|
|
the BSD option, as for usb.ids.
|
|
|
|
Shipped verbatim as /usr/share/hwdata/pci.ids. Cached in dist/ and refreshed
|
|
with `make pci-ids`, never automatically.
|
|
|
|
--------------------------------------------------------------------------------
|
|
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. It is a separate data file loaded at run time, not code
|
|
linked into SchOS, so it sits beside the GPL as an aggregate and keeps its own
|
|
licence; the obligation is this notice. Intended for the desktop, window
|
|
manager and compositor.
|
|
|
|
--------------------------------------------------------------------------------
|
|
JetBrains Mono SIL OFL 1.1
|
|
--------------------------------------------------------------------------------
|
|
Copyright 2020 The JetBrains Mono Project Authors
|
|
(https://github.com/JetBrains/JetBrainsMono)
|
|
|
|
Shipped as /usr/share/fonts/JetBrainsMono-Regular.ttf, from ports/JetBrains_Mono
|
|
(full licence text at ports/JetBrains_Mono/OFL.txt). Intended for the terminal
|
|
and TTY.
|
|
|
|
Under the SIL Open Font License 1.1 the font remains under OFL even inside this
|
|
GPL-licensed 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.
|
|
|
|
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 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
|
|
a NetBSD file's clause before using it -- are worked through in
|
|
docs/licensing.md.
|
|
|
|
fastfetch MIT
|
|
https://github.com/fastfetch-cli/fastfetch
|
|
Copyright (c) 2022 Linus Dierheimer and contributors
|
|
|
|
Built from source by ports/fastfetch and installed as /bin/fastfetch.
|
|
Unpatched: see the note at the top of that Makefile about why what it
|
|
cannot detect becomes work in the kernel rather than a patch here.
|