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

-rw-r--r-- readme.rst


      1 mkinitcpio-welcome
      2 ==================
      3 
      4 A mkinitcpio_ hook that draws out the word "Welcome" in big letters early
      5 during the boot process and accepts input for disk decryption. A box is drawn
      6 underneath for inputting the password and printing the output of the 'fsck'
      7 hook.
      8 
      9 The hook wraps and replaces the encrypt hook so that it can have greater
     10 control over the cursor and any printed messages.
     11 
     12 If you find that the message is squeezed into a smaller number of columns that
     13 can fit on screen, you may need to enable early `kernel mode setting`_,
     14 although I found enabling the `consolefont` hook also fixed the issue.
     15 
     16 It works very well with Evan Purkhiser's `mkinitcpio-colors`_.
     17 
     18 
     19 Usage
     20 -----
     21 
     22 0. Ensure that you can successfully use the `encrypt` hook without first.
     23 1. Copy `hooks/welcome` into `/etc/initcpio/hooks`.
     24 2. Copy `install/welcome` into `/etc/initcpio/install`.
     25 3. Add the `welcome` hook to `/etc/mkinitcpio.conf` replacing the `encrypt` hook.
     26 4. Optionally configure the colours to use in `/etc/vconsole.conf`:
     27 
     28 .. code-block:: sh
     29 
     30    WELCOME_BG=0    # background
     31    WELCOME_FG=5    # foreground ("Welcome")
     32    WELCOME_IN=6    # input box frame
     33 
     34 where the number is 0-15 corresponding to the 16 defined console colours.
     35 
     36 5. Rebuild the initramfs image with `mkinitcpio`.
     37 
     38 
     39 Contact
     40 -------
     41 Email me @ mcol@posteo.net for questions or contributions.
     42 
     43 
     44 .. _mkinitcpio: https://wiki.archlinux.org/index.php/mkinitcpio
     45 .. _mkinitcpio-colors: https://github.com/EvanPurkhiser/mkinitcpio-colors
     46