You are not logged in.
Hello. Hope this is the right subgroup to post in. Seems to be an issue with GNU GRUB configuration or bug.
Below, are the etc/default/grub and boot/grub/grub.cfg files on my system. GRUB version is 2.02.
Althought I have configured the boot menu timout to 5 seconds, the boot menu only flashes on screen briefly for 3/100ths of a second and disappears.
I have also tried with GRUB_TIMEOUT=-1, and all sorts of combinations of configuration changes. Nothing does anything to get the boot menu to actually stay on the screen.
I have used a burst frame camera to take a picture of the screen that displays and to time how long it is present.
(EDIT: I originally reported this for GRUB v2.02~rc2, but I have since upgraded to v2.02 with no change.)
/etc/default/grub ::
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
#ALSO TRIED WITH: GRUB_TIMEOUT=-1
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:cryptroot root=/dev/mapper/cryptroot crypto=sha512:aes-xts-plain64:512:0:"
GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3"
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to make GRUB remember the last selection. This requires to
# set 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"
/boot/grub/grub.cfg ::
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if loadfont unicode ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d9b29f82-0f88-48e8-97fd-98567f8449f5' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 24d7cf20-7239-476e-8144-8fa204bea41f
else
search --no-floppy --fs-uuid --set=root 24d7cf20-7239-476e-8144-8fa204bea41f
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=d9b29f82-0f88-48e8-97fd-98567f8449f5 rw cryptdevice=/dev/sda5:cryptroot root=/dev/mapper/cryptroot crypto=sha512:aes-xts-plain64:512:0: quiet loglevel=3
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-d9b29f82-0f88-48e8-97fd-98567f8449f5' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-d9b29f82-0f88-48e8-97fd-98567f8449f5' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 24d7cf20-7239-476e-8144-8fa204bea41f
else
search --no-floppy --fs-uuid --set=root 24d7cf20-7239-476e-8144-8fa204bea41f
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=d9b29f82-0f88-48e8-97fd-98567f8449f5 rw cryptdevice=/dev/sda5:cryptroot root=/dev/mapper/cryptroot crypto=sha512:aes-xts-plain64:512:0: quiet loglevel=3
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-d9b29f82-0f88-48e8-97fd-98567f8449f5' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 24d7cf20-7239-476e-8144-8fa204bea41f
else
search --no-floppy --fs-uuid --set=root 24d7cf20-7239-476e-8144-8fa204bea41f
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=d9b29f82-0f88-48e8-97fd-98567f8449f5 rw cryptdevice=/dev/sda5:cryptroot root=/dev/mapper/cryptroot crypto=sha512:aes-xts-plain64:512:0: quiet loglevel=3
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "System restart" {
echo "System rebooting..."
reboot
}
menuentry "System shutdown" {
echo "System shutting down..."
halt
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
First screen in boot process:
The boot menu that displays for 3/100ths of a second:
Then, it quickly proceeds to:
Last edited by rogerthat (2018-10-11 13:27:16)
Offline
If you boot into your bios menu, does your keyboard work okay? I wonder if it's quitting and autoselecting the first item because it can't detect a keyboard at this stage.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Thank you, Levi.
I tried your suggestion, and the keyboard works fine in the bios configuration area.
I also ran grub-install and upgraded to 2.02 and reran grub-mkconfig.
The boot menu still disappears; the only difference is it now says version 2.02 when it flashes briefly on screen. :-P
I also tried holding down keys immediately after entering the BIOS boot password.
I tried holding down: down-arrow, Esc, left-shift, and right-shift. Nothing made the boot menu linger.
I also tried a few times booting while pressing the down-arrow as fast as I could. Still the boot menu just flashed by.
Offline
Did you check the timeout value in the generated /boot/grub/grub.cfg?
Maybe grub is not reading the grub.cfg you think, for instance it's on another partition?
Offline
That screenshot suggests grub thinks it's about to wait for 5 second before doing anything, but moments later seems to decide to just boot the first menu item anyway, unless there's perhaps something else taking over from it at this point. I don't really understand what modern machines are capable of at this point, although I don't really have a handle on the kind of system running here. Could we get some kind of specs please? UEFI or MBR?
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Yes, I included the /boot/grub/grub.cfg above, and it contains "set timeout=5".
Also, as levi noted, the screenshot even shows that it will wait 5s. But it doesn't! It immediately disappears.
The machine is a MSI U100. So that's pretty old. And it's using MBR and BIOS, no UEFI.
Offline
you could try a timeout of -1 (wait forever) or just a longer timeout, e.g. 50. Maybe grub miscounts the ticks..
Offline
Yes, I tried a timeout of -1, and some other combinations of settings too. Nothing made the menu stay on screen!
Offline
I hate to suggest you could try syslinux. :-)
grub2 is easier for newer machines
grub/syslinux plays better with really old machines in my experience..
..but I really appreciate your screenshots, they add a certain something.. :-)
Offline
Ah really? I could look into that. It's a pacman package?
Offline
yes, https://wiki.archlinux.org/index.php/syslinux, I used it as it had less dependencies which came in handy during i486 bootstrapping.
pacman -S syslinux
syslinux-install_update -i -a -m
The script doesn't know about complicated setups, then you have to fiddle syslinux.cfg yourself.
Grub 1 (or rather 0.97) has been moved to the AUR , so you have to build it first:
Offline
I use ext4 and dm-crypt on my main volume. It looks like syslinux won't support that, right?
Offline
Syslinux most likely cannot read encrypted partitions.
With an unencrypted /boot partition I fail to see, why this should not work. Syslinux files, kernel and initramfs must be on this /boot partition.
Offline
Yes, I run an encrypted home directory on my build server. It asks for the password as it boots up before I can log on. which is controlled via a systemd unit file. Does the initramfs contain enough of systemd and associated unit files to get that far before it needs to mount the root fs?
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Hello, first of all I'm sorry for my English, it isn't my language.
If your problem is only grub timeout, you could try to install grub-customizer and with it set grub-timeout to a value you've never tried before ( for example 7 or 8), then click on save option on the left, exit and reboot.
Offline