[Please find the unmangled patch attached. I have no idea how to turn off line wrapping in Mozilla Thunderbird.]
Currently, even with `etc/threads` set to 2 in CBFS, the boot splash is only shown for a short period, while SeaBIOS detects the hard disk on the ASRock E350M1, which takes 10 seconds with this particular hard drive model.
So move the call to wait for the threads to finish further up, so it is before the instruction to disable the boot splash.
On the ASRock E350M1 the boot splash is shown the whole time now. Note, sometimes the GRUB menu from the MBR is not shown, and boot splash can still be seen. The screen only changes, once the Linux kernel boots. This seems to be a GRUB issue though [1].
[1] http://metadata.ftp-master.debian.org/changelogs//main/g/grub2/grub2_2.02~be...
Suggested-by: Kevin O'Connor kevin@koconnor.net Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de --- src/boot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/boot.c b/src/boot.c index 706b7df..af3c627 100644 --- a/src/boot.c +++ b/src/boot.c @@ -468,6 +468,7 @@ interactive_bootmenu(void) u32 menutime = romfile_loadint("etc/boot-menu-wait", DEFAULT_BOOTMENU_WAIT); enable_bootsplash(); int scan_code = get_keystroke(menutime); + wait_threads(); disable_bootsplash(); if (scan_code != menukey) return; @@ -476,7 +477,6 @@ interactive_bootmenu(void) ;
printf("Select boot device:\n\n"); - wait_threads();
// Show menu items int maxmenu = 0;
On Wed, Sep 14, 2016 at 06:20:34PM +0200, Paul Menzel wrote:
Currently, even with `etc/threads` set to 2 in CBFS, the boot splash is only shown for a short period, while SeaBIOS detects the hard disk on the ASRock E350M1, which takes 10 seconds with this particular hard drive model.
So move the call to wait for the threads to finish further up, so it is before the instruction to disable the boot splash.
On the ASRock E350M1 the boot splash is shown the whole time now. Note, sometimes the GRUB menu from the MBR is not shown, and boot splash can still be seen. The screen only changes, once the Linux kernel boots. This seems to be a GRUB issue though [1].
[1] http://metadata.ftp-master.debian.org/changelogs//main/g/grub2/grub2_2.02~be...
Suggested-by: Kevin O'Connor kevin@koconnor.net Signed-off-by: Paul Menzel pmenzel@molgen.mpg.de
src/boot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/boot.c b/src/boot.c index 706b7df..af3c627 100644 --- a/src/boot.c +++ b/src/boot.c @@ -468,6 +468,7 @@ interactive_bootmenu(void) u32 menutime = romfile_loadint("etc/boot-menu-wait", DEFAULT_BOOTMENU_WAIT); enable_bootsplash(); int scan_code = get_keystroke(menutime);
- wait_threads(); disable_bootsplash(); if (scan_code != menukey) return;
If wait_threads() is moved up, then the user may not get immediate feedback from hitting the boot menu key. So, if it takes 10 seconds to bring up the drive and the user hits ESC in the first second, then they'll wait another 9 seconds before knowing that the ESC took.
-Kevin