diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 91a61fc500912f887cc22212128145dde6721fcc..696f29ff8d53c3a317686093e2fa9b34fc1f238d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,6 +9,7 @@ before_script:
     apt-get install -qq \
         build-essential \
         curl \
+        dosfstools \
         fuse \
         genisoimage \
         git \
@@ -17,7 +18,9 @@ before_script:
         nasm \
         pkg-config \
         software-properties-common \
-        syslinux &&
+        syslinux \
+        syslinux-utils \
+        wget &&
     apt-key adv -q --batch --yes --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F &&
     add-apt-repository 'deb https://static.redox-os.org/toolchain/apt ./' &&
     apt-get update -qq &&
@@ -32,4 +35,13 @@ img:
         rustup update &&
         rustup component add rust-src &&
         cargo install cargo-config xargo &&
+        pushd bootloader-efi &&
+        rustup update &&
+        rustup component add rust-src &&
+        mkdir -p "$HOME/.rustup/toolchains/nightly-2017-11-29-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin" &&
+        popd &&
         make ci-img IMG_TAG=$CI_COMMIT_REF_NAME
+    artifacts:
+        paths:
+         - build/img/
+        expire_in: 1 week
diff --git a/.gitmodules b/.gitmodules
index 5e443428a88f1a94809d03975b8b12830e881084..d7c82a4d20fe5b1e4e94d7c27cfb547b22974de9 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,27 +1,27 @@
 [submodule "bootloader"]
 	path = bootloader
-	url = https://github.com/redox-os/bootloader.git
+	url = https://gitlab.redox-os.org/redox-os/bootloader.git
+[submodule "bootloader-efi"]
+	path = bootloader-efi
+	url = https://gitlab.redox-os.org/redox-os/bootloader-efi.git
 [submodule "cookbook"]
 	path = cookbook
-	url = https://github.com/redox-os/cookbook.git
+	url = https://gitlab.redox-os.org/redox-os/cookbook.git
 [submodule "installer"]
 	path = installer
-	url = https://github.com/redox-os/installer.git
+	url = https://gitlab.redox-os.org/redox-os/installer.git
 [submodule "isolinux"]
 	path = isolinux
-	url = https://github.com/redox-os/isolinux.git
+	url = https://gitlab.redox-os.org/redox-os/isolinux.git
 [submodule "kernel"]
 	path = kernel
-	url = https://github.com/redox-os/kernel.git
+	url = https://gitlab.redox-os.org/redox-os/kernel.git
 [submodule "rust"]
 	path = rust
-	url = https://github.com/redox-os/rust.git
+	url = https://gitlab.redox-os.org/redox-os/rust.git
 [submodule "redoxfs"]
 	path = redoxfs
-	url = https://github.com/redox-os/redoxfs.git
-[submodule "bootloader-efi"]
-	path = bootloader-efi
-	url = https://github.com/redox-os/bootloader-efi.git
+	url = https://gitlab.redox-os.org/redox-os/redoxfs.git
 [submodule "gitrepoman"]
 	path = gitrepoman
-	url = git@gitlab.redox-os.org:redox-os/gitrepoman.git
+	url = https://gitlab.redox-os.org/redox-os/gitrepoman.git
diff --git a/cookbook b/cookbook
index 215b60d3588c628f39d99c6925ca4549c60ca5b9..79e8d44a2e65acb0e74170209d7d551a1b997048 160000
--- a/cookbook
+++ b/cookbook
@@ -1 +1 @@
-Subproject commit 215b60d3588c628f39d99c6925ca4549c60ca5b9
+Subproject commit 79e8d44a2e65acb0e74170209d7d551a1b997048