Kernel Size Reduced, but Boot Time Remains Unchanged

Hi everyone,

I’ve been working on optimizing the boot time of my system by reducing the kernel size. I was able to decrease the kernel size from 11.7MB to 8.2MB, but the boot time remains the same

What I’ve Done So Far:

  • Disabled unnecessary kernel features and drivers.
  • Reduced debug-related options.
  • Optimized general kernel configurations under General setup.
  • Verified that the new kernel is being used.
    here’s my defconfig
CONFIG_LOCALVERSION="-6.7.0-devel"
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_PREEMPT=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_NAMESPACES=y
# CONFIG_TIME_NS is not set
CONFIG_USER_NS=y
# CONFIG_NET_NS is not set
CONFIG_RELAY=y
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
# CONFIG_KALLSYMS is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_ARCH_MXC=y
# CONFIG_ARM64_ERRATUM_832075 is not set
# CONFIG_ARM64_ERRATUM_1024718 is not set
# CONFIG_ARM64_ERRATUM_1418040 is not set
# CONFIG_ARM64_ERRATUM_1165522 is not set
# CONFIG_ARM64_ERRATUM_1530923 is not set
# CONFIG_ARM64_ERRATUM_2441007 is not set
# CONFIG_ARM64_ERRATUM_1286807 is not set
# CONFIG_ARM64_ERRATUM_1463225 is not set
# CONFIG_ARM64_ERRATUM_1542419 is not set
# CONFIG_ARM64_ERRATUM_1508412 is not set
# CONFIG_ARM64_ERRATUM_2441009 is not set
# CONFIG_ARM64_ERRATUM_2457168 is not set
# CONFIG_ARM64_ERRATUM_2054223 is not set
# CONFIG_ARM64_ERRATUM_2067961 is not set
# CONFIG_CAVIUM_ERRATUM_22375 is not set
# CONFIG_CAVIUM_ERRATUM_23144 is not set
# CONFIG_CAVIUM_ERRATUM_23154 is not set
# CONFIG_CAVIUM_ERRATUM_27456 is not set
# CONFIG_CAVIUM_ERRATUM_30115 is not set
# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set
# CONFIG_FUJITSU_ERRATUM_010001 is not set
# CONFIG_HISILICON_ERRATUM_161600802 is not set
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set
# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set
# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_ARM64_VA_BITS_48=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_SMT=y
CONFIG_NUMA=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_CRASH_DUMP=y
CONFIG_FORCE_MAX_ZONEORDER=14
CONFIG_COMPAT=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_ENERGY_MODEL=y
CONFIG_ARM_CPUIDLE=y
CONFIG_ARM_PSCI_CPUIDLE=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPUFREQ_DT=y
CONFIG_ACPI_CPPC_CPUFREQ=m
CONFIG_ARM_SCPI_CPUFREQ=y
CONFIG_ARM_IMX_CPUFREQ_DT=y
CONFIG_ARM_SCMI_CPUFREQ=y
CONFIG_ACPI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=y
CONFIG_ARM64_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
CONFIG_CRYPTO_SHA512_ARM64_CE=m
CONFIG_CRYPTO_SHA3_ARM64=m
CONFIG_CRYPTO_SM3_ARM64_CE=m
CONFIG_CRYPTO_GHASH_ARM64_CE=y
CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_PAGE_REPORTING=y
CONFIG_KSM=y
CONFIG_MEMORY_FAILURE=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_CMA=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IPV6_SIT=m
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_BRIDGE=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC2=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_CBS=m
CONFIG_NET_SCH_ETF=m
CONFIG_NET_SCH_TAPRIO=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_FLOWER=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_GACT=m
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_GATE=m
CONFIG_TSN=y
CONFIG_NET_SWITCHDEV=y
CONFIG_QRTR=m
CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_NET_PKTGEN=m
CONFIG_CAN=m
CONFIG_CAN_J1939=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_FLEXCAN=m
CONFIG_CAN_MCP251X=m
CONFIG_CAN_MCP251XFD=m
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=y
CONFIG_BT_LEDS=y
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBTUSB=m
# CONFIG_BT_HCIBTUSB_BCM is not set
# CONFIG_BT_HCIBTUSB_RTL is not set
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_CFG80211=m
CONFIG_NL80211_TESTMODE=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_LEDS=y
CONFIG_RFKILL=m
CONFIG_RFKILL_GPIO=m
CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_IMX6_HOST=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_BRCMSTB_GISB_ARB=y
CONFIG_VEXPRESS_CONFIG=y
CONFIG_ARM_SCMI_PROTOCOL=y
CONFIG_ARM_SCPI_PROTOCOL=y
CONFIG_EFI_CAPSULE_LOADER=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
CONFIG_IMX_DSP=y
CONFIG_IMX_SCU=y
CONFIG_IMX_SCU_PD=y
CONFIG_GNSS=m
CONFIG_GNSS_MTK_SERIAL=m
CONFIG_MTD=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_FASTMAP=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_NVME=m
CONFIG_SRAM=y
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
CONFIG_UACCE=m
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=m
CONFIG_SCSI_HISI_SAS=m
CONFIG_SCSI_HISI_SAS_PCI=m
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PLATFORM=m
CONFIG_ATA=m
CONFIG_SATA_AHCI=m
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_AHCI_IMX=m
CONFIG_AHCI_CEVA=m
CONFIG_AHCI_XGENE=m
CONFIG_AHCI_QORIQ=m
CONFIG_SATA_SIL24=m
CONFIG_PATA_PLATFORM=m
CONFIG_PATA_OF_PLATFORM=m
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_NETDEVICES=y
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_TUN=y
CONFIG_VETH=m
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
CONFIG_FEC=y
CONFIG_FSL_XGMAC_MDIO=y
CONFIG_FSL_DPAA2_SWITCH=m
CONFIG_FSL_ENETC_MDIO=y
# CONFIG_NET_VENDOR_GOOGLE is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_LITEX is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_MICROSOFT is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_BCM54140_PHY=m
CONFIG_BCM7XXX_PHY=m
CONFIG_INPHI_PHY=y
CONFIG_MARVELL_PHY=m
CONFIG_MARVELL_10G_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_MICROSEMI_PHY=m
CONFIG_NXP_TJA11XX_PHY=m
CONFIG_AT803X_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_PCS_XPCS=y
CONFIG_PPP=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MULTILINK=y
CONFIG_USB_NET_DRIVERS=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SR9800=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_QMI_WWAN=m
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
CONFIG_MWIFIEX_PCIE=m
CONFIG_MWIFIEX_USB=m
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
CONFIG_NET_FAILOVER=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_EXC3000=m
CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILITEK=m
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_COLIBRI_VF50=m
CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=m
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PWM_VIBRA=m
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DW=m
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_AMBA_PL011=m
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
CONFIG_SERIAL_XILINX_PS_UART=m
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS_SPI=y
CONFIG_TCG_TIS_I2C_INFINEON=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_GPIO=m
CONFIG_I2C_IMX=y
CONFIG_I2C_IMX_LPI2C=y
CONFIG_I2C_RK3X=y
CONFIG_I2C_RPBUS=y
CONFIG_I3C=m
CONFIG_SPI=y
CONFIG_SPI_CADENCE_QUADSPI=y
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DW_DMA=y
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_FSL_LPSPI=y
CONFIG_SPI_FSL_QUADSPI=y
CONFIG_SPI_NXP_FLEXSPI=y
CONFIG_SPI_IMX=y
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_SLAVE=y
CONFIG_SPI_SLAVE_TIME=y
CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
CONFIG_SPMI=m
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_GPIO=m
CONFIG_PINCTRL=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_MAX77620=y
CONFIG_PINCTRL_IMX8QM=y
CONFIG_PINCTRL_S32V_CORE=y
CONFIG_GPIO_ALTERA=m
CONFIG_GPIO_DWAPB=y
CONFIG_GPIO_MB86S7X=m
CONFIG_GPIO_PL061=y
CONFIG_GPIO_WCD934X=m
CONFIG_GPIO_XGENE=y
CONFIG_GPIO_FXL6408=y
CONFIG_GPIO_MAX732X=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_ADP5585=y
CONFIG_GPIO_BD9571MWV=m
CONFIG_GPIO_MAX77620=y
CONFIG_POWER_RESET_BRCMSTB=y
CONFIG_POWER_RESET_XGENE=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_BATTERY_SBS=m
CONFIG_BATTERY_BQ27XXX=y
CONFIG_BATTERY_MAX17042=m
CONFIG_CHARGER_BQ25890=m
CONFIG_CHARGER_BQ25980=m
CONFIG_SENSORS_ARM_SCMI=y
CONFIG_SENSORS_ARM_SCPI=y
CONFIG_SENSORS_GPIO_FAN=y
CONFIG_SENSORS_FP9931=y
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_PWM_FAN=m
CONFIG_SENSORS_INA2XX=m
CONFIG_SENSORS_INA3221=m
CONFIG_SENSORS_TMP102=m
CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=10000
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_THERMAL_EMULATION=y
CONFIG_IMX_SC_THERMAL=y
CONFIG_DEVICE_THERMAL=y
CONFIG_QORIQ_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_ARM_SP805_WATCHDOG=y
CONFIG_ARM_SBSA_WATCHDOG=y
CONFIG_DW_WATCHDOG=y
CONFIG_IMX_SC_WDT=y
CONFIG_ARM_SMC_WATCHDOG=y
CONFIG_MFD_ADP5585=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_IMX_MIX=y
CONFIG_MFD_HI6421_PMIC=y
CONFIG_MFD_FP9931=y
CONFIG_MFD_MAX77620=y
CONFIG_MFD_MT6397=m
CONFIG_MFD_RK808=m
CONFIG_MFD_ROHM_BD718XX=m
CONFIG_MFD_WCD934X=m
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MT6358=m
CONFIG_REGULATOR_MT6397=m
CONFIG_REGULATOR_PCA9450=y
CONFIG_REGULATOR_PF8X00=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_REGULATOR_PWM=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_TPS65132=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_IMX8_JPEG=m
CONFIG_VIDEO_AMPHION_VPU=y
CONFIG_VIDEO_MXC_CAPTURE=y
CONFIG_VIDEO_MX8_CAPTURE=y
CONFIG_VIDEO_MXC_CSI_CAMERA=m
CONFIG_MXC_MIPI_CSI=m
CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_OV5640=m
CONFIG_VIDEO_OV5645=m
CONFIG_VIDEO_MT9M114=m
CONFIG_VIDEO_AP1302=m
CONFIG_IMX_DPU_CORE=y
CONFIG_IMX_LCDIF_CORE=y
CONFIG_IMX_LCDIFV3_CORE=y
CONFIG_DRM=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
CONFIG_DRM_PANEL_ONTAT_KD50G21_40NT_A1=m
CONFIG_DRM_PANEL_SITRONIX_ST7703=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
CONFIG_DRM_PANEL_WKS_101WX001=m
CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_LONTIUM_LT8912B=m
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
CONFIG_DRM_FSL_IMX_LVDS_BRIDGE=y
CONFIG_DRM_NWL_MIPI_DSI=y
CONFIG_DRM_NXP_SEIKO_43WVFIG=y
CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_SII902X=m
CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_THINE_THC63LVD1024=m
CONFIG_DRM_TI_SN65DSI83=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_I2C_ADV7511=y
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_CDNS_HDCP=m
CONFIG_DRM_CDNS_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI_GP_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_ITE_IT6263=y
CONFIG_DRM_ITE_IT6161=y
CONFIG_DRM_IMX=y
CONFIG_DRM_IMX_LCDIF_MUX_DISPLAY=y
CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
CONFIG_DRM_IMX_LDB=y
CONFIG_DRM_IMX8QM_LDB=m
CONFIG_DRM_IMX_DW_MIPI_DSI=y
CONFIG_DRM_IMX_HDMI=y
CONFIG_DRM_IMX_SEC_DSIM=m
CONFIG_DRM_IMX_DCNANO=y
CONFIG_DRM_IMX_DCSS=y
CONFIG_DRM_IMX_CDNS_MHDP=m
CONFIG_DRM_MXSFB=y
CONFIG_DRM_LEGACY=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_ARMCLCD=y
CONFIG_FB_EFI=y
CONFIG_FB_MXC_EINK_V2_PANEL=m
CONFIG_BACKLIGHT_PWM=y
CONFIG_BACKLIGHT_LP855X=m
CONFIG_BACKLIGHT_GPIO=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_SOUND=y
CONFIG_SND=m
CONFIG_SND_ALOOP=m
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_SOC=m
CONFIG_SND_SOC_FSL_ASRC=m
CONFIG_SND_SOC_FSL_MQS=m
CONFIG_SND_SOC_FSL_MICFIL=m
CONFIG_SND_SOC_FSL_EASRC=m
CONFIG_SND_SOC_FSL_XCVR=m
CONFIG_SND_SOC_FSL_ESAI_CLIENT=m
CONFIG_SND_SOC_FSL_RPMSG=m
CONFIG_SND_IMX_SOC=m
CONFIG_SND_SOC_IMX_SGTL5000=m
CONFIG_SND_SOC_IMX_SPDIF=m
CONFIG_SND_SOC_FSL_ASOC_CARD=m
CONFIG_SND_SOC_IMX_AUDMIX=m
CONFIG_SND_SOC_IMX_HDMI=m
CONFIG_SND_SOC_IMX_CARD=m
CONFIG_SND_SOC_IMX_PDM_MIC=m
CONFIG_SND_SOC_IMX_PCM512X=m
CONFIG_SND_SOC_SOF_TOPLEVEL=y
CONFIG_SND_SOC_SOF_OF=m
CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
CONFIG_SND_SOC_SOF_IMX8=m
CONFIG_SND_SOC_SOF_IMX8M=m
CONFIG_SND_SOC_SOF_IMX8ULP=m
CONFIG_SND_SOC_AK4613=m
CONFIG_SND_SOC_BT_SCO=m
CONFIG_SND_SOC_CS42XX8_I2C=m
CONFIG_SND_SOC_DMIC=m
CONFIG_SND_SOC_ES7134=m
CONFIG_SND_SOC_ES7241=m
CONFIG_SND_SOC_GTM601=m
CONFIG_SND_SOC_MAX98357A=m
CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_RT5659=m
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
CONFIG_SND_SOC_SIMPLE_MUX=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_TAS571X=m
CONFIG_SND_SOC_WCD934X=m
CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SOC_WM8904=m
CONFIG_SND_SOC_WM8960=m
CONFIG_SND_SOC_WM8962=m
CONFIG_SND_SOC_WSA881X=m
CONFIG_SND_SOC_RPMSG_WM8960=m
CONFIG_SND_SOC_RPMSG_AK4497=m
CONFIG_SND_SOC_NAU8822=m
CONFIG_SND_SOC_LPASS_WSA_MACRO=m
CONFIG_SND_SOC_LPASS_VA_MACRO=m
CONFIG_SND_SIMPLE_CARD=m
CONFIG_SND_AUDIO_GRAPH_CARD=m
CONFIG_UHID=m
CONFIG_HID_ITE=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MULTITOUCH=m
CONFIG_USB_HIDDEV=y
CONFIG_I2C_HID_ACPI=m
CONFIG_I2C_HID_OF=m
CONFIG_USB_CONN_GPIO=m
CONFIG_USB=y
CONFIG_USB_OTG=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI_RENESAS=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
CONFIG_USB_HCD_TEST_MODE=y
CONFIG_USB_ACM=m
CONFIG_USB_STORAGE=m
CONFIG_USB_UAS=m
CONFIG_USB_CDNS_SUPPORT=y
CONFIG_USB_CDNS3=y
CONFIG_USB_CDNS3_GADGET=y
CONFIG_USB_CDNS3_HOST=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_PCI=m
# CONFIG_USB_DWC3_IMX8MP is not set
CONFIG_USB_DWC2=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_ISP1760=y
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_TEST=m
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_ONBOARD_HUB=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_MXS_PHY=y
CONFIG_USB_ULPI=y
CONFIG_USB_GADGET=y
CONFIG_USB_SNP_UDC_PLAT=y
CONFIG_USB_BDC_UDC=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_GADGETFS=m
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_USB_CDC_COMPOSITE=y
CONFIG_USB_G_ACM_MS=y
CONFIG_USB_RAW_GADGET=y
CONFIG_TYPEC=m
CONFIG_TYPEC_TCPM=m
CONFIG_TYPEC_TCPCI=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC_SWITCH_GPIO=m
CONFIG_MMC=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_ARMMMCI=y
# CONFIG_MMC_STM32_SDMMC is not set
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_OF_ESDHC=y
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_SDHCI_ESDHC_IMX=y
CONFIG_MMC_SDHCI_F_SDH30=y
CONFIG_MMC_SPI=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_EXYNOS=y
CONFIG_MMC_DW_HI3798CV200=y
CONFIG_MMC_DW_K3=y
CONFIG_MMC_MTK=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m
CONFIG_LEDS_LM3692X=m
CONFIG_LEDS_PCA9532=m
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_PWM=m
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_EDAC=y
CONFIG_EDAC_GHES=y
CONFIG_EDAC_SYNOPSYS=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_HYM8563=m
CONFIG_RTC_DRV_MAX77686=y
CONFIG_RTC_DRV_RK808=m
CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RV3028=m
CONFIG_RTC_DRV_RV8803=m
CONFIG_RTC_DRV_DS3232=y
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_PL031=y
CONFIG_RTC_DRV_SNVS=y
CONFIG_RTC_DRV_BBNSM=y
CONFIG_RTC_DRV_IMX_SC=y
CONFIG_RTC_DRV_IMX_RPMSG=y
CONFIG_DMADEVICES=y
CONFIG_BCM_SBA_RAID=m
CONFIG_FSL_EDMA=y
CONFIG_FSL_QDMA=m
CONFIG_FSL_EDMA_V3=y
CONFIG_IMX_SDMA=m
CONFIG_MV_XOR_V2=y
CONFIG_MXS_DMA=y
CONFIG_MXC_PXP_V3=y
CONFIG_PL330_DMA=y
CONFIG_QCOM_HIDMA_MGMT=y
CONFIG_QCOM_HIDMA=y
CONFIG_DMATEST=y
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
CONFIG_UIO=y
CONFIG_UIO_PCI_GENERIC=y
CONFIG_UIO_IVSHMEM=y
CONFIG_VFIO=y
CONFIG_VFIO_PCI=y
# CONFIG_VIRTIO_MENU is not set
# CONFIG_VHOST_MENU is not set
CONFIG_STAGING=y
CONFIG_R8188EU=m
CONFIG_STAGING_MEDIA=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_IMX_CAPTURE=y
# CONFIG_IMX8_MIPI_CSI2_SAM is not set
# CONFIG_DWC_MIPI_CSI2_HOST is not set
CONFIG_IMX8_MEDIA_DEVICE=m
CONFIG_FSL_PPFE=y
CONFIG_FSL_PPFE_UTIL_DISABLED=y
CONFIG_ETHOSU=y
CONFIG_CLK_VEXPRESS_OSC=y
CONFIG_COMMON_CLK_RK808=m
CONFIG_COMMON_CLK_SCMI=y
CONFIG_COMMON_CLK_SCPI=y
CONFIG_COMMON_CLK_CS2000_CP=y
CONFIG_COMMON_CLK_XGENE=y
CONFIG_COMMON_CLK_PWM=y
CONFIG_COMMON_CLK_VC5=y
CONFIG_CLK_IMX8MQ=y
CONFIG_CLK_IMX8QXP=y
CONFIG_ARCH_S32_CLK=y
CONFIG_HWSPINLOCK=y
CONFIG_ARM_MHU=y
CONFIG_IMX_MBOX=y
CONFIG_PLATFORM_MHU=y
CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SMMU_V3=y
CONFIG_REMOTEPROC=y
CONFIG_IMX_REMOTEPROC=y
CONFIG_RPMSG_CHAR=m
CONFIG_RPMSG_QCOM_GLINK_RPM=y
CONFIG_SOUNDWIRE=m
CONFIG_SOUNDWIRE_QCOM=m
CONFIG_FSL_RCPM=y
CONFIG_FSL_QIXIS=y
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_EXTCON_GPIO=m
CONFIG_EXTCON_PTN5150=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_MEMORY=y
CONFIG_IIO=y
CONFIG_FXLS8962AF_I2C=m
CONFIG_IMX8QXP_ADC=m
CONFIG_MAX9611=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_TI_ADS1015=m
CONFIG_FXAS21002C=y
CONFIG_FXOS8700_I2C=y
CONFIG_RPMSG_IIO_PEDOMETER=m
CONFIG_IIO_ST_LSM6DSX=y
CONFIG_SENSORS_ISL29018=y
CONFIG_VCNL4000=m
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_MPL3115=y
CONFIG_PWM=y
CONFIG_PWM_ADP5585=y
CONFIG_PWM_FSL_FTM=m
CONFIG_PWM_IMX27=y
CONFIG_PWM_RPCHIP=y
CONFIG_RESET_IMX7=y
CONFIG_RESET_IMX8ULP_SIM=y
CONFIG_PHY_XGENE=y
CONFIG_PHY_MIXEL_LVDS=m
CONFIG_PHY_MIXEL_LVDS_COMBO=m
CONFIG_PHY_CADENCE_SALVO=y
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
CONFIG_PHY_MIXEL_MIPI_DPHY=m
CONFIG_PHY_SAMSUNG_HDMI_PHY=m
CONFIG_PHY_FSL_IMX_PCIE=m
CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_ARM_SMMU_V3_PMU=m
CONFIG_FSL_IMX8_DDR_PMU=y
CONFIG_NVMEM_IMX_OCOTP=y
CONFIG_NVMEM_IMX_OCOTP_SCU=y
CONFIG_NVMEM_RMEM=m
CONFIG_TEE=y
CONFIG_OPTEE=y
CONFIG_MUX_MMIO=y
CONFIG_SLIM_QCOM_CTRL=m
CONFIG_MXC_SIM=y
# CONFIG_MXC_GPU_VIV is not set
CONFIG_MXC_EMVSIM=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_DNOTIFY is not set
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_VFAT_FS=y
CONFIG_EXFAT_FS=m
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_EFIVAR_FS=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_NFS_FS=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_TRUSTED_KEYS=m
# CONFIG_TRUSTED_KEYS_TPM is not set
# CONFIG_TRUSTED_KEYS_TEE is not set
CONFIG_SECURITY=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ECDH=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_TLS=m
CONFIG_CRYPTO_CFB=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_STREEBOG=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m
CONFIG_CRYPTO_DEV_FSL_CAAM=m
CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m
CONFIG_CRYPTO_DEV_CCREE=m
CONFIG_CRYPTO_DEV_HISI_SEC2=m
CONFIG_CRYPTO_DEV_HISI_ZIP=m
CONFIG_CRYPTO_DEV_HISI_HPRE=m
CONFIG_CRYPTO_DEV_HISI_TRNG=m
CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m
CONFIG_PACKING=y
CONFIG_INDIRECT_PIO=y
CONFIG_CRC_CCITT=m
CONFIG_CRC_T10DIF=y
CONFIG_CRC8=y
CONFIG_XZ_DEC=y
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=32
CONFIG_PRINTK_TIME=y
# CONFIG_DEBUG_BUGVERBOSE is not set
CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_FTRACE is not set
CONFIG_CORESIGHT=y
CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
CONFIG_CORESIGHT_SOURCE_ETM4X=y
CONFIG_MEMTEST=y

