Guix System: Very long, scary boot time

OpenSubmitted by sirgazil.
Details
4 participants
  • Danny Milosavljevic
  • Ludovic Courtès
  • Ricardo Wurmus
  • sirgazil
Owner
unassigned
Severity
normal
S
S
sirgazil wrote on 11 Jan 2020 15:36
(name . bug-guix)(address . bug-guix@gnu.org)
16f9508fba7.10500a40d12428.5493498481627158844@zoho.com
Hi,

Everytime I boot, it takes about 2 minutes to get to the log in screen. This is a lot compared to the time it takes to boot, say, Trisquel 8 on a USB stick, which takes about 15 seconds.

In the process, I see lots of lines of things I don't understand (maybe I'm not supposed to understand them), and the following lines are particularly confusing:

This is the GNU system. Welcome.
Login:

Sometimes, the two lines above stay there enough time to make you think that the system is waiting for your input; if you are new to the system, you may even start writing your login, but then more lines start appearing and send the login out of sight.

Some lines are scary. Things like "ABC not found", "EFG not detected". But finally you get to the GDM login screen.

I'm used to this after using the system for about a year now, but I think this is a bug.


---
D
D
Danny Milosavljevic wrote on 11 Jan 2020 16:05
(name . sirgazil via Bug reports for GNU Guix)(address . bug-guix@gnu.org)
20200111160505.77327dc3@scratchpost.org
Hi sirgazil,

On Sat, 11 Jan 2020 09:36:31 -0500
sirgazil via Bug reports for GNU Guix <bug-guix@gnu.org> wrote:

Toggle quote (13 lines)
> Everytime I boot, it takes about 2 minutes to get to the log in screen. This is a lot compared to the time it takes to boot, say, Trisquel 8 on a USB stick, which takes about 15 seconds.
>
> In the process, I see lots of lines of things I don't understand (maybe I'm not supposed to understand them), and the following lines are particularly confusing:
>
> This is the GNU system. Welcome.
> Login:
>
> Sometimes, the two lines above stay there enough time to make you think that the system is waiting for your input; if you are new to the system, you may even start writing your login, but then more lines start appearing and send the login out of sight.
>
> Some lines are scary. Things like "ABC not found", "EFG not detected". But finally you get to the GDM login screen.
>
> I'm used to this after using the system for about a year now, but I think this is a bug.

It most definitely is a usability problem. If usability is a goal, then it is a
bug.

I think it's our job as a distribution to integrate the components properly into
the system so that confusing stuff like that doesn't happen.

As a first step, we could just not start a getty on tty1 when gdm is configured
to start (see tty1 in %base-services in (gnu services base)). Then the thing
above wouldn't appear.

The usual fix a lot of other distributions (and BIOSes) have is to display a
splash screen on top.

(Also, gdm doesn't like it at all if one uses Ctrl-Alt-Fx to switch consoles
apparently)

But if possible, could you post the actual messages that appear on your machine
to a bug report? We can then find out where they come from and decide what
to do about them.

Standard usability limits for the duration an action is allowed to take to
start (and make itself known to the user) after the user asked for something:

* Less than one second for a system to feel snappy and no annoyance to happen
* At least less than two seconds absolute maximum. You are annoying the user
* More is not usable

Because of long boot times (15 s is ALSO too long) I almost never reboot
(only suspend).

I've tried booting Guix now and I took note of the following points in time:

t = 0 s: I press the power button
t = 8 s: Grub asks for my system password
t = 45 s: Console login prompt appears
t = 55 s: GDM login prompt appears
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl4Z5DsACgkQ5xo1VCww
uqVh0Af/W3IxfqYWnRgjdqOPNXi8ItIIIbhN0CvGc8S2JPsmkzoIVP0/Rg5FHW1n
Dev6skIWZsglsFNmj5rSXx+ah0+c81p03zWMXpmNzekKeofO9A6QapVZjzkAidgQ
mZmr2Xs9Rao5ybomyjVMEPvOmrfA97AO7PoGTKT6pNitiPHfAD2l/puXbDxumdRc
xJAYwH0OiqXzDrZgab08d8N9Rc179NDuG4vmcalHftC4BCnC+tJicTdJKNheDKPD
LfpxwEs6zLgNilFxg6DX9iWLSxI+6KLl0lP6KuaxSm5+6zcOJEwPN0hqiAs1ax6Q
imu9qkXGz0kyHOkrJJAYjHxUCtjp2A==
=Kvz6
-----END PGP SIGNATURE-----


