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

Reply via email to