help-guix
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]