diff --git a/system/gettys-openrc/APKBUILD b/system/gettys-openrc/APKBUILD
index bacb96d113cf51b9049e9d6e5220c4f7caa223ca..cde63a6483db7a653fb0b04f18d4008824a5892a 100644
--- a/system/gettys-openrc/APKBUILD
+++ b/system/gettys-openrc/APKBUILD
@@ -1,7 +1,7 @@
 # Contributor: Laurent Bercot <ska-adelie@skarnet.org>
 # Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
 pkgname=gettys-openrc
-pkgver=0.0.2.0
+pkgver=0.0.2.1
 pkgrel=0
 pkgdesc="Dynamic getty services"
 url="https://adelielinux.org/"
@@ -21,4 +21,4 @@ package() {
 }
 
 sha512sums="50039958291cd546c51ce5a30d319f5c5cf7d310fb3cd9f7ad1632fa4bc55775cdac740f76886ff5869a2cfa3f345e760672cebf7727c7ca2514358bcc17e531  gettys.confd
-ad086549334cf2ff49bf95eb7d89aed8497a7533487aa4770d0fed884baab648c5da5f4db7ba8b7613d2dc5eea5d165a484ee7029fe660e97791f954aff171b3  gettys.initd"
+4fdb5e177bc6862e8b55c1252079a2ee31d25e157cd6a36bae766e25d2a79ba4b731d35660e01b38325bf8ae8a9ea9ccfddb5ec662ba1bb76e71ce9372ab608a  gettys.initd"
diff --git a/system/gettys-openrc/gettys.initd b/system/gettys-openrc/gettys.initd
index 5181d9af25151f20f2ac8df91d5b92a187c6211f..a1fbb20820c3af8d2313b6757d1404c610821123 100644
--- a/system/gettys-openrc/gettys.initd
+++ b/system/gettys-openrc/gettys.initd
@@ -47,8 +47,12 @@ start() {
 
   for i in $GETTYS ; do
     if test -c /dev/"$i" ; then
-      makeservice "$i"
-      ln -nsf "/var/lib/s6/services/getty-$i" "/run/service/getty-$i"
+      if test -d "/etc/s6-linux-init/current/run-image/service/getty-$i" ; then
+        :
+      else
+        makeservice "$i"
+        ln -nsf "/var/lib/s6/services/getty-$i" "/run/service/getty-$i"
+      fi
     fi
   done
 
diff --git a/system/s6-linux-init/APKBUILD b/system/s6-linux-init/APKBUILD
index aed46e57597d577d348c420d83b6ae82efdc3910..d1cead76d3adce552d03fc1452e08e30fd292725 100644
--- a/system/s6-linux-init/APKBUILD
+++ b/system/s6-linux-init/APKBUILD
@@ -2,7 +2,7 @@
 # Maintainer: Laurent Bercot <ska-adelie@skarnet.org>
 pkgname=s6-linux-init
 pkgver=1.0.2.0
-pkgrel=0
+pkgrel=1
 pkgdesc="A s6-based init system"
 url="https://skarnet.org/software/$pkgname/"
 arch="all"
@@ -11,11 +11,11 @@ license="ISC"
 _skalibs_version=2.8.1.0
 depends="execline s6 s6-linux-init-common"
 makedepends="skalibs-dev>=$_skalibs_version execline-dev s6-dev utmps-dev"
-subpackages="$pkgname-common:common:noarch $pkgname-libs $pkgname-dev $pkgname-libs-dev:libsdev $pkgname-doc"
+subpackages="$pkgname-common:common:noarch $pkgname-early-getty:earlygetty:noarch $pkgname-libs $pkgname-dev $pkgname-libs-dev:libsdev $pkgname-doc"
 source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz rc.init runlevel rc.shutdown reboot.sh"
 install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
 provides="/sbin/init=0"
-
+_earlytty=tty2
 
 build() {
 	cd "$builddir"
@@ -46,6 +46,7 @@ package() {
 
 	./s6-linux-init-maker \
 	  -u catchlog \
+	  -G "/sbin/agetty -- 38400 $_earlytty linux" \
 	  -1 \
 	  -L \
 	  -p "/usr/bin:/usr/sbin:/bin:/sbin" \
@@ -77,6 +78,16 @@ common() {
 }
 
 
+earlygetty() {
+	pkgdesc="Files for an early getty on $_earlytty"
+        depends="s6-linux-init-common"
+        svcimg="$pkgdir/etc/s6-linux-init/current/run-image/service"
+        subsvcimg="$subpkgdir/etc/s6-linux-init/current/run-image/service"
+	mkdir -p -m 0755 "$subsvcimg"
+	mv "$svcimg/s6-linux-init-early-getty" "$subsvcimg/getty-$_earlytty"
+}
+
+
 libs() {
         pkgdesc="$pkgdesc (shared libraries)"
         depends="skalibs-libs>=$_skalibs_version"