Reducing boot times with buildroot
-
Hello, I'll start off with saying I'm very impressed with the product (Omega2S+) and I'm liking it so far. There's just one problem... the boot times are unbearable. I know the product is designed for IoT applications and the like, but I would like to use it as a simple Linux board. I haven't found a more compact and complete board on the market, so that's a plus for this product.
So, straight to the question. Using buildroot on the Raspberry Pi Zero 2 W I get boot times of about 7 seconds. The omega boots in like ~40. Is there a way I can reduce the boot time? I don't need everything OpenWRT offers, and if possible I'd like to use buildroot directly (which I'm guessing might be possible since OpenWRT is a fork of buildroot).Is there anyway I can achieve my goal of reducing boot times to less than 10 seconds?
I only need libc and serial (uart) to work in those 10 seconds. I'd like wifi and bluetooth (if possible) but those can take however long they like.Thanks in advance.
-
Basically, OpenWrt is just an enhanced buildroot, and pproduces an ordinary Linux, just with a lot of network gear related services. So I‘d guess you can just disable a lot of stuff via ˋ/etc/init.d/xxx disableˋ to bring boot time down.
Maybe have a look at this thread - while the topic is not reducing overall boot time it is about getting control over a display as early as possible. You can read there that the kernel is starting about 5 secs from powerup, so you should get close to that when you only need UARTs.
-
@TGMM I'm very skeptical that you could get a boot time sub 10secs, however as @luz pointed out you can reduce boot time by disabling init scripts. There are a lot of drivers that load during the boot process, many of which probe hardware so there may be some time to be saved there. Also reduce to a minimum the services/daemons you run, basically what @luz was saying. Stock firmware loads a lot of stuff you may not need.
Connecting/scanning for WiFI takes some time so if you don't need it, disable it.