Hello systemd developers, I'm working on minimizing user space boot time with systemd on an embedded board and would appreciate any advice or insights from the community. Setup details:
* Hardware: sam9x75-curiosity-sd (ARMv5), booting from SD card * Distro: Yocto/Poky, custom minimal image * Storage: root on /dev/root (SD), /boot on /dev/mmcblk0p1 * Systemd: extensive minimization * All optional features/daemons are disabled (via Meson and PACKAGECONFIG), no LVM, RAID, or swap * Only essential units (fastboot.target, custom hmi.service, minimal getty and dbus) * No unnecessary entries in /etc/fstab; root and /boot only * Kernel configured for minimal drivers and fast boot * No unnecessary settle or legacy storage services remain enabled Boot logs: # systemd-analyze time Startup finished in 771ms (kernel) + 2.715s (userspace) = 3.486s fastboot.target reached after 2.231s in userspace. # systemd-analyze blame 422ms hmi.service # systemd-analyze critical-chain fastboot.target fastboot.target @2.231s # systemctl get-default fastboot.target # ls /lib/systemd/system/fastboot.target.wants/ console-getty.service dbus.socket hmi.service I've reviewed systemd.io/OPTIMIZATIONS<https://systemd.io/OPTIMIZATIONS/> and applied all recommendations relevant to my scenario (disabling settle services, removing legacy storage stacks, fixing locale, etc.). Question: Given the above, is it realistic to further reduce systemd userspace boot time below 2 seconds on such an SD-boot, minimal embedded board? Are there advanced tunables, overlooked dependencies, or hardware-specific factors I should consider to claw back a few hundred milliseconds? Any experience or pointers—especially from similar setups—are very welcome. Thanks in advance! With Best Regards, Dharma B