Gentoo Archives: gentoo-user

From: Alan Mackenzie <acm@×××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Irritating ~5s pause whilst booting with grub
Date: Wed, 24 Oct 2018 18:17:16
Message-Id: 20181024180808.GB8885@ACM
In Reply to: Re: [gentoo-user] Irritating ~5s pause whilst booting with grub by Mick
1 Hello, Mick.
2
3 On Tue, Oct 23, 2018 at 18:21:08 +0100, Mick wrote:
4 > On Monday, 22 October 2018 21:03:54 BST Alan Mackenzie wrote:
5 > > Hello, Gentoo,
6
7 > > This isn't a critical problem, but it's a little irritating.
8
9 > > When my machine boots, it first displays the BIOS invitation to type F2,
10 > > then starts grub. Grub spends about 5 seconds with a blank screen, and
11 > > an underline cursor dotting about randomly in the top left hand area of
12 > > the screen, possibly some 25 x 80 area (whatever that might mean). Only
13 > > then does it display its boot menu.
14
15 > > My machine is a standard up to date (18 months old) AMD-64 Ryzen machine
16 > > booting from EFI.
17
18 > > Looking into my /boot/grub/grub.conf, I've got:
19
20 > > # Menu timeout
21 > > timeout=10
22
23 > > : the irritating delay is ~5 seconds, so this can't be due to anything
24 > > dependant on that timeout setting; and
25
26 > Yes, this is the time GRUB will wait for keyboard input before booting the
27 > default menu entry.
28
29
30 > > # If we have a font available, start graphical output.
31 > > if loadfont unifont; then
32 > > echo "Loading unifont"
33 > > # Output resolution for GRUB (eg. 1024x768 or 'auto').
34 > > gfxmode=auto
35
36 > GRUB will select some resolution your hardware can accommodate. I guess this
37 > means probing for suitable resolutions and this is likely to take the ~5
38 > seconds you have noticed.
39
40 > You could specify something suitable and to check what GRUB can use, run the
41 > command 'videoinfo' in GRUB.
42
43 Thanks, I've done that. It showed that Grub was running at 1024x768 on
44 driver Efi Gop. So I plugged those values into my grub.cfg and cut down
45 video.lst to include only that one driver.
46
47 This didn't help - I still got the ~5s delay.
48
49 > > # Output resolution for Linux (VESAFB only).
50 > > # 'keep' means use the same resolution as GRUB.
51 > > # For other framebuffer drivers, pass a resolution using the
52 > > # video= kernel param.
53 > > gfxpayload=keep
54
55 > > # Load all video drivers.
56 > > insmod all_video
57
58 > > # Switch to graphical output.
59 > > terminal_output gfxterm
60 > > fi
61
62 > > . I'm wondering if my problem has something to do with the 'insmod
63 > > all_video', and then the system is trying out lots of different video
64 > > modes, each with a long timeout, before finally finding the correct one.
65 > > Would, perhaps, a more specific value of gfxmode help?
66
67 > The all_video refers to the GRUB drivers available for video. Have a look in
68 > /boot/grub/video.lst to see what GRUB has in there, or in /usr/lib64/grub/
69 > x86_64-efi/video.lst and try the one you prefer GRUB to load.
70
71 Tried that. Then I tried
72
73 gfxmode=text,1024x768
74
75 , in the off chance it might use the 80x25 character terminal which is
76 baked into the video HW. This didn't work, either.
77
78 Why does Grub need to initialise a graphical bit map terminal when the
79 80x25 simply exists?
80
81 > > Also, as an aside, grub has 878 .c files and a user's info guide
82 > > weighing in at 300 kbytes. It's great that the documentation exists,
83 > > but 300k? This is all just for a boot system. There are 255 loadable
84 > > modules. (For comparison, the Emacs core has just 132 .c files.) I
85 > > can't help feeling that this has got horribly out of hand.
86
87 > I share your feelings here. I don't use GRUB unless I *have* to multiboot,
88 > which these days is a rarity.
89
90
91 > > I just need a program to boot the machine, that's all - I don't really
92 > > care what colours it uses, what fonts it uses, it only needs to read a
93 > > GPT partition table, and boot on utterly standard hardware. I
94 > > appreciate having a menu of different boot options (in my case, this
95 > > just means different kernel versions), but everything else is just
96 > > aesthetic sugar. Too much sugar isn't good for one.
97
98 > You could use the the kernel EFI stub to boot directly from the EFI partition,
99 > without the intermediation of a boot manager.[1] The only problem with this
100 > approach is you will need to enter your UEFI boot menu to select another
101 > kernel image to boot with, if the default kernel selection is not your
102 > requirement.
103
104 Thanks. But it took me several evenings of sweating and cursing to get
105 Grub working ~18 months ago, and I'm loathe to go through the same again
106 to get a different booter working. I think, sooner or later, I'm going
107 to have to reacquaint myself with my installation CD, and do this, though.
108
109 > [1] https://wiki.gentoo.org/wiki/EFI_stub_kernel
110
111 > --
112 > Regards,
113 > Mick
114
115 --
116 Alan Mackenzie (Nuremberg, Germany).