Initial commit: Schunix as it stands before the SchOS rename
An x86-64 operating system built from xv6, now largely rewritten: SMP, a copy-on-write root filesystem (SchFS), PCI/USB/virtio drivers, a TTF rasteriser, and a Linux-numbered syscall ABI. No history before this point -- the tree was never under version control. This commit exists so the rename that follows has something to undo to.
This commit is contained in:
commit
d0f7acf9eb
275 changed files with 51417 additions and 0 deletions
145
NOTICE
Normal file
145
NOTICE
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
Schunix
|
||||
Copyright 2026 Nexoniarz
|
||||
|
||||
This product includes software developed as part of the Schunix 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.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
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
|
||||
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. 0BSD
|
||||
imposes no attribution requirement at all; this entry is courtesy, not
|
||||
obligation.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
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.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
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. Schunix 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).
|
||||
|
||||
Shipped verbatim as /usr/share/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.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
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
|
||||
obligation beyond 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
|
||||
Apache-2.0 system -- that does not reach any other part of Schunix -- 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.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
"New File System For XV6" MIT License
|
||||
--------------------------------------------------------------------------------
|
||||
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:
|
||||
|
||||
- the HTree hashed directory index (BKDRHash, HASHRANGE, the primary/overflow
|
||||
bucket layout), after Daniel Phillips, "A Directory Index for EXT2",
|
||||
5th Annual Linux Showcase & Conference, 2001
|
||||
- Ext4-style extents (T_EXTENT)
|
||||
- the inode bitmap
|
||||
- symbolic links, file permissions, lseek and append
|
||||
|
||||
Licensed under the MIT License, which permits this use and requires that the
|
||||
copyright notice and permission notice be retained. This entry is that
|
||||
retention; it was missing until 2026-08-09 and is recorded here regardless of
|
||||
what happens to the code, because the obligation attaches to every copy already
|
||||
made.
|
||||
|
||||
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
|
||||
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.
|
||||
Loading…
Reference in a new issue