please tell me if there are any additional drivers to disable from this configuation

Observations:

  • Despite the size reduction, the time taken from power-on to user space initialization hasn’t improved.
  • No significant difference in dmesg timestamps compared to the previous (larger) kernel.
  • The system is running on an Apalis iMX8 QuadMax board.

NB: boot time ~ 13 still pretty long

also please tell me about any additional steps to reduce boot time

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello there!

When working with the Apalis iMX8 QuadMax module, optimizing boot time can be crucial for your application. Here are some key areas you might want to consider:

  1. U-Boot Configuration:

    • Consider disabling the debug UART console output if it’s not necessary for your application. This can help streamline the boot process. You can find more details on how to do this here.
    • Optimizing U-Boot environment settings can also contribute to faster boot times. More information is available here.
  2. System Controller Firmware (SCFW):

    • The SCU is responsible for pin configurations and initialization during boot. Understanding its role can help you optimize early boot behavior. Learn more about SCFW here.
  3. Boot Container:

    • Optimizing the boot container configuration can lead to faster initialization. If you’re using secure boot, reviewing the authentication settings is also important. Check out more details here.
  4. Hardware-Specific Considerations:

    • The Apalis iMX8 QuadMax module has specific power-up sequences that can affect boot time. It’s worth considering the timing of power rail initialization. More information can be found here.

