
On Sat, 14 Jan 2023 at 19:26, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 1/14/23 11:06, Heinrich Schuchardt wrote:
On 1/5/23 03:58, Masahisa Kojima wrote:
The current eficonfig menu does not support vertical scroll, so it can not display the menu entries greater than the console row size.
This commit add the vertial scroll support. The console size is retrieved by SIMPLE_TEXT_OUTPUT_PROTOCOL.QueryMode() service, then calculates the row size for menu entry by subtracting menu header and description row size from the console row size. "start" and "end" are added in the efimenu structure. "start" keeps the menu entry index at the top, "end" keeps the bottom menu entry index. item_data_print() menu function only draws the menu entry between "start" and "end".
Signed-off-by: Masahisa Kojima masahisa.kojima@linaro.org
Hello Masahisa,
unfortunately this does not work.
I create a boot.scr script to create 100 boot options:
#!/bin/bash a=0 while [ $a -lt 100 ]; do b="0000$a" c=${b: -4} echo "efidebug boot add -b $c label$c host 0:1 dtbdump.efi" >> boot.txt a=$(( $a + 1 )) done mkimage -T script -n foo -d boot.txt boot.scr rm boot.txt
In sandbox_defconfig:
host bind 0 ../sandbox.img host load 0:1 $kernel_addr_r boot.scr source $kernel_addr_r efidebug boot dump
Now I have 100 boot options.
I start 'eficonfig'. Whenever I push the up or down key this immediately leads to exiting the command and I am back at the console prompt.
Best regards
Heinrich
The problem seems to be that the space for variables is exhausted. The user should see an error message in this case.
I will check the error cases and add error messages. I will send a fix as a separate series.
With CONFIG_EFI_VAR_BUF_SIZE=65536 the navigation works but I only see entries label0000 - label0095. Where are the other entries?
Current eficonfig menu can have at most 99 entries. I guess the following menu entries appears in your environment. - 96 entries (label0000 - label0095) - 2 entries ("host 0:1" and "host 0:2" - 1 entry ("Quit")
The current maximum number of menu entries(99) is debatable, I think the menu should have a predefined maximum number.
Thank you for your review and testing.
Best Regards, Masahisa Kojima
I have been adding CONFIG_LEGACY_IMAGE_FORMAT=y to read the boot.scr file.
Best regards
Heinrich