summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md46
-rw-r--r--TODO.md40
2 files changed, 43 insertions, 43 deletions
diff --git a/README.md b/README.md
index 820e3dd..70a87a6 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,24 @@
-# Vigil
-Vigil is an init system (PID 1) developed for the Antrhill distribution and licensed under GPL2.0-only.
-
-The development is based on the Unix philosophy:
-- **"Make each program do one thing well."**
- - Doug McIlroy
-
-- **"Write programs that do one thing and do it well. Write programs to work together."**
- - Peter H. Salus, summarizing Unix philosophy
-
-- **"The UNIX system is characterized by: [...] A unified view of I/O, and a hierarchical file system. A small number of kernel primitives, augmented by a rich set of user-level tools."**
- - Ritchie & Thompson, «The UNIX Time-Sharing System»
-
-`vegil` strives to be indestructible, something that even in the case of most errors will boot you into the system. If not, then go to rescue mode with all the tools installed.
-
-# Development
-This repo contains the source code of the `init` executable itself and `vegilctl`, for managing the initialization system.
-At the moment, the init binary itself is a priority for development.
-
-# Usage
-All operations are logged and start with `*` and looks like `* <Operation> <Data>`, it has three colors:
-- Red (`\x1b[31m`) - This means that a mission-critical operation has failed, and you will most likely go into rescue mode.
-- Yellow (`\x1b[33m`) - It means that the operation specified by the user in the configuration or not critical has failed, the system will start, but it is better to pay attention to this.
+# Vigil
+Vigil is an init system (PID 1) developed for the Antrhill distribution and licensed under GPL2.0-only.
+
+The development is based on the Unix philosophy:
+- **"Make each program do one thing well."**
+ - Doug McIlroy
+
+- **"Write programs that do one thing and do it well. Write programs to work together."**
+ - Peter H. Salus, summarizing Unix philosophy
+
+- **"The UNIX system is characterized by: [...] A unified view of I/O, and a hierarchical file system. A small number of kernel primitives, augmented by a rich set of user-level tools."**
+ - Ritchie & Thompson, «The UNIX Time-Sharing System»
+
+`vegil` strives to be indestructible, something that even in the case of most errors will boot you into the system. If not, then go to rescue mode with all the tools installed.
+
+# Development
+This repo contains the source code of the `init` executable itself and `vegilctl`, for managing the initialization system.
+At the moment, the init binary itself is a priority for development.
+
+# Usage
+All operations are logged and start with `*` and looks like `* <Operation> <Data>`, it has three colors:
+- Red (`\x1b[31m`) - This means that a mission-critical operation has failed, and you will most likely go into rescue mode.
+- Yellow (`\x1b[33m`) - It means that the operation specified by the user in the configuration or not critical has failed, the system will start, but it is better to pay attention to it.
- Green (`\x1b[32m`) - Everything is in order. \ No newline at end of file
diff --git a/TODO.md b/TODO.md
index c53af4c..fe5ded6 100644
--- a/TODO.md
+++ b/TODO.md
@@ -1,36 +1,36 @@
-# vigil
+# Vigil TODO list
-## Philosophy
+## Reminders
-- Never drop into an emergency shell for non-critical failures (e.g. non-root filesystem mount failure).
-- All issues should be logged.
-- Configuration via declarative TOML unit files. _(just like in systemd, but without the extra bloatware. Objectively, it is convenient to write services for systemd)_
+- Never panic from non-critical failures (e.g. non-root filesystem mount failure).
+- All errors should be logged.
+- Configuration via TOML.
-## Implementation Roadmap
+## Roadmap
-### Early system setup
+### System init
-- [x] Mount essential filesystems (`/proc`, `/sys`, `/dev` via `devtmpfs`).
+- [x] Mount filesystems (`/proc`, `/sys`, `/dev`).
- [x] Spawn `udev` (or compatible device manager) as child process.
-- [x] Mount user-defined filesystems from `/etc/fstab` (non-fatal on failure = log & continue).
-- [x] Activate `swap` (non-fatal on failure).
+- [x] Mount user-defined filesystems from `/etc/fstab`
+- [x] Activate `swap`
- [x] Set hostname, timezone, and locale from config.
- [x] Load kernel modules (via `modprobe` or direct `init_module` syscall).
-### Core runtime responsibilities
+### Core runtime features
- [ ] **Service management**
- - Parse TOML unit files (`/etc/vigil/units/*.toml`)
- - Start/stop/restart/status via `vigilctl`
- - Handle `Wants=`, `After=`, `Before=` dependencies
- - Auto-restart failed services (configurable: `restart = always|on-failure|never`)
+ - [ ] Parse TOML unit files (`/etc/vigil/units/*.toml`)
+ - [ ] Start/stop/restart/status via `vigilctl`
+ - [ ] Handle `Wants=`, `After=`, `Before=` dependencies
+ - [ ] Auto-restart failed services (configurable via option `restart = always|on-failure|never`)
- [ ] **Child process reaping**
- - Install `SIGCHLD` handler
- - Call `waitpid(-1, ...)` in loop to reap zombies
- - Log exit status, signal, and runtime duration per service
+ - [ ] Install `SIGCHLD` handler
+ - [ ] Call `waitpid(-1, ...)` in loop to reap zombies
+ - [ ] Log exit status, signal, and runtime duration per service
- [ ] **TTY & login**
- - Launch `getty` on configured TTYs (e.g. `tty1`–`tty6`)
- - Support custom `getty` paths/args per TTY in config
+ - [ ] Launch `getty` on configured TTYs (e.g. `tty1`–`tty6`)
+ - [ ] Support custom `getty` paths/args per TTY in config
### System lifecycle control