If you have more specific details about your boot process or configuration, feel free to share them. I’d be happy to provide more targeted recommendations.

Would you like to explore any of these areas in more detail, or is there a specific aspect of boot time optimization you’re interested in?

Best regards,
Toradex AI Assistant.

Please, also check if these links can help you solve your problem:

基于 NXP iMX8 测试 Secure Boot 功能部署.

13 seconds it pretty good for Linux.
Did you suppress serial console messages with quiet in u-boot bootargs? Less serial console messages should improve boot timing a bit. See if you have quiet in tdxargs or defargs.

What about using sleep mode instead of power down? Only something like that could reduce wake up time drastically.

Yes I did all of that but still stuck at 13 no it’s pretty long I don’t think that you won’t your board to take 13 seconds to power on I want less than 10
Why isn’t my kernel size making any difference in boot time
I once reached 10.91 sec by the way before adding new services and features
NB my board is apalis imx8qm

Hi @rania !


I would like to kindly ask you to avoid using several threads to bring up the same topic. For example, I see you commented about your fastboot requirement on other 2 threads (Yocto Kernel Build Fails: No Rule to Make Target 'Image.zst and Falcon mode for imx8quad max). Doing this makes us a bit confused regarding where should we proceed with your case, since we have different pieces of the same context scattered across different topics.


Checking internally, I found a work done by one of our Domain Experts around making boot go faster. From that, I managed to get some pointers based on the optimization done for that specific case.

Disclaimer: this was done for Verdin iMX8M Mini and BSP 6.4.0, therefore the translation for your use case most probably won’t be 1:1. Nevertheless, this is certainly helpful.

Here is what we have:

Kernel configuration

Here is an example of defconfig for the kernel that made it go from 12 MB to 6.7 MB
kernel_config_dsi_in_reduction4 (147.6 KB)

Partial result:

root@verdin-imx8mm-14700070:~# systemd-analyze 
Startup finished in 742ms (kernel) + 3.783s (userspace) = 4.525s 
graphical.target reached after 2.912s in userspace

Starting the application as soon as possible

Not relying on systemd to start the application can make it start earlier:

root@verdin-imx8mm-14700070:~# cat /proc/cmdline 
root=PARTUUID=37ff9e95-02 ro rootwait console=ttymxc0,115200 consoleblank=0 quiet init=/home/root/preinit.sh
root@verdin-imx8mm-14700070:~# cat preinit.sh 
#!/bin/busybox sh
echo "-> Start Application..."
#Initialize your time-critical application here !
/home/root/guidemo &
echo "-> Application started !"
# start real init (systemd/SysVinit)

Be aware that starting the application this way, systemd is not monitoring its behavior and is not capable of restarting it if it crashes, or taking other corrective measures if needed. This is a thread of that you need to deal with for your case.

I think this was possible because the application what prepared for this (although I am not sure). So I don’t know how much this relates to your case.

Boot loader optimization

Disable boot delay in U-Boot:

setenv bootdelay -2

Bypass distroboot:

setenv bargs 'root=PARTUUID=37ff9e95-02 ro rootwait console=ttymxc0,115200 consoleblank=0 quiet init=/home/root/preinit.sh'
bootcmd=setenv bootargs $bargs;fatload mmc 0:1 $ramdisk_addr_r imx8mm.itb;bootm $ramdisk_addr_r

In this case, the boot was done with a FIT image:

cat kernel_fit_image.its
/dts-v1/;
/ {
        description = "Verdin iMX8MM FIT Image";
        #address-cells = <1>;
        images {
                kernel {
                        description = "Kernel";
                        data = /incbin/("Image.gz");
                        type = "kernel";
                        arch = "arm64";
                        os = "linux";
                        compression = "gzip";
                        load = <0x48200000>;
                        entry = <0x48200000>;
                        hash {
                                algo = "sha1";
                        };
                };
                fdt {
                        description = "DTB";
                        data = /incbin/("imx8mm-verdin-nonwifi-dev.dtb");
                        type = "flat_dt";
                        arch = "arm64";
                        compression = "none";
                        load = <0x43000000>;
                        entry = <0x43000000>;
                        hash {
                                algo = "sha1";
                        };
                };
/*
                initrd {
                        description = "Initrd";
                        data = /incbin/("core-image-minimal-nitrogen8m.ext2.gz");
                        type = "ramdisk";
                        arch = "arm64";
                        os = "linux";
                        compression = "none";
                        hash {
                                algo = "sha1";
                        };
                };
*/
        };
        configurations {
                default = "standard";
                standard {
                        description = "Standard Boot";
                        kernel = "kernel";
                        fdt = "fdt";
 /*                       ramdisk = "initrd";*/
                        hash {
                                algo = "sha1";
                        };
                };
        };
};
mkimage -f kernel_fit_image.its imx8mm.itb

Result

Here is the result that was measured with theses steps:

grabserial -d /dev/ttyverdin -t -m "U-Boot SPL" -e 10 -o boot.log
cat boot.log 
[0.000001 0.000001] 
[0.080000 0.079998] U-Boot SPL 2022.04-6.4.0+git.dc27426aa417 (Sep 25 2023 - 13:34:50 +0000)
[0.018048 0.018048] DDRINFO: start DRAM init
[0.031917 0.013869] DDRINFO: DRAM rate 3000MTS
[0.303697 0.271779] DDRINFO:ddrphy calibration done
[0.306362 0.002665] DDRINFO: ddrmix config done
[0.351683 0.045322] WDT:   Started watchdog@30280000 with servicing (60s timeout)
[0.354373 0.002689] Trying to boot from MMC1
[0.479635 0.125262] NOTICE:  BL31: v2.6(release):lf_v2.6-g3c1583ba0a
[0.482295 0.002660] NOTICE:  BL31: Built : 11:00:38, Nov 21 2022
[0.911635 0.429341] 
[0.911798 0.000162] 
[0.911884 0.000086] U-Boot 2022.04-6.4.0+git.dc27426aa417 (Sep 25 2023 - 13:34:50 +0000)
[0.930079 0.018195] 
[0.943611 0.013533] CPU:   i.MX8MMDL rev1.0 1600 MHz (running at 1200 MHz)
[0.960896 0.017285] CPU:   Industrial temperature grade (-40C to 105C) at 37C
[1.088169 0.127273] Reset cause: POR
[1.089197 0.001027] DRAM:  1 GiB
[1.183609 0.094412] Core:  114 devices, 21 uclasses, devicetree: separate
[1.185198 0.001589] WDT:   Started watchdog@30280000 with servicing (60s timeout)
[1.201462 0.016264] MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
[1.216694 0.015232] Loading Environment from MMC... OK
[1.263708 0.047014] In:    serial
[1.279810 0.016102] Out:   serial
[1.280106 0.000296] Err:   serial
[1.280344 0.000238] Model: Toradex 0060 Verdin iMX8M Mini DualLite 1GB WB IT V1.1C
[1.281466 0.001122] Serial#: 14700070
[1.281780 0.000314] Carrier: Toradex Verdin Development Board V1.1B, Serial# 10866136
[1.296568 0.014788] flash target is MMC:0
[1.327649 0.031081] Net:   eth0: ethernet@30be0000
[1.568681 0.241032] Fastboot: Normal
[1.569323 0.000642] Normal Boot
[1.615556 0.046233] 7050012 bytes read in 45 ms (149.4 MiB/s)
[1.616799 0.001243] ## Loading kernel from FIT Image at 50300000 ...
[1.632854 0.016055]    Using 'standard' configuration
[1.634097 0.001243]    Trying 'kernel' kernel subimage
[1.635712 0.001615]      Description:  Kernel
[1.636983 0.001271]      Type:         Kernel Image
[1.638300 0.001317]      Compression:  gzip compressed
[1.648668 0.010368]      Data Start:   0x503000bc
[1.650068 0.001400]      Data Size:    6989415 Bytes = 6.7 MiB
[1.651927 0.001859]      Architecture: AArch64
[1.652382 0.000456]      OS:           Linux
[1.652844 0.000462]      Load Address: 0x48200000
[1.663579 0.010735]      Entry Point:  0x48200000
[1.664612 0.001032]      Hash algo:    sha1
[1.665762 0.001150]      Hash value:   3107b42d7d571e776b8f34a2f0dd0f77f82ebc52
[1.668446 0.002684]    Verifying Hash Integrity ... sha1+ OK
[1.759918 0.091473] ## Loading fdt from FIT Image at 50300000 ...
[1.762120 0.002202]    Using 'standard' configuration
[1.763731 0.001610]    Trying 'fdt' fdt subimage
[1.765150 0.001419]      Description:  DTB
[1.776192 0.011042]      Type:         Flat Device Tree
[1.777885 0.001693]      Compression:  uncompressed
[1.779510 0.001625]      Data Start:   0x509aa800
[1.780288 0.000778]      Data Size:    58805 Bytes = 57.4 KiB
[1.781178 0.000890]      Architecture: AArch64
[1.791815 0.010637]      Load Address: 0x43000000
[1.793392 0.001577]      Hash algo:    sha1
[1.794559 0.001167]      Hash value:   c5bdfe992262c157d64a3cbe6f8dd088a2cadb37
[1.797231 0.002671]    Verifying Hash Integrity ... sha1+ OK
[1.798730 0.001499]    Loading fdt from 0x509aa800 to 0x43000000
[1.808334 0.009604]    Booting using the fdt blob at 0x43000000
[1.810000 0.001667]    Uncompressing Kernel Image
[2.079628 0.269627]    Loading Device Tree to 000000007defd000, end 000000007df0e5b4 ... OK
[2.081290 0.001662] Warning: /thermal-zones/cpu-thermal/cooling-maps/map0, cooling-device count 6
[2.097816 0.016526] Update node /thermal-zones/cpu-thermal/cooling-maps/map0, cooling-device prop
[2.100515 0.002699] 
[2.100581 0.000067] Starting kernel ...
[2.101026 0.000445] 
[2.671596 0.570570] [    0.485991] rtc-ds1307 0-0032: hctosys: unable to read the hardware clock
[2.688383 0.016787] [    0.505191] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc@0/bus@32c00000/mipi_dsi@32e10000 to encoder DSI-34: -517
[2.708472 0.020090] [    0.516922] imx_sec_dsim_drv 32e10000.mipi_dsi: Failed to attach bridge: 32e10000.mipi_dsi
[2.720184 0.011711] [    0.525200] imx_sec_dsim_drv 32e10000.mipi_dsi: failed to bind sec dsim bridge: -517
[2.879507 0.159323] -> Start Application...
[2.880566 0.001060] -> Application started !
[2.895512 0.014946] drm: drm_find_connector:222 35 LVDS
[2.897013 0.001501] 
[2.897077 0.000064] drm: drm_find_connector:230
[2.898190 0.001113] 
[2.898247 0.000056] drm: drm: connector 35: connected
[2.899559 0.001312] drm: drm_find_connector:241
[2.912351 0.012792] 
[2.912417 0.000066] drm: conn_id: 35
[2.913119 0.000702] drm: enc0 enc_id 34 conn enc_id 34
[2.914434 0.001315] drm: enc_id: 34
[2.915053 0.000618] drm: crtc_id: 33
[2.915704 0.000652] drm: crtc_idx: 0
[2.916356 0.000651] drm: drm: found planes 1
[2.917320 0.000964] drm: found plane 31
[2.918084 0.000764] drm: Found plane_id: 31 connector_id: 35 crtc_id: 33
[2.929305 0.011220] drm: 1280x800 (217mm X 136mm) pixel format RG16
[2.931113 0.001809] size 2048000 pitch 2560 offset 4096000
[2.932342 0.001229] size 2048000 pitch 2560 offset 6144000
[2.933313 0.000971] DRM subsystem and buffer mapped successfully
[2.944656 0.011343] drm drv: 0
[2.945111 0.000454] lv_example_get_started_1:35 0xaaaadd902290
[2.959459 0.014349] [    0.770761] systemd[1]: Failed to find module 'autofs4'
[2.961694 0.002235] drm: Flush done
[4.511469 1.549775] [    2.318978] atmel_mxt_ts 3-004a: __mxt_read_reg: i2c transfer failed (-6)
[4.527349 0.015880] [    2.337402] atmel_mxt_ts 3-004a: mxt_bootloader_read: i2c recv failed (-6)
[4.639380 0.112031] [    2.452137] atmel_mxt_ts 3-004a: mxt_bootloader_read: i2c recv failed (-6)
[7.743234 3.103855] 
[7.743375 0.000141] TDX Wayland with XWayland 6.4.0+build.8 (kirkstone) verdin-imx8mm-14700070 -
[7.746255 0.002879] Verdin-iMX8MM_Reference-Multimedia-Image
[7.747768 0.001513] 
[7.747820 0.000052] verdin-imx8mm-14700070 login:

From the grabserial’s log above, we can see that the “Start Application…”/“Application started” happened before the 3 seconds mark.

Conclusion

With this reference, I hope you got some possible ideas to make your system boot faster. And please note that the a different kernel compression was not needed. Also no falcon mode.

Best regards,

I sincerely apologize for any confusion caused. I didn’t mean to create multiple threads on the same topic. While the overall purpose is indeed optimizing boot time, the issues I raised—booting an image with a different compression algorithm and using Falcon mode—are distinct problems. That’s why I addressed them separately. I appreciate your support and will try to keep related discussions more consolidated moving forward

Hi @rania

Please, note that I didn’t mean to be harsh :slight_smile:
Also, you did well when creating one topic for each discussion. This is good for our internal organization of threads/tickets.
It is just that all of them turned into the same specific topic (improving the boot time) and at this point it was confusing. Just that :slight_smile:

Now let’s focus on your current task at hand. I am curious about how much the tips in my last message will help you :wink:

Best regards,

for the kernel optimization i couldn’t do much cause tehy are so different verdin and apalis
for the script i am stuck with this error :

[    3.974635] Freeing unused kernel memory: 2048K
[    3.979552] Run /home/root/startapp.sh as init process
-> Start Application...
[    4.291525] random: Pixii_App_1: uninitialized urandom read (4 bytes read)
[    6.475075] random: crng init done
SSL is supported!
Database opened successfully.
Query: "SELECT * FROM CallsData WHERE id IN (SELECT MAX(id) FROM CallsData GROUP BY name)"
Query: "SELECT addressLat FROM AddressData WHERE LOWER(addressType) = LOWER('home')"
Table created or already exists. 1
Table created or already exists. 2
Table created or already exists. 3
Table created or already exists. 4
Table created or already exists. 5
Table created or already exists. 6
Table created or already exists. 7
Table created or already exists. 8
Table created or already exists. 9
Table created or already exists. 10
Migrating model
Migrating model
Tables created already
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen, vnc, wayland-egl, wayland, webgl, xcb.

/home/root/startapp.sh: line 5:   223 Aborted                 /opt/Pixii_App_1/bin/Pixii_App_1
-> Application started!
Couldn't find an alternative telinit implementation to spawn.
[    6.698284] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
[    6.705995] SMP: stopping secondary CPUs
[    6.709932] Kernel Offset: disabled
[    6.713423] CPU features: 0x4,000820b1,20000842
[    6.717958] Memory Limit: none
[    6.721023] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 ]---

