[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Why does setting a language in Grub take 1.5 minutes?
From: |
Katherine Cox-Buday |
Subject: |
Why does setting a language in Grub take 1.5 minutes? |
Date: |
Sun, 15 May 2022 18:06:41 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
At some point, after a long time with no problems, my system began
taking an unreasonably long time to boot. I only reboot my system
~1/week for updates, so I never took the time to debug the problem, and
therefore, I couldn't really connect the issue with any changes that
either I or Guix had made.
I'm now trying to debug a wake from hibernate issue, and this involves a
lot of rebooting, so I had to figure this out. I have, and I'm unsure
why what I found is causing issues, and whether it's a Guix bug, or
something wrong with my setup.
Here's my partition layout:
#+begin_example
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:2 0 931.5G 0 disk
├─nvme0n1p1 259:3 0 549M 0 part /boot/efi
└─nvme0n1p2 259:4 0 931G 0 part
└─cryptroot 253:0 0 931G 0 crypt /var/lib/docker
/gnu/store
/
#+end_example
There are no filesystem errors.
Here's the bootloader portion of my operating-system:
#+begin_example
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
#+end_example
Here's part of my /boot/grub/grub.cfg, generated by Guix. I've added
some echo statements to help debug.
#+begin_example
echo "C"
# Set 'root' to the partition that contains /gnu/store.
search --file --set /gnu/store/9lcbyg3pkb38chhv0yzk6hn3arxfjfgk-grub-image.png
echo "D"
if loadfont unicode; then
set gfxmode=auto
insmod all_video
echo "E"
insmod gfxterm
echo "F"
fi
terminal_output gfxterm
echo "G"
insmod png
echo "H"
if background_image
/gnu/store/9lcbyg3pkb38chhv0yzk6hn3arxfjfgk-grub-image.png; then
echo "H.1"
set color_normal=light-gray/black
echo "H.2"
set color_highlight=yellow/black
echo "H.3"
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
echo "I"
Localization configuration.
search --file --set
/gnu/store/mdrdpd6aw9ikx1wzx6ljydpzvnvwpq0y-grub-locales/en@quot.mo
echo "J"
set locale_dir=/gnu/store/mdrdpd6aw9ikx1wzx6ljydpzvnvwpq0y-grub-locales
echo "K"
set lang=en_US
echo "L"
insmod keylayouts
echo "M"
keymap /gnu/store/pgg50qzm7d2q6k0f82c43fmsxwpwrjvx-grub-keymap.us
echo "N"
#+end_example
And here are the time elapsed between steps (at least the ones that didn't go
by too quickly), in seconds:
C -> D : 13
H -> I : 13
I -> K : 27
K -> M : 157 (!!!!)
M -> N : 20
That's almost 4 minutes from unlocking the luks volume to get to the Grub menu,
and then another 4 minutes to boot into the Kernel.
I then removed the keyboard configuration and changed the theme so that
it wouldn't load an image:
#+begin_example
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(theme (grub-theme
(inherit (grub-theme))
(image #f)))))
#+end_example
It produces a grub.cfg with this in it (again, echoes added):
#+begin_example
echo "A"
set locale_dir=/gnu/store/mdrdpd6aw9ikx1wzx6ljydpzvnvwpq0y-grub-locales
echo "B"
set lang=en_US
echo "C"
#+end_example
Between B -> C, it still takes 157 seconds.
Does anyone know why this is taking so long or how to fix it? As it is, I'll
have to manually edit my grub.cfg after every system reconfigure.
Thank you,
--
Katherine
- Why does setting a language in Grub take 1.5 minutes?,
Katherine Cox-Buday <=