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@gmail.com:
2017-06-12 22:04 GMT+03:00 Kevin O'Connor kevin@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