diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6214c68cbd66e992f27d707f8bc05ce3c513a888
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,20 @@
+image: archlinux/base
+
+stages: 
+    - build
+
+before_script:
+    - pacman -Sy
+    - pacman -S --noconfirm nasm gcc make
+
+build32:
+    stage: build
+    script:
+        - make BITS=32
+
+build64:
+    stage: build
+    script:
+        - make BITS=64
+
+
diff --git a/Makefile b/Makefile
index 6347967452ce73e5b78ab4ba72ef6966f9dca814..131681ece9daed38ffab54d40aa321bc6ca43c8e 100644
--- a/Makefile
+++ b/Makefile
@@ -24,4 +24,9 @@ assemble-uefi: build
 run-legacy: assemble-legacy
 	qemu-system-x86_64 legacy.img
 
+clean:
+	$(MAKE) -C bootloader-legacy clean
+	# $(MAKE) -C bootloader-uefi clean
+	$(MAKE) -C kernel clean
+
 
diff --git a/kernel/Makefile b/kernel/Makefile
index 91ca42462d6043efe5769cfce8ee8fc81fa35755..a54af1161a487c5e22d67769ac1b159b8aa24d10 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -10,10 +10,6 @@ endif
 
 assemble: kernel head
 	ld -o kernel.img -Ttext 0x7e00 --oformat binary image_head.o kernel.o -m elf_$(ARCH)
-	# Sector 1 = bootloader, Sector 2 - (512B TO 64K) = kernel
-	# Extend kernel.img to correct size. 
-	test $$(stat -c %s kernel.img) -le 65024
-	truncate --size=65024 kernel.img
 
 head:
 	nasm -f elf$(BITS) -DTARGET_BITS=$(BITS) image_head.asm -o image_head.o