BIOS speedup

Elie De Brauwer
Elie De Brauwer New Member Posts: 35
I have been doing some attempts to make the upboard boot fast, and at this moment I am able to boot into running Xorg with running Qt application into about 6.5 seconds. The problem is that I'm starting to run out of low hanging fruit, the recipe I followed is quite simple, throw out all the junk I don't need. Systemd is reporting the following
root@c:~# systemd-analyze  
Startup finished in 4.222s (firmware) + 598ms (loader) + 838ms (kernel) + 796ms (userspace) = 6.456s

Meaning that 65% of my boot budget is wasted in the BIOS (10% in GRUB, 12.5% in the kernel and 12.5% in userland). I've tried looking for some low hanging fruit there, but I guess it's probably just silly timeouts, there's for example a one second timeout waiting for a keypress for boot selection (which can't be set to zero), and showing the splash screen also takes up some time. Which possibilities are there to get the up-board to get faster beyond the BIOS ?

Comments

  • Elie De Brauwer
    Elie De Brauwer New Member Posts: 35
    And by the way, is there a possibility to either disable the splash screen, or replace it by a custom image ?
  • Aling
    Aling Guest Posts: 561 admin
    In case you use the UP board in your commercialised project, you may want to have a custom logo. The UP team will charge NRE for custom BIOS development and assist you to make correct BIOS reflash. You can drop email to customization@aaeon.eu .
    If its only to change the logo its few hundred dollars
  • Elie De Brauwer
    Elie De Brauwer New Member Posts: 35
    -1 for trying to sell things which should've been part of the product in the first place.

    I think anybody using the up-board in a custom project with a screen attached would be thrilled to have it boot faster and have the means to modify/disable the splash screen.
  • Javier Arteaga
    Javier Arteaga Emutex Posts: 163 mod
    Hi ElieDeBrauwer,

    I think Aling's response covered the "official BIOS release with custom splash image" angle. For your usecase, there are a few things you might be able to do from the current BIOS settings:

    Boot > Quiet boot
    enabling this should show boot output instead of the splash image. I'm not sure if drawing the splash introduces much boot overhead, though. It's probably more a mix of timeouts and device initialization as you said.

    CRB Boot > Setup Prompt Timeout (requires the engineering BIOS password to access)
    that's the one-second timeout you were referring to. It seems it can be set to 0, although I can't test how well that works myself right now. Unless you're prepared to externally reflash the BIOS chip in the worst-case scenario, I'd advise not to take the risk for now.

    It's plausible that some other engineering BIOS tweaks might result in shorter BIOS boot times (e.g. by disabling controllers you won't use). Again, please be cautious. We could verify if a given setting is safe for you if you're unsure.

    Hope that's useful.
  • Elie De Brauwer
    Elie De Brauwer New Member Posts: 35
    Jarteaga,

    Thanks for your input.

    - Quiet boot , is a nice suggestion, I just gave this a try and then it shows the American megatrends logo, and this already shaves off 200 miliseconds (jay !).
    - CRB BOOT > Setup Prompt Timeout, is something I already spotted but this timeout cannot be set to 0 ... (which imho is indeed a full second of 'dead weight'), probably responsible for 15% of my boot time budget.
  • Javier Arteaga
    Javier Arteaga Emutex Posts: 163 mod
    CRB BOOT > Setup Prompt Timeout, is something I already spotted but this timeout cannot be set to 0 ... (which imho is indeed a full second of 'dead weight'), probably responsible for 15% of my boot time budget.
    Hmm, looks like you're right here. It isn't clear from the setting help text, but 0 is actually invalid.

    On some other platforms, I remember seeing on occasion a "Fast Boot" option that overrides the "Setup Prompt Timeout" entirely and adds almost no delay (yet still allows you to hold Del or Esc before powering on the device to get inside the menu). I can't find anything like that, so it looks like this might just be a limitation of the AMI base for the current BIOS.
  • Elie De Brauwer
    Elie De Brauwer New Member Posts: 35
    Indeed I've also seen that on other platforms and/or bootloaders. Which was also a reason for starting this thread. This is imho a shortcoming of the current BIOS.