I am considering using Rock 3C for a gauge design but I have read that the boot time is around 30s.
Does anyone know a way of speeding up the boot time? Ideally I would like to get it down to around 2s.
Rock 3C Boot speed
The system startup time is related to the startup medium and the peripheral device, which startup medium you used. btw 2s is very difficult for rock 3c, 20s is a normal time.
Play with systemd services. You can see the services which takes much time during boot with the command systemd-analyze blame
and systemd-analyze critical-chain
. Remove/uninstall services that you don’t need. With this I am able to boot under 3 seconds on Rock 4B+ (on EMMC). On Raspberry Pi 3B+, I was able to get boot time around 7 secs with this procedure.
graphical.target @2.247s
└─multi-user.target @2.247s
└─getty.target @2.247s
└─serial-getty@ttyFIQ0.service @2.246s
└─systemd-user-sessions.service @2.216s +18ms
└─network.target @2.212s
└─NetworkManager.service @1.685s +526ms
└─dbus.service @1.668s
└─basic.target @1.660s
└─sockets.target @1.660s
└─ssh.socket @1.659s
└─sysinit.target @1.642s
└─systemd-timesyncd.service @1.447s +194ms
└─systemd-tmpfiles-setup.service @1.380s +37ms
└─systemd-journal-flush.service @866ms +492ms
└─systemd-journald.service @656ms +204ms
└─systemd-journald.socket @609ms
└─system.slice @332ms
└─-.slice @332ms
Now the most of the time is spent in U-Boot. See my other thread how to reduce the time spent in U-Boot: Long time before ROCK 4 boots
Now only kernel image reading in U-Boot is slower.
Thanks Kolsi, your work on this looks like it will be very useful, thanks for sharing.