You are not logged in.
I recently made the switch over to uefi and the only problem now is that the syslinux menu is smaller than ideal now.
"MENU RESOLUTION" doesn't actually work at setting the resolution to 2560*1440 (the resolution of my monitor). Tried MENU RESOLUTION 2560 1440 which did nothing, also tried 1440 900 and 1280 720.
I tried "MENU WIDTH 200" but then it simply looped around and didn't cover most of the right half of the screen.
Last config i tried:
# Config file for Syslinux -
# /boot/syslinux/syslinux.cfg
#
# Comboot modules:
# * menu.c32 - provides a text menu
# * vesamenu.c32 - provides a graphical menu
# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
# * hdt.c32 - hardware detection tool
# * reboot.c32 - reboots the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples
MENU RESOLUTION 1440 900
MENU WIDTH 100 # width of the menu also required to bring the menu box to size
MENU VSHIFT 10 # moves menu down
MENU HSHIFT 10 # moves menu right
DEFAULT arch
PROMPT 0 # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl
# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
#UI vesamenu.c32
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
# nvidia-drm.modeset=1
#-*
LABEL arch
MENU LABEL Arch Linux
LINUX ../../vmlinuz-linux
APPEND root=/dev/sdc1 rw
INITRD ../../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX ../vmlinuz-linux
APPEND root=/dev/sdc1 rw
INITRD ../initramfs-linux-fallback.img
LABEL memtest86+
MENU LABEL memtest86+
LINUX ../../memtest86+/memtest64.efi
LABEL sdb
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/sdb1 rw
INITRD ../initramfs-linux.img
#LABEL windows
# MENU LABEL Windows
# COM32 chain.c32
# APPEND hd0 1
LABEL hdt
MENU LABEL HDT (Hardware Detection Tool)
COM32 hdt.c32
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL poweroff
MENU LABEL Poweroff
COM32 poweroff.c32
Last edited by sebastian (2025-06-27 20:15:08)
Offline
Where is that file located?
Take a look at Syslinux - Graphical Boot Menu.
For UEFI it would be located at: esp/EFI/syslinux/syslinux.cfg, not /boot/syslinux/syslinux.cfg.
Cheers,
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Online
Where is that file located?
Take a look at Syslinux - Graphical Boot Menu.
For UEFI it would be located at: esp/EFI/syslinux/syslinux.cfg, not /boot/syslinux/syslinux.cfg.
I used the location esp/EFI/BOOT/syslinux.cfg which worked for changing other settings.
Edit: i later confirmed that esp/EFI/syslinux/syslinux.cfg doesn't do anything.
Max i can set HSHIFT and MENU WIDTH to is around 130 in total before it starts wrapping around (so it's like half the screen cannot be used) for the menu.
Last edited by sebastian (2025-06-03 12:52:29)
Offline
I have an old laptop that runs syslinux on BIOS, not UEFI. I am currently updating, so I can test further.
The reason I asked about the location is that the first line of your configuration file says it's located at /boot. But if you've confirmed that the file you're editing affects other aspects of syslinux, maybe change
UI menu.c32
#UI vesamenu.c32
to
#UI menu.c32
UI vesamenu.c32
since the page I linked says
Since Syslinux 3.84, vesamenu.c32 supports the MENU RESOLUTION $WIDTH $HEIGHT directive.
When I made that change on my system, I was able to change the size of the boot menu.
Cheers,
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Online
I have an old laptop that runs syslinux on BIOS, not UEFI. I am currently updating, so I can test further.
The reason I asked about the location is that the first line of your configuration file says it's located at /boot. But if you've confirmed that the file you're editing affects other aspects of syslinux, maybe change
I configured the EFI partition to be mounted at /boot for now.
UI menu.c32 #UI vesamenu.c32
to
#UI menu.c32 UI vesamenu.c32
since the page I linked says
Since Syslinux 3.84, vesamenu.c32 supports the MENU RESOLUTION $WIDTH $HEIGHT directive.
When I made that change on my system, I was able to change the size of the boot menu.
Hmm that changed it to the worse (for now at least) i just change it back to the old meny for now.
Ill also fix some other errors i noticed.
Old menu: https://postimg.cc/4737NHpf
Vesamenu: https://postimg.cc/McfZs00j
Last edited by sebastian (2025-06-03 15:53:29)
Offline
I might look into how to configure the vesamenu but ill go with this for now (since i cannot increase the menu resolution)
# Config file for Syslinux -
# /boot/EFI/BOOT/syslinux.cfg
#
# Comboot modules:
# * menu.c32 - provides a text menu
# * vesamenu.c32 - provides a graphical menu
# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
# * hdt.c32 - hardware detection tool
# * reboot.c32 - reboots the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: [url]https://wiki.archlinux.org/index.php/Syslinux[/url]
# The wiki provides further configuration examples
#MENU RESOLUTION 2560 1440 # or whatever your screen resolution is
MENU WIDTH 110 # width of the menu also required to bring the menu box to size
MENU VSHIFT 10 # moves menu down
MENU HSHIFT 20 # moves menu right
DEFAULT arch
PROMPT 0 # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl
# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
#UI vesamenu.c32
# Refer to [url]http://syslinux.zytor.com/wiki/index.php/Doc/menu[/url]
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
# nvidia-drm.modeset=1
#-*
LABEL arch
MENU LABEL Arch Linux
LINUX ../../vmlinuz-linux
APPEND root=/dev/sdc1 rw
INITRD ../../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX ../../vmlinuz-linux
APPEND root=/dev/sdc1 rw
INITRD ../../initramfs-linux-fallback.img
LABEL memtest86+
MENU LABEL memtest86+
LINUX ../../memtest86+/memtest64.efi
LABEL sdb
MENU LABEL Arch Linux
LINUX ../../vmlinuz-linux
APPEND root=/dev/sdb1 rw
INITRD ../../initramfs-linux.img
#LABEL windows
# MENU LABEL Windows
# COM32 chain.c32
# APPEND hd0 1
LABEL hdt
MENU LABEL HDT (Hardware Detection Tool)
COM32 hdt.c32
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL poweroff
MENU LABEL Poweroff
COM32 poweroff.c32
Edit: forgot to disable "MENU BACKGROUND splash.png" but that had no impact (i don't actually have that picture in the boot partition).
Last edited by sebastian (2025-06-03 15:56:24)
Offline
Er...
In the vesamenu screenshot, it looks like the grey part extends across the entire monitor. (Hard to tell, because the image is cut off.) That *is* the menu resolution. It is working.
The next step (now that you've increased the resulution) would be to increase the width of the menu.
Did you try that *after* adjusting the resolution?
It looks to me like the menu will never fill the full screen, there will always be a margin, but on my laptop (1366x768) I was able to increase the menu to 170% of the original size before it started to wrap.
Cheers,
"Before Enlightenment chop wood, carry water. After Enlightenment chop wood, carry water." -- Zen proverb
Online
Er...
In the vesamenu screenshot, it looks like the grey part extends across the entire monitor. (Hard to tell, because the image is cut off.) That *is* the menu resolution. It is working.
Yep it covers the entire screen in grey (outside the menu itself) which is worse since then i no longer see "loading ../../vmlinuz-linux... ok" and the next line after that (depending on what meny entry i selected.
The next step (now that you've increased the resulution) would be to increase the width of the menu.
Did you try that *after* adjusting the resolution?
It looks to me like the menu will never fill the full screen, there will always be a margin, but on my laptop (1366x768) I was able to increase the menu to 170% of the original size before it started to wrap.
I did try changing the meny size to 300 which ended up breaking the menu.
I also liked the old look of the meny better and it kinda worked so i resorted to that until i find some actual good fix (which may never come).
Offline
Some UEFI firmware only support a limited number of resolutions for uefi graphical boot.
One system I maintain falls back to 1024x768 at boot when connected to a 2540x1440 monitor.
Only when it's connected to a Full HD 1920x1080 monitor will it boot to that mode, and the firmware has no support for higher resolutions.
Look for an UEFI Configuration page in the firmware.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
sanity check: is there a reason for why you use syslinux at all today instead of some more modern solution lime grub or iPXE?
Offline
Some UEFI firmware only support a limited number of resolutions for uefi graphical boot.
One system I maintain falls back to 1024x768 at boot when connected to a 2540x1440 monitor.
Only when it's connected to a Full HD 1920x1080 monitor will it boot to that mode, and the firmware has no support for higher resolutions.
Look for an UEFI Configuration page in the firmware.
For some reason disabling "Full Screen Logo Display" returned the menu back to how it was before except that i also got some additional information at boot up such as the exact amount of ram and the connected SATA drives (some of which is covered by the menu but you can move the menu around as you see fit).
So ill mark this as solved for now since for me it is at least.
Offline