mkinitcpio hooks that print the word "Welcome" in big letters and draw a box for inputting an encryption password and catching the fsck output during early userspace. See blog post for a video: https://mcol.xyz/2020/06/ricing-early-userspace.html
git clone https://github.com/m-col/mkinitcpio-welcome
Files | Refs | Readme

Commit a44d09d615be514880b4ceca2cf229ab996fa146
Parent: 6e673e0c130b313a26c64be2a678da23a772d1fc
Author: mcol <mcol@posteo.net>
Date: 2020-10-12 23:01:29 +0100
Committer: mcol <mcol@posteo.net>
Committed: 2020-10-12 23:01:29 +0100

remove WELCOME_BG, because filling in the background is flaky

install/welcome Modified

@@ -6,11 +6,9 @@
 
 	is_valid() { test "$1" -ge 0 -a "$1" -le 15; }
 	is_valid ${WELCOME_FG:-5} || WELCOME_FG=5
-	is_valid ${WELCOME_BG:-0} || WELCOME_BG=0
 	is_valid ${WELCOME_IN:-4} || WELCOME_IN=4
 
 	echo "WELCOME_FG=$WELCOME_FG" >> "$BUILDROOT/welcome"
-	echo "WELCOME_BG=$WELCOME_BG" >> "$BUILDROOT/welcome"
 	echo "WELCOME_IN=$WELCOME_IN" >> "$BUILDROOT/welcome"
     )
 

hooks/welcome Modified

@@ -5,14 +5,13 @@
     # user-defined colours
     . /welcome
     we="\x1b[48;5;${WELCOME_FG}m"
-    bk="\x1b[48;5;${WELCOME_BG}m"
     in="\x1b[48;5;${WELCOME_IN}m"
 
     # drawing tools
+    bk="\x1b[0m"		# reset settings
     p="$we  $bk"  		# single pixel
     s="$we  "	    		# start pixel row
     e="  $bk"	    		# end pixel row
-    non="\x1b[0m"		# reset all settings
     fill="\033[K"   		# fill to end of line
 
     # draw "Welcome"