Commit Graph

70 Commits

Author SHA1 Message Date
bjorn3 3a406b75e2 bootstrap: Only keep the initfs data mapped in the initfs process 2026-03-07 12:46:45 +01:00
bjorn3 ecaa58d5e5 bootstrap: Remove outdated fixme
The initfs data is already mapped as read-only by the "rest of memory"
mprotect.
2026-03-07 12:46:45 +01:00
bjorn3 a8f3e83e9d bootstrap: Map .data.rel.ro, GOT and PLT as read-only 2026-03-07 12:46:45 +01:00
bjorn3 311e180019 bootstrap: Move scheme socket creation to spawn 2026-03-06 22:25:20 +01:00
bjorn3 b31f48cb59 bootstrap: Directly pass event cap fd to procmgr 2026-03-06 22:25:19 +01:00
bjorn3 890f325368 bootstrap: Store FdGuard's in KernelSchemeMap 2026-03-06 22:25:18 +01:00
bjorn3 b641ed3741 bootstrap: Pass proc auth FdGuard by-value 2026-03-06 22:25:16 +01:00
bjorn3 0d957f8d20 bootstrap: Return FdGuard for the scheme root in spawn 2026-03-06 22:25:14 +01:00
bjorn3 fe3f09133d bootstrap: Use FdGuard for scheme_creation_cap 2026-03-06 22:25:05 +01:00
Ibuki Omatsu 2738f69224 feat: Implement std_fs_call handling to initfs, ramfs, acpi and xhci 2026-02-28 08:15:16 -07:00
Jeremy Soller 3a94262aff Downgrade scheme not found log level to info 2026-02-26 10:00:39 -07:00
Ibuki Omatsu ac3d816672 feat: Pass initial cwd fd to init 2026-02-26 06:36:30 -07:00
bjorn3 0227c0677c init: Introduce switchroot command
This sets PATH, LD_LIBRARY_PATH and runs init scripts for the new root.
In the future this could replace the entire set of services that should
run, restarting any services for which a newer executable is available
in the new root and stopping any services which don't exist in the new
root. This behavior could also be useful for soft-reboots in the future
to handle updates without rebooting the entire system.
2026-02-19 20:18:07 +01:00
bjorn3 c028c49c55 initfs: Symlinks should be resolved relative to symlink parent 2026-02-17 20:54:53 +01:00
bjorn3 fc4b48df67 initfs: Fix stat for symlinks 2026-02-17 20:54:47 +01:00
bjorn3 f0413aec8e initfs: Fill in st_ino
Otherwise ls and other tools will think they have already visited a
directory when recursively enumerating all files.
2026-02-17 20:54:40 +01:00
bjorn3 edd1c249e9 initfs: Remove uid and gid fields for inodes
The initfs creation code always puts 0 in them.
2026-02-17 20:54:35 +01:00
Anhad Singh fff728c5e5 misc(Cargo.lock): bump redox-rt
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-02-17 01:03:09 +11:00
Jeremy Soller 4788db00de Update redox-syscall and redox-scheme for stdfscall 2026-02-11 12:21:35 -07:00
bjorn3 9ec0733951 bootstrap: Move computation of schemes from initnsmgr to main 2026-02-07 20:32:09 +01:00
bjorn3 a04626044e bootstrap: Use FdGuard inside initnsmgr 2026-02-07 20:06:06 +01:00
bjorn3 029e3a48e2 bootstrap: Use FdGuard for sync_pipe 2026-02-07 20:06:06 +01:00
bjorn3 c0c002bfbc bootstrap: Remove Arc around KernelSchemeMap 2026-02-07 20:06:02 +01:00
bjorn3 842855e26f Fix /scheme/proc/ps header 2026-02-07 12:32:52 +01:00
bjorn3 9e28791c2b Fix a couple of warnings 2026-02-07 12:19:41 +01:00
bjorn3 a40955bb80 Remove setrens handling and the rns/ens process fields
It is no longer used due to the capability rework.
2026-02-06 21:59:17 +01:00
4lDO2 c6f5703313 Fix typo causing rt signals not to wakeup thread. 2026-02-05 15:13:47 +01:00
4lDO2 ebf4c4185a Fix sigqueue limit off-by-one, rustfmt. 2026-02-01 13:13:21 +01:00
bjorn3 686b052dea Support dynamic linking in initfs
With this the only changes necessary to dynamically link the initfs are
in the build recipe.
2026-01-25 20:25:01 +01:00
Wildan M b0d9f8114a bootstrap: Quote scheme log 2026-01-23 02:25:51 +07:00
Ibuki.O 34d337fedb feat: Implement fstat handling in nsmgr. 2026-01-21 19:18:47 +09:00
Ibuki.O 914645baea chore: Use redox-rt from upstream in bootstrap. 2026-01-21 13:19:28 +09:00
Ibuki Omatsu 334928f151 feat: Introduce userspace namespace manager and adapt all schemes. 2026-01-20 20:56:58 -07:00
Jeremy Soller f740b61774 Use workspace dependencies for many common crates 2026-01-20 10:12:08 -07:00
Wildan M d08c6cbe6f Split driver log level env 2026-01-10 06:35:06 +07:00
Wildan M 992b856d66 Make boot log level adjustable 2026-01-10 04:58:11 +07:00
Ibuki Omatsu 3681e1b74a refactor: Replace unlink and rmdir with unlinkat in ramfs. Update redox-scheme and redox-rt for bootstrap. 2025-12-17 18:46:05 -07:00
Jeremy Soller 7ff1d4546d Merge branch 'p3' into 'main'
fix(bootstrap/procmgr): on child exit, do not set `stop_or_continue` when sending `SIGCHLD`