i am thinking about working with “LinuxFB” platform plugin but i can’t find it as you see

root@apalis-imx8-recovery-mode:/usr/lib/plugins/platforms# ls
libqminimal.so	libqoffscreen.so  libqvnc.so  libqwayland-egl.so  libqwayland-generic.so  libqwebgl.so	libqxcb.so

do you have any idea how to add the support for it

Hi @rania !

The error you are getting is related to your application. As previous outlined, your application might need to be prepared to be launched so early in the boot process for different reasons. Maybe some service was not ready yet… maybe your GUI framework needs something specific to start so early… These are just wild guesses.

All this is closed related to your application development.

If you need further help regarding Qt, you have a better chance of getting a good answer in Qt documentation and forums. (for example, this seems related and possibly useful: Boot time optimization techniques | Qt Forum)

This tells me that Qt tried, but couldn’t use the display. You might need to check want Qt needs.

And, as commented in a previous conversation, Toradex has some proven partners that can help you with it. I really recommend you checking them since I can see you have been in this task for a long while… These partners have lots of experience solving problems like yours and they would accelerate a lot your development.

Best regards,

with this script the application has successfully started but gets killed once systemd handles control:

#!/bin/bash
echo "-> Start Application..."

# Set the Qt platform plugin path
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/platforms

