[arch-general] Silent boot with systemd and sd-encrypt initcpio hooks
Hey there, I recently switched my mkinitcpio configs over to use systemd hooks instead of the default ones. Currently my hooks like like the following: HOOKS=(base systemd autodetect modconf block keyboard sd-vconsole sd-encrypt filesystems fsck) As you can see, I have an encrypted root partition. Before switching to systemd hooks, after typing the decryption password on boot there was no additional output. Now there is always the full systemd log where it says "Starting [unit]..." and so on. Kernel parameters: rd.luks.name=[long uuid]=cryptroot rd.luks.options=timeout=20 root=/dev/ mapper/cryptroot rw quiet loglevel=3 rd.systemd.show_status=false rd.udev.log_priority=3 i915.fastboot=1 I tried rearranging the parameters like putting "quiet loglevel=3 rd.systemd.show_status=false rd.udev.log_priority=3" before anything else and even tried putting it before AND after the rd.luks.* parameters with no success. Is this a bug with the systemd hooks or am I doing something wrong here... Thanks for looking into this issue! :D Kind regards -- Sefa Eyeoglu Free Software Developer scrumplex.net
Sefa Eyeoglu via arch-general <arch-general@archlinux.org> on Sun, 2019/10/27 15:37:
[...] As you can see, I have an encrypted root partition. Before switching to systemd hooks, after typing the decryption password on boot there was no additional output. Now there is always the full systemd log where it says "Starting [unit]..." and so on. [...]
If a unit takes too long to start systemd switches to verbose mode for possible issue diagnose. Everything is correct and you take too long to type your passphrase. ;) -- main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/* Best regards my address: */=0;b=c[a++];) putchar(b-1/(/* Chris cc -ox -xc - && ./x */b/42*2-3)*42);}
On Montag, 28. Oktober 2019 09:46:57 CET Christian Hesse wrote:
Sefa Eyeoglu via arch-general <arch-general@archlinux.org> on Sun, 2019/10/27 15:37:
[...] As you can see, I have an encrypted root partition. Before switching to systemd hooks, after typing the decryption password on boot there was no additional output. Now there is always the full systemd log where it says "Starting [unit]..." and so on. [...]
If a unit takes too long to start systemd switches to verbose mode for possible issue diagnose. Everything is correct and you take too long to type your passphrase. ;)
Thanks for the info. Is there an easy way to set the timeout? Sefa Eyeoglu Free Software Developer scrumplex.net[1] -------- [1] https://scrumplex.net
Sefa Eyeoglu <sefa@mailbox.org> on Mon, 2019/10/28 10:06:
On Montag, 28. Oktober 2019 09:46:57 CET Christian Hesse wrote:
Sefa Eyeoglu via arch-general <arch-general@archlinux.org> on Sun, 2019/10/27 15:37:
[...] As you can see, I have an encrypted root partition. Before switching to systemd hooks, after typing the decryption password on boot there was no additional output. Now there is always the full systemd log where it says "Starting [unit]..." and so on. [...]
If a unit takes too long to start systemd switches to verbose mode for possible issue diagnose. Everything is correct and you take too long to type your passphrase. ;)
Thanks for the info.
Is there an easy way to set the timeout?
From man systemd(1): systemd.show_status Takes a boolean argument or the constant auto. Can be also specified without an argument, with the same effect as a positive boolean. If enabled, the systemd manager (PID 1) shows terse service status updates on the console during bootup. auto behaves like false until a unit fails or there is a significant delay in boot. Defaults to enabled, unless quiet is passed as kernel command line option, in which case it defaults to auto. If specified overrides the system manager configuration file option ShowStatus=, see systemd-system.conf(5). However, the process command line option --show-status= takes precedence over both this kernel command line option and the configuration file option. So you can disable this functionality, but not sure if you can set a timeout. -- main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH" "CX:;",b;for(a/* Best regards my address: */=0;b=c[a++];) putchar(b-1/(/* Chris cc -ox -xc - && ./x */b/42*2-3)*42);}
On Montag, 28. Oktober 2019 12:19:34 CET Christian Hesse wrote:
So you can disable this functionality, but not sure if you can set a timeout.
I already set that to false. I observed, that is is seemingly random if the log appears or not. For example: I just booted and failed to supply the key in 20s (rd.luks.options=timeout=20) and after trying again (Ctrl+D) there was no log at all. This is really weird. Sefa Eyeoglu Free Software Developer scrumplex.net[1] -------- [1] https://scrumplex.net
participants (2)
-
Christian Hesse
-
Sefa Eyeoglu