disk-fs-readline #1

Merged
Stormzady merged 3 commits from disk-fs-readline into main 2026-10-22 22:03:12 +01:00
Owner
No description provided.
- ata.c: ATA/IDE PIO driver (LBA28, polling), detects up to four drives
- fs.c: hierarchical file system written through to disk 0, RAM-only fallback
- readline.c: line editing, history, tab completion of commands and paths
- keyboard: extended keys (arrows, Home/End/Delete) and Ctrl+letter
- shell: disks, rdsec, wrsec, df, format, mkdir, cd, pwd, history
- make run attaches a persistent disk.img; make newdisk resets it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Ring 3 segments, TSS and an int 0x80 system call gate; user pages at
  0x40000000-0x80000000; crashes and Ctrl+C kill only the program
- proc.c: static ELF32 loader, argv on the stack, syscalls exit, read,
  write, open, close, brk, getuid
- users.c: login prompt, /etc/passwd, salted SHA-256 hashes in root-only
  /etc/shadow; useradd, userdel, passwd, su, whoami, id, users
- fs: per-entry owner and Unix permissions (disk format v2, v1 disks are
  upgraded on mount); chmod, chown
- user/: small libc and demo programs (hello, wc, note, guess, crash, spin)
- tools/nxfs.py installs programs into /bin on disk.img during make run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Programs can start other programs and wait for them (SYS_SPAWN); each
  gets its own page directory, kernel stack, user and working directory
- New system calls for directories, stat, permissions, accounts, raw keys
  and console control, system and disk info, disk I/O, format, power
- include/nextos/abi.h: syscall numbers, errors and structs shared by the
  kernel and programs
- Kernel keeps only the login (src/login.c), which runs /bin/sh as the
  user; the former built-ins are now programs in /bin
- sh: prompt shows the home directory as ~, a leading ~ in arguments
  expands to it, cd with no argument goes home; readline with history
  and completion moved to user/lib

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Stormzady/os!1
No description provided.