See merge request redox-os/base!71
2025-12-16 20:32:54 -07:00
Anhad Singh 106c078923 fix(bootstrap/procmgr): on child exit, do not set stop_or_continue
when sending `SIGCHLD`

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-12-17 14:29:52 +11:00
Ribbon 723364cb45 Improve, update and remove unnecessary READMEs 2025-12-16 21:34:36 -03:00
bjorn3 1ac570fe06 Couple of minor feature gate changes 2025-12-13 12:38:22 +01:00
bjorn3 bd184871b7 Update redox-rt 2025-12-12 21:46:32 +01:00
bjorn3 d5ff91f248 Support mmap in initfs 2025-12-12 21:45:10 +01:00
Anhad Singh 9028509fb8 fix(procmgr/kill): error handling
* Fix `num_succeeded` was never being incremented
* If no processes or process group could be found corresponding to that
  specified by `target`, `ESRCH` should be returned.
* Document this behaviour.

This is the reason why `killpg` test was hanging instead of reporting an
error since `kill` was silently failing.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-12-10 17:17:39 +11:00
Jeremy Soller 949e1feb55 Merge branch 'bootstrap_cloexec' into 'main'
bootstrap: Open things with O_CLOEXEC where possible

See merge request redox-os/base!52
2025-12-08 16:49:46 -07:00
bjorn3 3bdcd7b04d bootstrap: Open things with O_CLOEXEC where possible 2025-12-08 22:17:41 +01:00
Jeremy Soller 5fac9991c2 Merge branch 'main' into 'main'
fix(procmgr): send SIGCHLD to parent after child exits

See merge request redox-os/base!40
2025-12-07 17:59:52 -07:00
bjorn3 63907aff45 bootstrap: Update redox-rt 2025-12-07 20:59:32 +01:00
bjorn3 6c39bea37a Only depend on redox-rt when compiling for redox
This fixes rust-analyzer when it is not configured to use redox as target.
2025-12-05 22:06:39 +01:00
bjorn3 c7adb019b5 Use file as default scheme from the start
This removes one piece of state that init has to manage for the
processes it spawns. This also allows getting rid of the concept of a
default scheme from relibc if we want.
2025-12-05 20:52:50 +01:00