[SeaBIOS] [PATCH] boot: boot menu up to 35 devices with letters and possible pages

Ivan Ivanov qmastery16 at gmail.com
Tue Jun 13 10:00:03 CEST 2017


2017-06-12 22:04 GMT+03:00 Kevin O'Connor <kevin at koconnor.net>:
> On Sun, Jun 11, 2017 at 12:41:22AM +0300, Ivan Ivanov wrote:
>> Extend boot menu: make it possible to select the boot menu entries
>> with ID larger than 10 by pressing a corresponding letter key. If
>> there are more than 18 devices, then a boot menu splits into two
>> pages; you can switch between the pages by pressing the ENTER key.
>> NOTE: now to access the TPM you need to press the M key. It makes more
>> sense, because Trusted is adjective while Module is noun - and adds
>> more convenience, because M letter is at the end of keyboard's 3rd row
>> of letters, not in the middle of them
>
> Thanks.  Can you describe a real-world situation where one would have
> more than 10 boot devices and one would be using the boot menu?
>
> -Kevin

In addition to boot devices, payloads are also taking the menu entries

Current situation at my laptop:
two floppy ramdisks - floppy operating systems KolibriOS and MenuetOS,
one CD/DVD drive, one HDD, 6 payloads (filo,memtest,tint,nvramcui,
coreinfo,iPXE) . Even without USB flash drives its already 10 payloads

And this is just a laptop, which has just 2 SATA menu entries.
Meanwhile, desktop motherboards usually have 6-8 SATA ports,
and a pretty typical situation for power user is 4 hard drives,
one SSD and one CD/DVD drive - at least 6 reserved boot menu entries.
In my case that would have been at least 14 boot menu entries total,
even without any USBs

At SeaBIOS mailing list (December 2016 - January 2017) there already
was a discussion about this problem (copied below) but it is 6 months
after your patch request and nobody has submitted , - so here i am! ;)

Probably the easiest way to test my patch is to add a lot of fake
boot entries with different print messages - all inside boot.c file -
and test in QEMU with various amounts of fake entries commented out.
If you would like, I could send my altered boot.c for test purposes

However, if for some reason my patch cannot be included to SeaBIOS,
I will still be using it locally, at least for me it is very useful :)

===
Аладышев Константин aladyshev at nicevt.ru - Dec 28 2016
Is it possible in SeaBIOS to have working boot menu with amount of
boot devices more than 9? I mean in this case we have boot device
numbers with two digits, which is impossible to select. If I want to
select string 12 and try to enter "12", SeaBIOS recognizes "1" and
boot from device "1"...

Kevin O'Connor kevin at koconnor.net - Dec 29 2016
The internal code can handle more than 9 devices, but unfortunately
the menu code would need to be updated to display meaningful keys and
to check for them on entry.

Аладышев Константин aladyshev at nicevt.ru - Dec 29 2016
Will there be such a patch in the near future? Or this isn't in a plan
right now? Anyway, what is the right way to deal with this situation?
Display letters or symbols after "9"?  Or deal with two digit numbers?

Dennis Guse dennis.guse at alumni.tu-berlin.de - Dec 29 2016
I like your letters idea!

Kevin O'Connor kevin at koconnor.net - Dec 30 2016
Someone would need to submit a patch to make it work.  In the mean
time, 0 should work for 10, - for 11, = for 12, tab for 13 - see the
scan_to_keycode table in kbd.c for the rest.

Gerd Hoffmann kraxel at redhat.com - Jan 3 2017
Using letters is neat, we can continue to work with single key strokes
and can handle up to 36 entries.  Well, in practice more like 24
entries because vga text mode has 25 lines only.  Supporting more than
24 entries in a reasonable manner is more complex as we will need
support for scrolling the boot menu then.
===

Best regards,
Ivan Ivanov aka qmastery



More information about the SeaBIOS mailing list