mirror of
https://github.com/Noratrieb/captain.git
synced 2026-01-14 14:35:02 +01:00
Initial commit
This commit is contained in:
commit
f0ffa77500
24 changed files with 802 additions and 0 deletions
1
quarterdeck/.gitignore
vendored
Normal file
1
quarterdeck/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/target
|
||||
7
quarterdeck/Cargo.lock
generated
Normal file
7
quarterdeck/Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "quarterdeck"
|
||||
version = "0.1.0"
|
||||
10
quarterdeck/Cargo.toml
Normal file
10
quarterdeck/Cargo.toml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[package]
|
||||
name = "quarterdeck"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
eyre.workspace = true
|
||||
rustix = { version = "0.38.37", features = ["process", "thread"] }
|
||||
tracing = "0.1.40"
|
||||
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||||
3
quarterdeck/README.md
Normal file
3
quarterdeck/README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# quarterdeck
|
||||
|
||||
The init system, PID 1.
|
||||
26
quarterdeck/src/main.rs
Normal file
26
quarterdeck/src/main.rs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
use eyre::Result;
|
||||
use tracing::{error, info, warn};
|
||||
|
||||
fn main() {
|
||||
tracing_subscriber::fmt().init();
|
||||
info!("Booting up system");
|
||||
|
||||
if let Err(err) = run() {
|
||||
error!(?err, "Failed to boot system");
|
||||
}
|
||||
|
||||
// uh.. i dont think we should exit?
|
||||
}
|
||||
|
||||
fn run() -> Result<()> {
|
||||
if let Err(err) = rustix::thread::set_no_new_privs(true) {
|
||||
warn!(?err, "Failed to set PR_SET_NO_NEW_PRIVS");
|
||||
}
|
||||
|
||||
std::process::Command::new("/bin/cog")
|
||||
.env("PATH", "/bin")
|
||||
.spawn()?
|
||||
.wait()?;
|
||||
|
||||
loop {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue