diff --git a/.cargo/config b/.cargo/config
index 69c4db47dcee085641f5b1284dfca89dd42e264a..c45f4316c4f3ff8dafdc7051ace292c144866982 100644
--- a/.cargo/config
+++ b/.cargo/config
@@ -1,3 +1,17 @@
+paths = [
+    "patches/atty",
+    "patches/liblibc",
+    "patches/mio",
+    "patches/net2-rs",
+    "patches/pb",
+    "patches/platform-info",
+    #"patches/ring",
+    "patches/tar-rs",
+    "patches/tempfile",
+    "patches/termsize",
+    "patches/time",
+]
+
 [target.aarch64-unknown-redox]
 linker = "aarch64-unknown-redox-gcc"
 rustflags = []
diff --git a/.gitmodules b/.gitmodules
index cded2e4041f8b82140ec344bf0739bde8e8cc162..4bda32f67ab5bfcc1e98e56b5f44cdfbf6d83001 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,3 +5,47 @@
 	path = pkgutils
 	url = https://gitlab.redox-os.org/redox-os/pkgutils.git
 	branch = master
+[submodule "patches/atty"]
+	path = patches/atty
+	url = https://gitlab.redox-os.org/redox-os/atty.git
+	branch = redox-unix
+[submodule "patches/pb"]
+	path = patches/pb
+	url = https://gitlab.redox-os.org/redox-os/pb.git
+	branch = redox-unix
+[submodule "patches/net2-rs"]
+	path = patches/net2-rs
+	url = https://gitlab.redox-os.org/redox-os/net2-rs.git
+	branch = redox-unix
+[submodule "patches/ring"]
+	path = patches/ring
+	url = https://gitlab.redox-os.org/redox-os/ring.git
+	branch = redox-unix
+[submodule "patches/time"]
+	path = patches/time
+	url = https://gitlab.redox-os.org/redox-os/time.git
+	branch = redox-unix
+[submodule "patches/termsize"]
+	path = patches/termsize
+	url = https://gitlab.redox-os.org/redox-os/termsize.git
+	branch = redox-unix
+[submodule "patches/tempfile"]
+	path = patches/tempfile
+	url = https://gitlab.redox-os.org/redox-os/tempfile.git
+	branch = redox-unix
+[submodule "patches/platform-info"]
+	path = patches/platform-info
+	url = https://gitlab.redox-os.org/redox-os/platform-info.git
+	branch = redox-unix
+[submodule "patches/tar-rs"]
+	path = patches/tar-rs
+	url = https://gitlab.redox-os.org/redox-os/tar-rs.git
+	branch = redox-unix
+[submodule "patches/liblibc"]
+	path = patches/liblibc
+	url = https://gitlab.redox-os.org/redox-os/liblibc.git
+	branch = redox-unix
+[submodule "patches/mio"]
+	path = patches/mio
+	url = https://gitlab.redox-os.org/redox-os/mio.git
+	branch = redox-unix
diff --git a/patches/atty b/patches/atty
new file mode 160000
index 0000000000000000000000000000000000000000..a30c9539940d0148b86f9491c03eb2af450cd62e
--- /dev/null
+++ b/patches/atty
@@ -0,0 +1 @@
+Subproject commit a30c9539940d0148b86f9491c03eb2af450cd62e
diff --git a/patches/liblibc b/patches/liblibc
new file mode 160000
index 0000000000000000000000000000000000000000..eb75c489172e10bfcb57ca679ff337827cf783a9
--- /dev/null
+++ b/patches/liblibc
@@ -0,0 +1 @@
+Subproject commit eb75c489172e10bfcb57ca679ff337827cf783a9
diff --git a/patches/mio b/patches/mio
new file mode 160000
index 0000000000000000000000000000000000000000..58b70e4906d927139c499bb4bb29a990b35588fc
--- /dev/null
+++ b/patches/mio
@@ -0,0 +1 @@
+Subproject commit 58b70e4906d927139c499bb4bb29a990b35588fc
diff --git a/patches/net2-rs b/patches/net2-rs
new file mode 160000
index 0000000000000000000000000000000000000000..b2c7c1e7773f13eebd9b4421172d9e4b5b806ce6
--- /dev/null
+++ b/patches/net2-rs
@@ -0,0 +1 @@
+Subproject commit b2c7c1e7773f13eebd9b4421172d9e4b5b806ce6
diff --git a/patches/pb b/patches/pb
new file mode 160000
index 0000000000000000000000000000000000000000..743300cf9566f77962a5b550db1ba27cc922b6a5
--- /dev/null
+++ b/patches/pb
@@ -0,0 +1 @@
+Subproject commit 743300cf9566f77962a5b550db1ba27cc922b6a5
diff --git a/patches/platform-info b/patches/platform-info
new file mode 160000
index 0000000000000000000000000000000000000000..ff3e9789a7478d614a9e26d7016fe893ffea7713
--- /dev/null
+++ b/patches/platform-info
@@ -0,0 +1 @@
+Subproject commit ff3e9789a7478d614a9e26d7016fe893ffea7713
diff --git a/patches/ring b/patches/ring
new file mode 160000
index 0000000000000000000000000000000000000000..1e177479981854cb7d06bea12e0a6514d26e09a6
--- /dev/null
+++ b/patches/ring
@@ -0,0 +1 @@
+Subproject commit 1e177479981854cb7d06bea12e0a6514d26e09a6
diff --git a/patches/tar-rs b/patches/tar-rs
new file mode 160000
index 0000000000000000000000000000000000000000..5e19d818c3e67fe6215b8c244ec86d445ab4d515
--- /dev/null
+++ b/patches/tar-rs
@@ -0,0 +1 @@
+Subproject commit 5e19d818c3e67fe6215b8c244ec86d445ab4d515
diff --git a/patches/tempfile b/patches/tempfile
new file mode 160000
index 0000000000000000000000000000000000000000..0ae305457184fa974ea1c4f7ed4602afdd5fedc6
--- /dev/null
+++ b/patches/tempfile
@@ -0,0 +1 @@
+Subproject commit 0ae305457184fa974ea1c4f7ed4602afdd5fedc6
diff --git a/patches/termsize b/patches/termsize
new file mode 160000
index 0000000000000000000000000000000000000000..a63940dc8608bb1a8c27a06302bd8674fd25f874
--- /dev/null
+++ b/patches/termsize
@@ -0,0 +1 @@
+Subproject commit a63940dc8608bb1a8c27a06302bd8674fd25f874
diff --git a/patches/time b/patches/time
new file mode 160000
index 0000000000000000000000000000000000000000..fc118e5752aaac833808a25f0850606b675b32ec
--- /dev/null
+++ b/patches/time
@@ -0,0 +1 @@
+Subproject commit fc118e5752aaac833808a25f0850606b675b32ec