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

Ivan Ivanov qmastery16 at gmail.com
Sat Jul 1 23:38:00 CEST 2017


Recently I discovered another area where this "35 devices" patch is useful.
When you need to debug a payload on the real coreboot-supported hardware,
to speed up the development you could include a lot of slightly different
versions of the same payload to your coreboot ROM, and then
could test them all after a single flashing, saving your time and
reducing the wearing out of SPI flash

Best regards,
Ivan Ivanov aka qmastery

2017-06-13 11:00 GMT+03:00 Ivan Ivanov <qmastery16 at gmail.com>:
> 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