Commit Graph

2725 Commits

Author SHA1 Message Date
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
bjorn3 0f0f12fb12 graphics/vesad: Fix multi-monitor support 2026-02-19 21:49:21 +01: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
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
Jeremy Soller fc162ac4cf Merge branch 'init_rework' into 'main'
Begin moving towards a more declarative init

See merge request redox-os/base!128
2026-02-18 14:47:09 -07:00
bjorn3 dfee8f50d7 ps2d: Fix warnings 2026-02-18 22:41:05 +01:00
bjorn3 7ebeceb41d init: Allow init to register the scheme for a daemon
Unfortunately the scheme still has to be created by the daemon due to a
kernel bug, but once that is fixed, it would allow delayed spawning of
scheme daemons.
2026-02-18 22:40:09 +01:00
bjorn3 7dad7af1f0 init: Explicitly specify LD_LIBRARY_PATH in init scripts 2026-02-18 21:46:08 +01:00
bjorn3 2d071a5b75 init: Separate init script parsing and executing
And remove the run command and eagerly apply env var subsitution before
execution.
2026-02-18 21:46:02 +01:00
Jeremy Soller a137054378 Merge branch 'shared_config_locator' into 'main'
Introduce a shared config locator

See merge request redox-os/base!127
2026-02-17 15:20:47 -07:00
Jeremy Soller aceeef5bae Merge branch 'initfs_cleanups' into 'main'
A bunch of initfs cleanups

See merge request redox-os/base!126
2026-02-17 15:20:42 -07:00
bjorn3 b997641418 Split up init.rc 2026-02-17 22:26:04 +01:00
bjorn3 0a17fef534 Introduce a shared config locator
And use it for init and pcid-spawner
2026-02-17 22:26:04 +01:00
bjorn3 200ba82e57 initfs: Actually use Length newtype 2026-02-17 20:57:11 +01:00
bjorn3 7248eda128 initfs: Remove unused function 2026-02-17 20:57:11 +01:00
bjorn3 0e0287cb6d initfs: Use fixed modes for inode types
This also ensures that the write bit is never set and the execute bit
is always set for directories.
2026-02-17 20:57:10 +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 3e62ff9ec7 initfs: Use CARGO_TARGET_TMPDIR in test 2026-02-17 20:54:30 +01:00
bjorn3 223b497234 initfs: Make redox-initfs library unconditionally no_std 2026-02-17 20:54:19 +01:00
bjorn3 c611054bbd initfs: Move archive-common package into initfs-tools 2026-02-17 20:54:10 +01:00
Jeremy Soller 5c1f034a27 Merge branch 'fix-initfs-debug-space' into 'main'
Fix initfs space insufficient issue

See merge request redox-os/base!119
2026-02-17 07:54:12 -07:00
Jeremy Soller 4c8727ed40 Merge branch 'main' into 'main'
misc(Cargo.lock): bump `redox-rt`

See merge request redox-os/base!125
2026-02-16 07:17:44 -07: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 ab432bab63 Merge branch 'fix_arm64_init_drivers' into 'main'
Fix init_drivers.rc for arm64

See merge request redox-os/base!124
2026-02-14 10:42:14 -07:00
bjorn3 d92b911376 Fix init_drivers.rc for arm64
Fix the path passed to pcid-spawner to match the x86_64 version.
2026-02-14 17:29:56 +01:00
Jeremy Soller 4788db00de Update redox-syscall and redox-scheme for stdfscall 2026-02-11 12:21:35 -07:00
Jeremy Soller 58832cd89f Merge branch 'minor-cleanup' into 'main'
minor cleanup in ptyd

See merge request redox-os/base!122
2026-02-10 06:03:42 -07:00
auronandace 98a2516dd2 minor cleanup in ptyd 2026-02-10 10:01:32 +00:00
Jeremy Soller 0c3936760d Merge branch 'ps2d-panic' into 'main'
ps2d: Don't crash on keyboard scan init

See merge request redox-os/base!120
2026-02-09 20:22:16 -07:00
Wildan M 20eae1f054 ps2d: Don't crash on keyboard scan init 2026-02-10 00:10:21 +07:00
April Grimoire 2c11d1aee6 Fix initfs space insufficient issue
Credit: willnode

Increase initfs space under debug mode from 128MiB to 256MiB.
The old size causes build failure.
2026-02-09 22:56:55 +08:00
Jeremy Soller f08f60dc51 Merge branch 'virtio-sdl-fix' into 'main'
virtio-gpud: Don't crash on no edid descriptor

See merge request redox-os/base!118
2026-02-08 07:37:40 -07:00
Wildan M 36e2fbd537 virtio-gpud: Don't crash on no edid descriptor 2026-02-08 15:50:58 +07:00
Jeremy Soller e79dd0a59b Merge branch 'bootstrap_refactors' into 'main'
Improve IO safety of bootstrap

See merge request redox-os/base!117
2026-02-07 12:33:56 -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
Jeremy Soller 4a4b890c76 Merge branch 'update_pci_types' into 'main'
Update to pci_types 0.10.1

See merge request redox-os/base!116
2026-02-07 10:07:12 -07:00
bjorn3 7f0e870b76 Update to pci_types 0.10.1
And avoid hiding channel open errors in pcid-spawner. This would have
made the location of the problem more obvious.
2026-02-07 18:02:32 +01:00
Jeremy Soller f2ffbf1eb5 Merge branch 'pin-pci_types-0.10.0' into 'main'
chore: Pin pci_types version to 0.10.0.

See merge request redox-os/base!115
2026-02-07 07:00:17 -07:00
Jeremy Soller 06bda5dabf Merge branch 'gpu_drm12' into 'main'
Couple of ihdgd cleanups and use upstream rustix

See merge request redox-os/base!114
2026-02-07 06:58:31 -07:00