# Use the Linux framebuffer for Qt
export QT_QPA_PLATFORM=linuxfb

# Optional: Specify the framebuffer device explicitly
export QT_QPA_FB=/dev/fb0

# Enable debug logs for Qt plugins
export QT_DEBUG_PLUGINS=1

echo "QT_QPA_PLATFORM_PLUGIN_PATH: $QT_QPA_PLATFORM_PLUGIN_PATH"
echo "QT_QPA_PLATFORM: $QT_QPA_PLATFORM"
echo "QT_QPA_FB: $QT_QPA_FB"

# Ensure lock directories exist and are writable
mkdir -p /var/lock /run/lock
chmod 777 /var/lock /run/lock

# (Optional) Fix framebuffer permissions
chmod 666 /dev/fb0

# Start your Qt application
/opt/Pixii_App_1/bin/Pixii_App_1

echo "-> Application started!"

# Start the real init (systemd/SysVinit)
exec /sbin/init

i tried to launch the application with a service but with linuxfb instead of wayland so i can git rid of weston that take so much time to launch

[Unit]
Description=Pixii App
After=network.target

[Service]
ExecStart=/opt/Qt_APP_1/bin/Qt_App_1
Environment=QT_QPA_PLATFORM=linuxfb
Environment=QT_QPA_FB=/dev/fb0
Environment=QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/platforms
Environment=QT_DEBUG_PLUGINS=1

