diff --git a/main/postmarketos-initramfs/00-initramfs-fullsize.files b/main/postmarketos-initramfs/00-initramfs-fullsize.files
new file mode 100644
index 0000000000000000000000000000000000000000..e906ff95269d75b045b91e47112fcf4b909383ea
--- /dev/null
+++ b/main/postmarketos-initramfs/00-initramfs-fullsize.files
@@ -0,0 +1 @@
+/usr/bin/iskey
diff --git a/main/postmarketos-initramfs/APKBUILD b/main/postmarketos-initramfs/APKBUILD
index 43ab7000d0581e4a613ca12d23eeda2398acf8fd..5ae715b77388286645f4eb482fbedd173f87d34e 100644
--- a/main/postmarketos-initramfs/APKBUILD
+++ b/main/postmarketos-initramfs/APKBUILD
@@ -6,6 +6,7 @@ pkgrel=0
 pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra"
 url="https://postmarketos.org"
 options="!check"  # no tests
+subpackages="$pkgname-tiny $pkgname-fullsize"
 depends="
 	blkid
 	btrfs-progs
@@ -83,6 +84,24 @@ package() {
 	mkdir -p "$pkgdir"/etc/mkinitfs/hooks-extra
 }
 
+# Tiny variant for devices with very limited space
+tiny() {
+	depends="!postmarketos-initramfs-fullsize"
+
+	mkdir -p "$subpkgdir"
+}
+
+# Full size initramfs for most devices
+fullsize() {
+	install_if="postmarketos-initramfs"
+
+	mkdir -p "$subpkgdir"
+	# NOTICE: no files should be installed here. This should only
+	# be used for dependencies which don't fit in the tiny variant.
+	# Those dependencies should then be adjusted to be optional at
+	# runtime, so that the tiny variant can still be used.
+}
+
 sha512sums="
 59be0649ed87a72d93624bd8a2e3f8c99a0f32f7b7a26f99436de782beba55671472c269eeee86440efc87e0d7148a0bb335fa537791092e73878ca21330544a  00-default.modules
 5b364300f31c91fd0591eb0715f67cbf5383f45246a5fb9f34b79f7cb2e3b15768b2130e5f32f816cc169950f988c1beabc879ba31645c58ce131a288dbc071d  00-initramfs-base.dirs