diff --git a/filesystem/etc/init.rc b/filesystem/etc/init.rc
index c5f3d0ddfe79fab2ce20eb4c92d5381b65049e71..75b21033e8f8ed63fd6c54e0ad4ef7fa57a40c45 100644
--- a/filesystem/etc/init.rc
+++ b/filesystem/etc/init.rc
@@ -6,7 +6,6 @@
 /sbin/tcpd
 /sbin/udpd
 dhcpd -b
-httpd -b /ref
 getty display:2
 getty display:3
 stdio debug:
diff --git a/filesystem/etc/passwd b/filesystem/etc/passwd
index 3be5252bc74cac853f28515d12ba4493aed95dd8..7baaf915fcd00c64f372fde988b3dbb64ecba422 100644
--- a/filesystem/etc/passwd
+++ b/filesystem/etc/passwd
@@ -1,2 +1,2 @@
-root;$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk;0;0;root;file:root;file:bin/ion
-user;;1000;1000;user;file:home/user;file:bin/ion
+root;$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk;0;0;root;/root;/bin/ion
+user;;1000;1000;user;/home/user;/bin/ion
diff --git a/initfs/etc/init.rc b/initfs/etc/init.rc
index 5a34dd2c160929cde8a5ec52d3f8199903f9c518..cbb1a50a4f405657a6d391184a2904283e96d9c9 100644
--- a/initfs/etc/init.rc
+++ b/initfs/etc/init.rc
@@ -1,8 +1,9 @@
-initfs:bin/vesad T T T G
+export PATH initfs:/bin
+vesad T T T G
 stdio display:1
-initfs:bin/ps2d
-initfs:bin/pcid initfs:etc/pcid.toml
-initfs:bin/redoxfs disk:0
+ps2d
+pcid /etc/pcid.toml
+redoxfs disk:0
 cd file:
-export PATH file:bin
-run file:etc/init.rc
+export PATH file:/bin
+run /etc/init.rc
diff --git a/kernel/lib.rs b/kernel/lib.rs
index 0c52084563f5aba3080a381bd4675644b880f354..2bdf7b2ed5f1b8a68aa82c1bad01bec0d518ecb9 100644
--- a/kernel/lib.rs
+++ b/kernel/lib.rs
@@ -91,13 +91,13 @@ pub fn cpu_count() -> usize {
 /// Initialize userspace by running the initfs:bin/init process
 /// This function will also set the CWD to initfs:bin and open debug: as stdio
 pub extern fn userspace_init() {
-    assert_eq!(syscall::chdir(b"initfs:bin"), Ok(0));
+    assert_eq!(syscall::chdir(b"initfs:"), Ok(0));
 
     assert_eq!(syscall::open(b"debug:", syscall::flag::O_RDONLY).map(FileHandle::into), Ok(0));
     assert_eq!(syscall::open(b"debug:", syscall::flag::O_WRONLY).map(FileHandle::into), Ok(1));
     assert_eq!(syscall::open(b"debug:", syscall::flag::O_WRONLY).map(FileHandle::into), Ok(2));
 
-    syscall::exec(b"initfs:bin/init", &[]).expect("failed to execute initfs:init");
+    syscall::exec(b"initfs:/bin/init", &[]).expect("failed to execute initfs:init");
 
     panic!("initfs:init returned")
 }
diff --git a/schemes/redoxfs b/schemes/redoxfs
index b526a29e35066a7a301f6a62e3cb336492cb8068..f1073d0c4836ea76efe3bf3de2e0d9dc68d62354 160000
--- a/schemes/redoxfs
+++ b/schemes/redoxfs
@@ -1 +1 @@
-Subproject commit b526a29e35066a7a301f6a62e3cb336492cb8068
+Subproject commit f1073d0c4836ea76efe3bf3de2e0d9dc68d62354