SchOS/include/core
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz 2cfa3f0bf2 kernel: chroot, #! scripts, rename and mmap as apk needs them
Found by running Alpine's apk on SchOS, one failure at a time:

- chroot(2) was a stub returning EPERM. Each process now has a root:
  where an absolute path starts and where .. stops. Mounts remember
  whose root they were made under, and a walk leaves a mount by the way
  it came in, so one filesystem can be mounted twice.
- devtmpfs and proc mounted only on /dev and /proc, whatever the target;
  a chroot got "already mounted".
- mmap never reused freed address space, so musl's malloc used up the
  256 mapping records while 780 MB were free. A mergeable mapping now
  goes straight after an anonymous one whose end has room.
- unlinkat returned -1 (EPERM) where apk expects ENOENT, and renameat
  was an old copy of rename: no replacing the target, and v1 dirents
  written into SchFS. Both now share rename's implementation.
- execve runs #! scripts, and says ENOEXEC for what it cannot run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
2026-10-24 15:28:32 +02:00
..
config_sinit.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
date.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
dbg.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
defs.h kernel: chroot, #! scripts, rename and mmap as apk needs them 2026-10-24 15:28:32 +02:00
dma.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
elf.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
hwinfo.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
irq.h irq: turn a PS/2 line over when its device waits and nothing comes 2026-10-24 11:10:29 +02:00
klog.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
kmem.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
param.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
proc.h kernel: chroot, #! scripts, rename and mmap as apk needs them 2026-10-24 15:28:32 +02:00
sbuf.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
sleeplock.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
spinlock.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
syscall.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
types.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
uaccess.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00