Disable CPU idle state 2 at torizoncore build stage

How to disable CPU idle state 2 when using torizoncore build process ?

I think about to create an overlay to

/sys/devices/system/cpu/cpu0/cpuidle/state2/disable

but i not very sure ?

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I’d be glad to help! Could you let me know which OS and version you are using, along with your hardware setup? You can run the tdx-info command on your device to get this information - more details are available at Getting Device Information with Tdx-Info | Toradex Developer Center

This will help me provide you with the most accurate guidance for disabling CPU idle state 2 using the TorizonCore Builder process.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI

her my config:

Bootloader: U-Boot

Kernel version: 6.6.108-7.4.0-00057-g451f1e35226f #1-Torizon PREEMPT Mon Jun 30 14:11:55 UTC 2025
Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/645b82633c4d0690062609e71291a418f358ac202f39884dc001acf3994f34a3/0 console=
Distro name: NAME=“Torizon OS Upstream”
Distro version: VERSION_ID=7.4.0-build.28
Distro variant: VARIANT=“Docker”
Hostname: colibri-imx6ull-emmc-08641246

Hardware info

HW model: Toradex Colibri iMX6ULL 1GB (eMMC) on Colibri Evaluation Board V3
Toradex version: 0062 V1.1D
Serial number: 08641246
Processor arch: armv7l

Thank you for providing your system information! For your Colibri iMX6ULL running Torizon OS 7.4.0, you can disable CPU idle state 2 using TorizonCore Builder through kernel arguments rather than device tree overlays.

Recommended Approach: Custom Kernel Arguments

The most effective way to disable CPU idle state 2 is by using the kernel set_custom_args command in TorizonCore Builder (1). This approach modifies kernel boot parameters to control CPU idle behavior.

Steps to Disable CPU Idle State 2

  1. Use the kernel command to set custom arguments (1):
$ torizoncore-builder kernel set_custom_args cpuidle.off=1

(1)

Alternatively, you can disable specific idle states:

$ torizoncore-builder kernel set_custom_args processor.max_cstate=1

(1)

  1. Build and deploy your custom image using TorizonCore Builder (2).

Why This Approach Works Better

The kernel set_custom_args command is designed specifically for this type of system-level configuration (1). It applies a device tree overlay internally (named custom-kargs_overlay.dtbo) to modify kernel arguments (1), which is more reliable than trying to modify sysfs entries through overlays.

Alternative: Device Tree Overlay Approach

If you prefer the overlay approach you mentioned, you would need to create a device tree overlay that sets up a script or service to write to the sysfs path at boot time, but this is more complex and less reliable than using kernel arguments.

The TorizonCore Builder tool provides comprehensive support for OS customization (2), and the kernel arguments approach is the recommended method for CPU power management settings.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI

Can I integrate :

torizoncore-builder kernel set_custom_args cpuidle.off=1

in yaml build config file ?

Yes, you can integrate kernel arguments directly into your YAML configuration file! This is actually the recommended approach for production builds (1).

YAML Configuration for Kernel Arguments

Here’s how to add the cpuidle.off=1 kernel argument to your tcbuild.yaml file (1):

# Sample configuration file:
input:
  easy-installer:
    local: images/torizon-core-docker-colibri-imx6-Tezi_5.3.0+build.7.tar
# Sample customization: include or change (if already exists) key1 and key2 kernel arguments
customization:
  kernel:
    arguments:
      - cpuidle.off=1
output:
  easy-installer:
    local: torizon-core-docker-colibri-imx6-Tezi_5.3.0.CUSTOM

(2)

Multiple Kernel Arguments

If you need to add multiple kernel arguments, you can include them as separate list items (1):

customization:
  kernel:
    arguments:
      - cpuidle.off=1
      - console=ttyLP0,115200
      - loglevel=3

(1)

Building the Custom Image

Once you have your YAML configuration file ready, build your custom image with (2):

$ torizoncore-builder build

(2)

Benefits of YAML Approach

Using the YAML configuration file approach offers several advantages (2):

  • Reproducible builds: The configuration can be version controlled
  • Production-ready: Recommended for production programming and CI/CD pipelines
  • Single command: Everything is configured in one step

This method internally applies the same device tree overlay (custom-kargs_overlay.dtbo) that the standalone kernel set_custom_args command would create (2).

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.