# TSLIB configuration for touchscreen support
Environment=TSLIB_TSEVENTTYPE='INPUT'
Environment=TSLIB_CALIBFILE='/run/media/mmcblk0p1/pointercal'
Environment=TSLIB_CONFFILE='/etc/ts.conf'
Environment=TSLIB_CONSOLEDEVICE='none'
Environment=TSLIB_FBDEVICE='/dev/fb0'
Environment=TSLIB_PLUGINDIR='/usr/lib/ts'
Environment=TSLIB_TSDEVICE='/dev/input/event0'
Environment=QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0
Environment=QT_QPA_FB_TSLIB=1
Environment=QT_QPA_EGLFS_TSLIB=1
Environment=QT_QPA_FB_DISABLE_INPUT=1

StandardOutput=journal
StandardError=journal
Restart=always
User=root

[Install]
WantedBy=graphical.target

here’s the service there’s something wrong with it
the qt app is literally frozen also my boot time is about 12 i thought it would be a lot shorter

the screen size is also bigger even though i added this package in qt-base_git.bbappend recipe

# Enable linuxfb support in Qt
PACKAGECONFIG[linuxfb] = "linuxfb"

PACKAGECONFIG[tslib] = "tslib"

boot

Hi @rania !

Looking at the information you are sharing, I am having a hard time trying to understand how I could help with your case, since what you need to do depends on your software and its dependencies.

How can I further help you?

Best regards,

hi henrique i solved the problem by working with eglfs (mask weston plus disabling systemd-udevd-settle) which the screen size problem cause linuxfb doesn’t support opengl for the frozen part it was my mistake i was missing with geoclue
but it didn’t improve my boot time much iam about ~11.7
so i am trying with sytemd again
this is my last boot tree

boot

and this is part of my service :slight_smile:

After=systemd-udevd.service
Wants=systemd-udevd.service

i’ll appreciate any other advice that may reduce more the boot time

Hi @rania !

Searching a bit, I found some other articles online about boot time optimization. I hope these are helpful:

The ones from Bootlin are quite long and should give you lots of pointers.

Best regards,