[ARM EFI] Slow boot due to generic-efi-post-install?

Hi,

After moving from “legacy” boot et UEFI boot on my Pinebook Pro, I found the boot process to be much longer than previously.

I was expecting some overhead due to the addional loading of grub, but that was not it.

I dig a litlle and found out that the generic-efi-post-install.service is regenerating grub config at every boot…

Is this supposed to happen ? Isn’t grub update a job normally left to kernel packages post-install scripts ? What’s the purpose of this service ?

So well I juste disabled it and now my system boots faster.

I don’t know why it is slower, but it is. I imagine, it’s because the EFI system does some probing with the kernel, that regular installs, using dtbs, don’t have to.

Indeed, that should not be done on each boot. Will fix in a package update. Thanks.

My fear would be that the dtb equivalent provided by tow-boot might not be as accurate, or up-to-date, as the ones coming with the Manjaro kernel.

I have already noticed one small difference :

Legacy boot :

  • eMMC is mmcblk2
  • SD card is mmcblk1

EFI boot :

  • eMMC is mmcblk0
  • SD card is mmcblk1

Although the 2nd version makes more sense to me, well, that proves that “some things behave differently”.

I only fear that tow-boot feeds some hardware settings that might adversely affect performance.

That is a concern. Tow-boot uses older versions of u-boot (and uboot itself does not sync the DTSs that often) and is also “opinionated” in it’s distribution, meaning that it does change some things the developer finds is not optimal in u-boot.

What version of tow-boot do you use BTW ? The more recent I found is 2021-10-005, but it was actually released on Agust 2022.

Also I understand that the EFI Manjaro images don’t install tow-boot by themselves, and it’s the user’s job to do it before installing Manjaro, am I mistaken ?

That’s also the one I use. It’s the newest there, which is based on u-boot 2021.10 (so a year old) and it’s dtbs are likely older than that.

So, would you suggest moving to vanilla u-boot instead ? (Provided it has UEFI support ?)

I’m no expert in how to get an EFI supported u-boot on SPI. As far as I’ve read, it requires special builds.

I just stick with tow-boot as it works.

PS: Update to generic-efi-post-install pushed. Should disable the service after first boot.

@Strit : What do you feel about the performance impact in UEFI mode ? I’m under the impression - but thats’ just my impression, I didn’t perform benchmarks - that my Pinebook Pro running UEFI has taken such a performance hit that I’m considering reverting back to legacy “syslinux” mode right away.

Even though it actually “works”…

That’s already not a very speedy machine, I can’t afford to lose 30% of performance or more just because of a boot method choice…

(Assuming that the Manjaro ARM team plans to keep maintaining both legacy and UEFI versions…)

The machine it self is not meant to be performant, so I don’t use it for anything that requires performance. I mostly use it for testing updates. Some of the performance issue could just be that the DTB is old compared to what’s in newer kernels.

We will be maintaining both until it’s not viable anymore.

Thansk for the reply @Strit. I actually love my Pinebook Pro little machine, sleek, light, fanless, and for now I use it as my daily general purpose station - web, email and so…
Not for stuff that would actually need performance, virtualization or whatnot of course.
But for the rest I find the overall performance to be “acceptable”.
But I love the idea of using something else than an Intel architecture computer.
That’s why well, I can’t afford to having it slowing down to a crawl.

1 Like