Commit Graph

57 Commits

Author SHA1 Message Date
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
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 Omatsu 334928f151 feat: Introduce userspace namespace manager and adapt all schemes. 2026-01-20 20:56:58 -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
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
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 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
Anhad Singh 5f3b2cc91f fix(procmgr): send SIGCHLD to parent after child exits
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-12-01 11:03:57 +11:00
Jeremy Soller c7b82d2c8f bootstrap: add link script for i586 2025-11-16 12:58:25 -07:00
Jeremy Soller f629b061fa use upper fd table 2025-11-16 08:37:46 -07:00
Jeremy Soller f8baa54411 Implement fpath on proc scheme 2025-11-14 11:37:14 -07:00
Jeremy Soller dc605d6cb9 bootstrap: set log level to warn 2025-11-01 20:47:43 -06:00
Jeremy Soller b7b8126731 bootstrap: reduce logging 2025-11-01 20:45:25 -06:00
Jeremy Soller 2c423e9a44 Update bootstrap to edition 2024 2025-10-04 08:15:24 -06:00
4lDO2 3354a9148d Fix SIGSTOP panic, ignore sigs for exited procs. 2025-09-21 10:14:52 +02:00