S
S
sirgazil wrote on 11 Jan 2020 16:07
Guix System: Very long, scary boot time
(name . 39089)(address . 39089@debbugs.gnu.org)
16f952550cc.1034b813612561.5033899163887480670@zoho.com
I forgot to say I'm using this Guix:

$ LANG=C guix describe
Generation 7 Jan 08 2020 13:53:10 (current)
guix f98c050
branch: master
commit: f98c050c2017be06cff54abf965a8234f6998f76
S
S
sirgazil wrote on 11 Jan 2020 23:54
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
16f96d11cc0.fcd0616614932.1521732128040388666@zoho.com
---- On Sat, 11 Jan 2020 10:05:31 -0500 Danny Milosavljevic <dannym@scratchpost.org> wrote ----

[...]

> But if possible, could you post the actual messages that appear on your machine
> to a bug report? We can then find out where they come from and decide what
> to do about them.


These are the messages of the last boot:

L
L
Ludovic Courtès wrote on 17 Jan 2020 22:39
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
87lfq5yd8l.fsf@gnu.org
Hello!

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (10 lines)
> I think it's our job as a distribution to integrate the components properly into
> the system so that confusing stuff like that doesn't happen.
>
> As a first step, we could just not start a getty on tty1 when gdm is configured
> to start (see tty1 in %base-services in (gnu services base)). Then the thing
> above wouldn't appear.
>
> The usual fix a lot of other distributions (and BIOSes) have is to display a
> splash screen on top.

I think that would be the better fix: add the splash screen thing (I
forgot the name) to ‘%desktop-services’, but keep functional TTYs.

Toggle quote (2 lines)
> Because of long boot times (15 s is ALSO too long) I almost never reboot

Heh same here.

We should do some profiling with “bootchart” I think it’s called. I’m
sure systemd does a better job that the Shepherd, in particular by
starting more things on demand and doing others in parallel. We’ll get there.

Toggle quote (7 lines)
> I've tried booting Guix now and I took note of the following points in time:
>
> t = 0 s: I press the power button
> t = 8 s: Grub asks for my system password
> t = 45 s: Console login prompt appears
> t = 55 s: GDM login prompt appears

That’s roughly what I get on my laptop. (Note: Guix cannot be blamed
for what happens until the kernel has booted. :-))

Ludo’.
R
R
Ricardo Wurmus wrote on 3 May 2020 19:15
(name . Ludovic Courtès)(address . ludo@gnu.org)
87pnbl3pov.fsf@elephly.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (15 lines)
> Danny Milosavljevic <dannym@scratchpost.org> skribis:
>
>> I think it's our job as a distribution to integrate the components properly into
>> the system so that confusing stuff like that doesn't happen.
>>
>> As a first step, we could just not start a getty on tty1 when gdm is configured
>> to start (see tty1 in %base-services in (gnu services base)). Then the thing
>> above wouldn't appear.
>>
>> The usual fix a lot of other distributions (and BIOSes) have is to display a
>> splash screen on top.
>
> I think that would be the better fix: add the splash screen thing (I
> forgot the name) to ‘%desktop-services’, but keep functional TTYs.

I think you’re referring to Plymouth:


--
Ricardo
R
R
Ricardo Wurmus wrote on 3 May 2020 19:18
(name . Ludovic Courtès)(address . ludo@gnu.org)
87o8r53pkd.fsf@elephly.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (21 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Danny Milosavljevic <dannym@scratchpost.org> skribis:
>>
>>> I think it's our job as a distribution to integrate the components properly into
>>> the system so that confusing stuff like that doesn't happen.
>>>
>>> As a first step, we could just not start a getty on tty1 when gdm is configured
>>> to start (see tty1 in %base-services in (gnu services base)). Then the thing
>>> above wouldn't appear.
>>>
>>> The usual fix a lot of other distributions (and BIOSes) have is to display a
>>> splash screen on top.
>>
>> I think that would be the better fix: add the splash screen thing (I
>> forgot the name) to ‘%desktop-services’, but keep functional TTYs.
>
> I think you’re referring to Plymouth:
>
> https://www.freedesktop.org/wiki/Software/Plymouth/

We have a patch for Plymouth:


Back then I asked for more information on how to actually use it. Now
it’s clear to me: by building it statically and including it in the
initrd.

--
Ricardo
?