From 479138d02f85137ced43432f334bf20921c4ea41 Mon Sep 17 00:00:00 2001 From: Red Bear OS Date: Sat, 11 Jul 2026 14:13:50 +0300 Subject: [PATCH] bootstrap: adapt to upstream redox-rt API changes - ExtraInfo now requires filetable_fd and same_process fields - fexec_impl now returns Option --- bootstrap/Cargo.lock | 16 +++++++++++----- bootstrap/src/exec.rs | 6 ++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/bootstrap/Cargo.lock b/bootstrap/Cargo.lock index b64980c1a1..a36f0a4ed1 100644 --- a/bootstrap/Cargo.lock +++ b/bootstrap/Cargo.lock @@ -25,7 +25,7 @@ dependencies = [ "log", "plain", "redox-initfs", - "redox-path", + "redox-path 0.3.1", "redox-rt", "redox-scheme", "redox_syscall", @@ -76,7 +76,7 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libredox" -version = "0.1.18+rb0.3.0" +version = "0.1.18+rb0.3.1" dependencies = [ "bitflags", "libc", @@ -145,6 +145,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "436d45c2b6a5b159d43da708e62b25be3a4a3d5550d654b72216ade4c4bfd717" +[[package]] +name = "redox-path" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54ec1b67c01c63545205ea6d218b336751399f0d8974c1a635c28604bedb81bc" + [[package]] name = "redox-rt" version = "0.1.0" @@ -155,13 +161,13 @@ dependencies = [ "ioslice", "libredox", "plain", - "redox-path", + "redox-path 0.4.0", "redox_syscall", ] [[package]] name = "redox-scheme" -version = "0.11.2+rb0.3.0" +version = "0.11.2+rb0.3.1" dependencies = [ "libredox", "redox_syscall", @@ -169,7 +175,7 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.9.0+rb0.3.0" +version = "0.9.0+rb0.3.1" dependencies = [ "bitflags", ] diff --git a/bootstrap/src/exec.rs b/bootstrap/src/exec.rs index 94ca47150a..a3f7e22e5a 100644 --- a/bootstrap/src/exec.rs +++ b/bootstrap/src/exec.rs @@ -220,6 +220,8 @@ pub fn main() -> ! { proc_fd: init_proc_fd.as_raw_fd(), ns_fd: Some(initns_fd.take()), cwd_fd: Some(cwd_fd.as_raw_fd()), + filetable_fd: None, + same_process: false, }; let path = "/scheme/initfs/bin/init"; @@ -233,10 +235,10 @@ pub fn main() -> ! { let exe_path = alloc::format!("/scheme/initfs{}", path); - let FexecResult::Interp { + let Some(FexecResult::Interp { path: interp_path, interp_override, - } = fexec_impl( + }) = fexec_impl( image_file, init_thr_fd, init_proc_fd,