From fb051cd486599b6461e696b633ceb24bbc56ee0a Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 26 Feb 2026 12:14:17 +0100 Subject: [PATCH 1/6] 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. --- init.d/00_logging_ramfs.service | 13 +++++++++++++ init.d/00_runtime.target | 3 ++- init.d/10_logging | 4 ---- init.d/20_graphics | 1 - init/src/main.rs | 12 +++++++----- init/src/script.rs | 9 --------- 6 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 init.d/00_logging_ramfs.service delete mode 100644 init.d/10_logging diff --git a/init.d/00_logging_ramfs.service b/init.d/00_logging_ramfs.service new file mode 100644 index 0000000000..d46cea9f8f --- /dev/null +++ b/init.d/00_logging_ramfs.service @@ -0,0 +1,13 @@ +{ + "unit": { + "default_dependencies": false, + "requires_weak": ["00_randd.service"] + }, + "service": { + "cmd": "ramfs", + "args": ["logging"], + "type": { + "scheme": "logging" + } + } +} diff --git a/init.d/00_runtime.target b/init.d/00_runtime.target index 82d1dd7d30..45549c1ab2 100644 --- a/init.d/00_runtime.target +++ b/init.d/00_runtime.target @@ -6,7 +6,8 @@ "00_nulld.service", "00_randd.service", "00_rtcd.service", - "00_zerod.service" + "00_zerod.service", + "00_logging_ramfs.service" ] } } diff --git a/init.d/10_logging b/init.d/10_logging deleted file mode 100644 index 1908fe00b1..0000000000 --- a/init.d/10_logging +++ /dev/null @@ -1,4 +0,0 @@ -requires_weak 00_runtime.target -scheme log logd -stdio /scheme/log -scheme logging ramfs logging diff --git a/init.d/20_graphics b/init.d/20_graphics index 45930814cf..ecfd423b4c 100644 --- a/init.d/20_graphics +++ b/init.d/20_graphics @@ -1,4 +1,3 @@ -requires_weak 10_logging scheme input inputd notify FRAMEBUFFER_ADDR=$ FRAMEBUFFER_VIRT=$ FRAMEBUFFER_WIDTH=$ FRAMEBUFFER_HEIGHT=$ FRAMEBUFFER_STRIDE=$ vesad scheme fbbootlog fbbootlogd diff --git a/init/src/main.rs b/init/src/main.rs index 4acad75895..37b164e68e 100644 --- a/init/src/main.rs +++ b/init/src/main.rs @@ -135,11 +135,6 @@ fn run_command(cmd: Command, config: &mut InitConfig) { Command::RequiresWeak(_) => {} // handled by unit parsing code Command::Nothing => {} Command::Echo(text) => println!("{text}"), - Command::Stdio(stdio) => { - if let Err(err) = switch_stdio(&stdio) { - eprintln!("init: failed to switch stdio to '{}': {}", stdio, err); - } - } Command::Service(service) => { if config.skip_cmd.contains(&service.cmd) { eprintln!( @@ -166,6 +161,13 @@ fn main() { } .apply(&mut pending_units, &mut unit_store, &mut init_config); + let mut command = std::process::Command::new("logd"); + command.env_clear().envs(&init_config.envs); + daemon::SchemeDaemon::spawn(command, "log"); + if let Err(err) = switch_stdio("/scheme/log") { + eprintln!("init: failed to switch stdio to '/scheme/log': {err}"); + } + let runtime_target = UnitId("00_runtime.target".to_owned()); 'a: while let Some(unit) = pending_units.pop_front() { diff --git a/init/src/script.rs b/init/src/script.rs index 08298f14cc..888db7ddd3 100644 --- a/init/src/script.rs +++ b/init/src/script.rs @@ -45,9 +45,6 @@ pub enum Command { // Service Service(Service), - // Modify env - Stdio(String), - // Misc Echo(String), Nothing, @@ -62,12 +59,6 @@ impl Command { match cmd.as_str() { "requires_weak" => Ok(Command::RequiresWeak(args.map(UnitId).collect::>())), "echo" => Ok(Command::Echo(args.collect::>().join(" "))), - "stdio" => { - let Some(stdio) = args.next() else { - return Err("init: failed to set stdio: no argument".to_owned()); - }; - Ok(Command::Stdio(stdio)) - } "notify" => { let process = Process::parse(args)?; From 72b96695b03c31e5374c53f8cfb1ccdb5fcb463e Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 26 Feb 2026 15:38:14 +0100 Subject: [PATCH 2/6] init: Add a couple of service descriptions --- init.d/00_nulld.service | 1 + init.d/00_randd.service | 1 + init.d/00_runtime.target | 2 +- init.d/00_zerod.service | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/init.d/00_nulld.service b/init.d/00_nulld.service index 705cc5bd92..6775040ba9 100644 --- a/init.d/00_nulld.service +++ b/init.d/00_nulld.service @@ -1,5 +1,6 @@ { "unit": { + "description": "/dev/null", "default_dependencies": false }, "service": { diff --git a/init.d/00_randd.service b/init.d/00_randd.service index 8618105bf9..2155c4cb52 100644 --- a/init.d/00_randd.service +++ b/init.d/00_randd.service @@ -1,5 +1,6 @@ { "unit": { + "description": "/dev/rand", "default_dependencies": false }, "service": { diff --git a/init.d/00_runtime.target b/init.d/00_runtime.target index 45549c1ab2..2acf50168b 100644 --- a/init.d/00_runtime.target +++ b/init.d/00_runtime.target @@ -1,6 +1,6 @@ { "unit": { - "description": "Various daemons that relibc needs to function.", + "description": "Services that relibc needs to function", "default_dependencies": false, "requires_weak": [ "00_nulld.service", diff --git a/init.d/00_zerod.service b/init.d/00_zerod.service index 133cc9b52b..576b095fd5 100644 --- a/init.d/00_zerod.service +++ b/init.d/00_zerod.service @@ -1,5 +1,6 @@ { "unit": { + "description": "/dev/zero", "default_dependencies": false }, "service": { From 31489ce7cadcead5acd0edd87b9fcfc0e12a12dd Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 26 Feb 2026 16:03:41 +0100 Subject: [PATCH 3/6] init: Convert inputd and lived to services --- init.d/10_inputd.service | 11 +++++++++++ init.d/10_lived.service | 10 ++++++++++ init.d/20_graphics | 4 +--- init.d/30_live | 3 --- init.d/40_drivers | 2 +- 5 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 init.d/10_inputd.service create mode 100644 init.d/10_lived.service delete mode 100644 init.d/30_live diff --git a/init.d/10_inputd.service b/init.d/10_inputd.service new file mode 100644 index 0000000000..96e7f1e0a6 --- /dev/null +++ b/init.d/10_inputd.service @@ -0,0 +1,11 @@ +{ + "unit": { + "description": "VT input and graphics multiplexer" + }, + "service": { + "cmd": "inputd", + "type": { + "scheme": "input" + } + } +} diff --git a/init.d/10_lived.service b/init.d/10_lived.service new file mode 100644 index 0000000000..baec5da7c0 --- /dev/null +++ b/init.d/10_lived.service @@ -0,0 +1,10 @@ +{ + "_comment": "Needs to start before drivers to ensure it gets priority when redoxfs searches for disks", + "unit": { + "description": "Live disk" + }, + "service": { + "cmd": "lived", + "type": "notify" + } +} diff --git a/init.d/20_graphics b/init.d/20_graphics index ecfd423b4c..3cf2decf32 100644 --- a/init.d/20_graphics +++ b/init.d/20_graphics @@ -1,6 +1,4 @@ -scheme input inputd +requires_weak 10_inputd.service notify FRAMEBUFFER_ADDR=$ FRAMEBUFFER_VIRT=$ FRAMEBUFFER_WIDTH=$ FRAMEBUFFER_HEIGHT=$ FRAMEBUFFER_STRIDE=$ vesad scheme fbbootlog fbbootlogd -# Activate framebuffer log VT, which disables kernel graphical debug -inputd -A 1 scheme fbcon fbcond 2 diff --git a/init.d/30_live b/init.d/30_live deleted file mode 100644 index 68020e9f76..0000000000 --- a/init.d/30_live +++ /dev/null @@ -1,3 +0,0 @@ -requires_weak 20_graphics -# Note: Needs to start before drivers to ensure it gets priority when redoxfs searches for disks -notify lived diff --git a/init.d/40_drivers b/init.d/40_drivers index 8ee66e2da5..b23ea0d14c 100644 --- a/init.d/40_drivers +++ b/init.d/40_drivers @@ -1,4 +1,4 @@ -requires_weak 30_live +requires_weak 10_lived.service 20_graphics notify ps2d notify RSDP_ADDR=$ RSDP_SIZE=$ hwd pcid-spawner --initfs From e55bd175307fdcb3eba190a5a3696aab3b57a16b Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 26 Feb 2026 16:23:32 +0100 Subject: [PATCH 4/6] drivers/graphics: Fix a couple of warnings --- drivers/graphics/bgad/src/main.rs | 1 - drivers/graphics/driver-graphics/src/lib.rs | 4 +-- drivers/graphics/fbbootlogd/src/scheme.rs | 2 +- drivers/graphics/fbcond/src/scheme.rs | 29 +++++---------------- 4 files changed, 9 insertions(+), 27 deletions(-) diff --git a/drivers/graphics/bgad/src/main.rs b/drivers/graphics/bgad/src/main.rs index 323ac2308f..c55db2a6e1 100644 --- a/drivers/graphics/bgad/src/main.rs +++ b/drivers/graphics/bgad/src/main.rs @@ -1,6 +1,5 @@ //! -use common::acquire_port_io_rights; use inputd::ProducerHandle; use pcid_interface::PciFunctionHandle; use redox_scheme::{scheme::register_sync_scheme, RequestKind, SignalBehavior, Socket}; diff --git a/drivers/graphics/driver-graphics/src/lib.rs b/drivers/graphics/driver-graphics/src/lib.rs index a2d2c56796..ebd744b0ae 100644 --- a/drivers/graphics/driver-graphics/src/lib.rs +++ b/drivers/graphics/driver-graphics/src/lib.rs @@ -22,9 +22,7 @@ use libredox::Fd; use redox_scheme::scheme::{register_scheme_inner, SchemeSync}; use redox_scheme::{CallerCtx, OpenResult, RequestKind, SignalBehavior, Socket}; use syscall::schemev2::NewFdFlags; -use syscall::{ - CallFlags, Error, MapFlags, Result, EACCES, EAGAIN, EBADF, EINVAL, ENOENT, EOPNOTSUPP, -}; +use syscall::{Error, MapFlags, Result, EACCES, EAGAIN, EBADF, EINVAL, ENOENT, EOPNOTSUPP}; use crate::objects::{DrmObjectId, DrmObjects}; use crate::properties::DrmPropertyKind; diff --git a/drivers/graphics/fbbootlogd/src/scheme.rs b/drivers/graphics/fbbootlogd/src/scheme.rs index e94d72d2dc..bb89bc262e 100644 --- a/drivers/graphics/fbbootlogd/src/scheme.rs +++ b/drivers/graphics/fbbootlogd/src/scheme.rs @@ -184,7 +184,7 @@ impl SchemeSync for FbbootlogScheme { &mut self, dirfd: usize, path_str: &str, - flags: usize, + _flags: usize, _fcntl_flags: u32, _ctx: &CallerCtx, ) -> Result { diff --git a/drivers/graphics/fbcond/src/scheme.rs b/drivers/graphics/fbcond/src/scheme.rs index cc31bcb390..0fafdc384d 100644 --- a/drivers/graphics/fbcond/src/scheme.rs +++ b/drivers/graphics/fbcond/src/scheme.rs @@ -130,11 +130,7 @@ impl SchemeSync for FbconScheme { flags: syscall::EventFlags, _ctx: &CallerCtx, ) -> Result { - let handle = match self.handles.get_mut(&id) { - Some(Handle::Vt(handle)) => Ok(handle), - Some(Handle::SchemeRoot) => Err(Error::new(EBADF)), - None => Err(Error::new(EBADF)), - }?; + let handle = self.get_vt_handle_mut(id)?; handle.notified_read = false; handle.events = flags; @@ -143,11 +139,7 @@ impl SchemeSync for FbconScheme { } fn fpath(&mut self, id: usize, buf: &mut [u8], _ctx: &CallerCtx) -> Result { - let handle = match self.handles.get(&id) { - Some(Handle::Vt(handle)) => Ok(handle), - Some(Handle::SchemeRoot) => Err(Error::new(EBADF)), - None => Err(Error::new(EBADF)), - }?; + let handle = self.get_vt_handle_mut(id)?; let path_str = format!("fbcon:{}", handle.vt_i.0); let path = path_str.as_bytes(); @@ -162,14 +154,11 @@ impl SchemeSync for FbconScheme { } fn fsync(&mut self, id: usize, _ctx: &CallerCtx) -> Result<()> { - match self.handles.get(&id) { - Some(Handle::Vt(_)) => Ok(()), - Some(Handle::SchemeRoot) => Err(Error::new(EBADF)), - None => Err(Error::new(EBADF)), - } + let _handle = self.get_vt_handle_mut(id)?; + Ok(()) } - fn fcntl(&mut self, id: usize, cmd: usize, arg: usize, _ctx: &CallerCtx) -> Result { + fn fcntl(&mut self, id: usize, _cmd: usize, _arg: usize, _ctx: &CallerCtx) -> Result { if !self.handles.get(&id).is_some() { return Err(Error::new(EBADF)); }; @@ -213,13 +202,9 @@ impl SchemeSync for FbconScheme { _fcntl_flags: u32, _ctx: &CallerCtx, ) -> Result { - let handle = match self.handles.get(&id) { - Some(Handle::Vt(handle)) => Ok(handle), - Some(Handle::SchemeRoot) => Err(Error::new(EBADF)), - None => Err(Error::new(EBADF)), - }?; + let vt_i = self.get_vt_handle_mut(id)?.vt_i; - if let Some(console) = self.vts.get_mut(&handle.vt_i) { + if let Some(console) = self.vts.get_mut(&vt_i) { console.write(buf) } else { Err(Error::new(EBADF)) From 3d2951a23d5421d8e6579591bbc7b12bcd71c515 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 26 Feb 2026 16:35:54 +0100 Subject: [PATCH 5/6] init: Convert vesad, fbbootlogd and fbcond to services --- drivers/graphics/fbbootlogd/src/scheme.rs | 2 +- drivers/inputd/src/lib.rs | 8 ++++++++ drivers/inputd/src/main.rs | 18 ++++++++++++++++-- init.d/20_fbbootlogd.service | 12 ++++++++++++ init.d/20_fbcond.service | 13 +++++++++++++ init.d/20_graphics | 4 ---- init.d/20_graphics.target | 11 +++++++++++ init.d/20_vesad.service | 19 +++++++++++++++++++ init.d/40_drivers | 2 +- init/src/script.rs | 6 +++++- init/src/service.rs | 13 +++++++++++-- 11 files changed, 97 insertions(+), 11 deletions(-) create mode 100644 init.d/20_fbbootlogd.service create mode 100644 init.d/20_fbcond.service delete mode 100644 init.d/20_graphics create mode 100644 init.d/20_graphics.target create mode 100644 init.d/20_vesad.service diff --git a/drivers/graphics/fbbootlogd/src/scheme.rs b/drivers/graphics/fbbootlogd/src/scheme.rs index bb89bc262e..a599893aa1 100644 --- a/drivers/graphics/fbbootlogd/src/scheme.rs +++ b/drivers/graphics/fbbootlogd/src/scheme.rs @@ -25,7 +25,7 @@ pub struct FbbootlogScheme { impl FbbootlogScheme { pub fn new() -> FbbootlogScheme { let mut scheme = FbbootlogScheme { - input_handle: ConsumerHandle::new_vt().expect("fbbootlogd: Failed to open vt"), + input_handle: ConsumerHandle::bootlog_vt().expect("fbbootlogd: Failed to open vt"), display_map: None, text_screen: console_draw::TextScreen::new(), text_buffer: console_draw::TextBuffer::new(1000), diff --git a/drivers/inputd/src/lib.rs b/drivers/inputd/src/lib.rs index 5ecf8b6600..0a8fffa2c2 100644 --- a/drivers/inputd/src/lib.rs +++ b/drivers/inputd/src/lib.rs @@ -47,6 +47,14 @@ impl ConsumerHandle { Ok(Self(file)) } + pub fn bootlog_vt() -> io::Result { + let file = OpenOptions::new() + .read(true) + .custom_flags(O_NONBLOCK as i32) + .open(format!("/scheme/input/consumer_bootlog"))?; + Ok(Self(file)) + } + pub fn event_handle(&self) -> BorrowedFd<'_> { self.0.as_fd() } diff --git a/drivers/inputd/src/main.rs b/drivers/inputd/src/main.rs index 7a986bd566..ba572255e0 100644 --- a/drivers/inputd/src/main.rs +++ b/drivers/inputd/src/main.rs @@ -25,7 +25,7 @@ use redox_scheme::{CallerCtx, OpenResult, RequestKind, Response, SignalBehavior, use orbclient::{Event, EventOption}; use syscall::schemev2::NewFdFlags; -use syscall::{Error as SysError, EventFlags, EACCES, EBADF, EINVAL}; +use syscall::{Error as SysError, EventFlags, EACCES, EBADF, EEXIST, EINVAL}; pub mod keymap; @@ -79,7 +79,7 @@ impl InputScheme { handles: BTreeMap::new(), next_id: AtomicUsize::new(0), - next_vt_id: AtomicUsize::new(1), + next_vt_id: AtomicUsize::new(2), // VT 1 is reserved for the bootlog display: None, vts: BTreeSet::new(), @@ -195,6 +195,20 @@ impl SchemeSync for InputScheme { vt, } } + "consumer_bootlog" => { + if !self.vts.insert(1) { + return Err(SysError::new(EEXIST)); + } + + self.switch_vt(1); + Handle::Consumer { + events: EventFlags::empty(), + pending: Vec::new(), + needs_handoff: false, + notified: false, + vt: 1, + } + } "handle" | "handle_early" => { let display = path_parts.collect::>().join("."); diff --git a/init.d/20_fbbootlogd.service b/init.d/20_fbbootlogd.service new file mode 100644 index 0000000000..2a2c86f1b8 --- /dev/null +++ b/init.d/20_fbbootlogd.service @@ -0,0 +1,12 @@ +{ + "unit": { + "description": "Graphical bootlog", + "requires_weak": ["10_inputd.service"] + }, + "service": { + "cmd": "fbbootlogd", + "type": { + "scheme": "fbbootlog" + } + } +} diff --git a/init.d/20_fbcond.service b/init.d/20_fbcond.service new file mode 100644 index 0000000000..f11d4d5aa8 --- /dev/null +++ b/init.d/20_fbcond.service @@ -0,0 +1,13 @@ +{ + "unit": { + "description": "Framebuffer text console", + "requires_weak": ["10_inputd.service", "20_vesad.service"] + }, + "service": { + "cmd": "fbcond", + "args": ["2"], + "type": { + "scheme": "fbcon" + } + } +} diff --git a/init.d/20_graphics b/init.d/20_graphics deleted file mode 100644 index 3cf2decf32..0000000000 --- a/init.d/20_graphics +++ /dev/null @@ -1,4 +0,0 @@ -requires_weak 10_inputd.service -notify FRAMEBUFFER_ADDR=$ FRAMEBUFFER_VIRT=$ FRAMEBUFFER_WIDTH=$ FRAMEBUFFER_HEIGHT=$ FRAMEBUFFER_STRIDE=$ vesad -scheme fbbootlog fbbootlogd -scheme fbcon fbcond 2 diff --git a/init.d/20_graphics.target b/init.d/20_graphics.target new file mode 100644 index 0000000000..f8230dfe5d --- /dev/null +++ b/init.d/20_graphics.target @@ -0,0 +1,11 @@ +{ + "unit": { + "description": "Graphics subsystem", + "requires_weak": [ + "10_inputd.service", + "20_vesad.service", + "20_fbbootlogd.service", + "20_fbcond.service" + ] + } +} diff --git a/init.d/20_vesad.service b/init.d/20_vesad.service new file mode 100644 index 0000000000..5feea711ec --- /dev/null +++ b/init.d/20_vesad.service @@ -0,0 +1,19 @@ +{ + "unit": { + "description": "Bootloader framebuffer handler", + "requires_weak": [ + "10_inputd.service" + ] + }, + "service": { + "cmd": "vesad", + "inherit_envs": [ + "FRAMEBUFFER_ADDR", + "FRAMEBUFFER_VIRT", + "FRAMEBUFFER_WIDTH", + "FRAMEBUFFER_HEIGHT", + "FRAMEBUFFER_STRIDE" + ], + "type": "notify" + } +} diff --git a/init.d/40_drivers b/init.d/40_drivers index b23ea0d14c..769d714048 100644 --- a/init.d/40_drivers +++ b/init.d/40_drivers @@ -1,4 +1,4 @@ -requires_weak 10_lived.service 20_graphics +requires_weak 10_lived.service 20_graphics.target notify ps2d notify RSDP_ADDR=$ RSDP_SIZE=$ hwd pcid-spawner --initfs diff --git a/init/src/script.rs b/init/src/script.rs index 888db7ddd3..f61ff6fbcb 100644 --- a/init/src/script.rs +++ b/init/src/script.rs @@ -1,4 +1,4 @@ -use std::collections::BTreeMap; +use std::collections::{BTreeMap, BTreeSet}; use std::{env, io, iter}; use crate::service::{Service, ServiceType}; @@ -66,6 +66,7 @@ impl Command { cmd: process.cmd, args: process.args, envs: process.envs, + inherit_envs: BTreeSet::new(), type_: ServiceType::Notify, })) } @@ -80,6 +81,7 @@ impl Command { cmd: process.cmd, args: process.args, envs: process.envs, + inherit_envs: BTreeSet::new(), type_: ServiceType::Scheme(scheme), })) } @@ -90,6 +92,7 @@ impl Command { cmd: process.cmd, args: process.args, envs: process.envs, + inherit_envs: BTreeSet::new(), type_: ServiceType::OneshotAsync, })) } @@ -100,6 +103,7 @@ impl Command { cmd: process.cmd, args: process.args, envs: process.envs, + inherit_envs: BTreeSet::new(), type_: ServiceType::Oneshot, })) } diff --git a/init/src/service.rs b/init/src/service.rs index 049be3839c..529548819a 100644 --- a/init/src/service.rs +++ b/init/src/service.rs @@ -1,4 +1,5 @@ -use std::collections::BTreeMap; +use std::collections::{BTreeMap, BTreeSet}; +use std::env; use std::ffi::OsString; use std::process::Command; @@ -11,6 +12,8 @@ pub struct Service { pub args: Vec, #[serde(default)] pub envs: BTreeMap, + #[serde(default)] + pub inherit_envs: BTreeSet, #[serde(rename = "type")] pub type_: ServiceType, } @@ -29,7 +32,13 @@ impl Service { pub fn spawn(&self, base_envs: &BTreeMap) { let mut command = Command::new(&self.cmd); command.args(&self.args); - command.env_clear().envs(base_envs).envs(&self.envs); + command.env_clear(); + for env in &self.inherit_envs { + if let Some(value) = env::var_os(env) { + command.env(env, value); + } + } + command.envs(base_envs).envs(&self.envs); match &self.type_ { ServiceType::Notify => { From 4f90c249ff0dc5afa44f8b32fde3e64bc8e46976 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 26 Feb 2026 16:43:09 +0100 Subject: [PATCH 6/6] init: Fix some issues in driver configs for arm64 Remove an unnecessary unset, remove a duplicate hwd spawn and update requires_weak dependencies. --- init.d.aarch64-unknown-redox/40_drivers | 3 +-- init.d.aarch64-unknown-redox/40_drivers.raspi3bp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/init.d.aarch64-unknown-redox/40_drivers b/init.d.aarch64-unknown-redox/40_drivers index 54796e015f..a4ee8de9e8 100644 --- a/init.d.aarch64-unknown-redox/40_drivers +++ b/init.d.aarch64-unknown-redox/40_drivers @@ -1,4 +1,3 @@ -requires_weak 30_live -notify hwd +requires_weak 10_lived.service 20_graphics.target notify RSDP_ADDR=$ RSDP_SIZE=$ hwd pcid-spawner --initfs diff --git a/init.d.aarch64-unknown-redox/40_drivers.raspi3bp b/init.d.aarch64-unknown-redox/40_drivers.raspi3bp index 714b796548..5e1f7cdd2a 100644 --- a/init.d.aarch64-unknown-redox/40_drivers.raspi3bp +++ b/init.d.aarch64-unknown-redox/40_drivers.raspi3bp @@ -1,3 +1,2 @@ -requires_weak 30_live -unset RSDP_ADDR RSDP_SIZE +requires_weak 10_lived.service 20_graphics.target notify bcm2835-sdhcid