summaryrefslogtreecommitdiff
path: root/src/user/app/init
diff options
context:
space:
mode:
authordzwdz2022-08-13 22:07:15 +0200
committerdzwdz2022-08-13 22:07:15 +0200
commit20e3f127a9c79f8ed9a9fcc3ffea0172eda4d606 (patch)
tree70216a4a30cf11f21cfc71f08db73e5490453a3e /src/user/app/init
parent8173a2b8e64eade49edf8183713fce9c2bc77dea (diff)
user: a primitive login utility
Diffstat (limited to 'src/user/app/init')
-rw-r--r--src/user/app/init/init.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/user/app/init/init.c b/src/user/app/init/init.c
index d9dabc6..49cc085 100644
--- a/src/user/app/init/init.c
+++ b/src/user/app/init/init.c
@@ -47,6 +47,18 @@ int main(void) {
NULL
});
}
+ MOUNT_AT("/Users/") {
+ MOUNT_AT("/tmp/") {
+ const char *argv[] = {"/bin/tmpfs", NULL};
+ execv(argv[0], (void*)argv);
+ }
+ // TODO a simple union isn't enough here
+ fs_union((const char*[]){
+ "/tmp/",
+ "/init/Users/",
+ NULL
+ });
+ }
MOUNT_AT("/tmp/") {
const char *argv[] = {"/bin/tmpfs", NULL};
execv(argv[0], (void*)argv);
@@ -55,10 +67,6 @@ int main(void) {
const char *argv[] = {"/bin/vterm", NULL};
execv(argv[0], (void*)argv);
}
- MOUNT_AT("/union/") {
- const char *list[] = {"/tmp/", "/init/", NULL};
- fs_union(list);
- }
if (_syscall_pipe(killswitch_pipe, 0) < 0) {
printf("couldn't create the killswitch pipe, quitting...\n");