bjorn3
a063db73a4
init: Support unit instancing
...
And use it for the logging ramfs by having a generic ramfs unit.
2026-03-05 19:42:17 +01:00
bjorn3
0869d8184c
init: Nicer error handling
2026-03-05 19:41:30 +01:00
bjorn3
1424a470d3
init: Change from push to a pull for loading units
...
Rather than starting all services in the config dir, we only start those
which are a dependency of the target we want to reach. This is necessary
to handle unit templating, service start stop and an alternative target
for recovery or graceful shutdown.
2026-03-04 21:55:11 +01:00
bjorn3
7cea939540
init: Switch root upon reaching initfs.target
2026-03-04 21:53:48 +01:00
Jeremy Soller
c4e3a7e98f
Merge branch 'init_rework6' into 'main'
...
Migrate the entire initfs to service definitions
See merge request redox-os/base!140
2026-02-28 09:07:13 -07:00
bjorn3
6d243d666c
init: Convert rootfs to a service
...
With this the entire initfs now uses service definitions.
2026-02-28 17:03:25 +01:00
bjorn3
e86dbfa17e
Init: Introduce support for conditionally spawning services
...
depending on the architecture and selected board. With this the
migration of initfs daemons to service definitions is almost done.
2026-02-28 16:55:26 +01:00
Jeremy Soller
352d90332f
Use libredox::protocol in ipcd and netstack
2026-02-28 08:20:24 -07:00
Jeremy Soller
7c1a183b12
Merge branch 'base-stdfscall' into 'main'
...
feat: Implement std_fs_call handling to initfs, ramfs, acpi and xhci
See merge request redox-os/base!134
2026-02-28 08:15:16 -07: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
9624cd3c2c
Merge branch 'serde-toml' into 'main'
...
make serde and toml workspace dependencies
See merge request redox-os/base!139
2026-02-27 06:19:36 -07:00
auronandace
7849aa23b3
make serde and toml workspace dependencies
2026-02-27 08:39:29 +00:00
Jeremy Soller
3a94262aff
Downgrade scheme not found log level to info
2026-02-26 10:00:39 -07:00
Jeremy Soller
e9e514efce
Merge branch 'init_rework5' into 'main'
...
Convert all service definitions to toml
See merge request redox-os/base!138
2026-02-26 09:56:59 -07:00
bjorn3
124f11bde1
init: Convert all service definitions to toml
2026-02-26 17:41:39 +01:00
bjorn3
a7ee3a2364
Update to toml 1.0
2026-02-26 17:28:12 +01:00
Jeremy Soller
34acae8990
Merge branch 'fix_bootlog' into 'main'
...
Add missing vesad dependency to fbbootlogd
See merge request redox-os/base!137
2026-02-26 09:04:21 -07:00
bjorn3
a5041f7d7a
init: Add missing vesad dependency to fbbootlogd
2026-02-26 17:03:14 +01:00
Jeremy Soller
f5219072e4
Merge branch 'init_rework4' into 'main'
...
Convert 10_logging, 20_graphics and 30_live to services
See merge request redox-os/base!136
2026-02-26 08:50:52 -07:00
bjorn3
4f90c249ff
init: Fix some issues in driver configs for arm64
...
Remove an unnecessary unset, remove a duplicate hwd spawn and update
requires_weak dependencies.
2026-02-26 16:46:29 +01:00
bjorn3
3d2951a23d
init: Convert vesad, fbbootlogd and fbcond to services
2026-02-26 16:38:56 +01:00
bjorn3
e55bd17530
drivers/graphics: Fix a couple of warnings
2026-02-26 16:23:32 +01:00
bjorn3
31489ce7ca
init: Convert inputd and lived to services
2026-02-26 16:03:41 +01:00
bjorn3
72b96695b0
init: Add a couple of service descriptions
2026-02-26 15:38:14 +01:00
bjorn3
fb051cd486
init: Special case logd
...
Logd is a special case. Every other service effectively has an implicit
dependency on it for sending log messages to it and even init itself
depends on it for it's own log messages.
2026-02-26 15:18:19 +01:00
Jeremy Soller
e46bfb0005
Merge branch 'er' into 'main'
...
fix: add descriptive error messages for -K flag
See merge request redox-os/base!135
2026-02-26 06:38:14 -07:00
Jeremy Soller
1bcf92eba9
Merge branch 'cwd-fd' into 'main'
...
feat: Pass initial cwd fd to init
See merge request redox-os/base!131
2026-02-26 06:36:30 -07:00
Ibuki Omatsu
ac3d816672
feat: Pass initial cwd fd to init
2026-02-26 06:36:30 -07:00
nekluu
49f000a3ed
fix: add descriptive error messages for -K flag
2026-02-26 16:23:22 +03:00
Jeremy Soller
75b9f07a92
Merge branch 'init_rework3' into 'main'
...
Introduce dependency handling to init
See merge request redox-os/base!133
2026-02-25 15:02:54 -07:00
bjorn3
bb2a00114f
init: Introduce dependency handling
2026-02-25 22:43:11 +01:00
bjorn3
6fcb07e7dd
init: Introduce UnitStore
...
This will be necessary to store persistent information about units like
if they are currently started and which process is associated with them.
2026-02-25 22:06:25 +01:00
bjorn3
73cc0b0a07
init: Begin introducing units
...
Dependencies are not yet functional.
2026-02-25 20:57:47 +01:00
bjorn3
f364bf1f60
init: Introduce a json format for services
...
While I would have like to use toml, something inside the toml crate
seems to be using randomness, which is not yet available when init
starts.
2026-02-25 20:18:42 +01:00
Jeremy Soller
a7cb911864
Update libc, patch rustix, and cargo update
2026-02-20 14:04:49 -07:00
Jeremy Soller
403fddab68
Merge branch 'precedence' into 'main'
...
add clippy precedence lint
See merge request redox-os/base!132
2026-02-20 08:55:01 -07:00
auronandace
4e77bb0f96
add precedence lint to drivers
2026-02-20 15:00:43 +00:00
auronandace
5ffce47607
add clippy precedence lint
2026-02-20 13:43:48 +00:00
bjorn3
4e772728ad
init: Introduce Service type
...
A future commit will use it to define services in toml format.
2026-02-19 22:18:29 +01:00
bjorn3
c9d691fa29
init: Remove export and unset commands
...
They manipulate global state and none of the init scripts use them anymore.
2026-02-19 21:57:45 +01:00
Jeremy Soller
35af6f9672
Merge branch 'init_rework2' into 'main'
...
Reduce global state manipulation in init
See merge request redox-os/base!130
2026-02-19 13:54:52 -07:00
bjorn3
0f0f12fb12
graphics/vesad: Fix multi-monitor support
2026-02-19 21:49:21 +01:00
Jeremy Soller
a8e9a5e73b
ipcd: use first segment size for limits of mmap
2026-02-19 13:23:35 -07:00
bjorn3
87abd3fb70
init: Maintain default service env vars separate from init env vars
...
With this only the env vars set using export or explicitly specify for a
service are passed to services (in addition to RUST_BACKTRACE, PATH and
LD_LIBRARY_PATH). As such we no longer need to manually unset bootloader
env vars to keep the environment clean. And finally this means that env
var substitutions in shell scripts always use the bootloader provided
env vars rather than locally specified ones.
This does regress multi monitor support when there is no proper graphics
driver.
2026-02-19 21:06:53 +01:00
Jeremy Soller
c2c7020063
ipcd: block uds stream connect until accept
2026-02-19 12:56:23 -07:00
bjorn3
b7524c3a65
init: Allow passing env vars to individual services
2026-02-19 20:50:48 +01:00
bjorn3
029f56eebe
init: Remove cd command
...
The working directory doesn't matter for services and login sessions
already cd to the user home directory. This removes one source of global
state manipulation.
2026-02-19 20:26:51 +01: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
Jeremy Soller
a5168828ad
Merge branch 'dyn-shm' into 'main'
...
ipcd: Allow non contiguous shm allocation
See merge request redox-os/base!129
2026-02-19 11:00:05 -07:00
Wildan M
2875e8f26e
ipcd: Allow non contiguous shm allocation
2026-02-19 13:19:39 +07:00