Add kernel command line argument to Torizon minimal

Hello

I am trying to add the following kernel command line argument to my Torizon minimal build:

clk-imx8mp.mcore_booted=1

This comes from the workaround explained here: How to Use RemoteProc | Toradex Developer Center

How can I add it in my Yocto build?

I tried using APPEND as explained here, but didn’t work. Also tried using an overlay as explained in Add kernel command-line arguments in torizon yocto build without success.

Hi, I’m the Toradex AI Assistant.

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


Adding Kernel Command Line Arguments to Torizon Yocto Build

To add the kernel command line argument clk-imx8mp.mcore_booted=1 to your Torizon minimal build, you have several approaches depending on your workflow.

Approach 1: Using TorizonCore Builder (Recommended)

If you’re building with Yocto but want to customize kernel arguments afterwards, you can use TorizonCore Builder (1). This approach works with an existing Torizon OS image:

Using Configuration YAML File

Create a tcbuild.yaml file with your kernel arguments (1):

customization:
  kernel:
    arguments:
      - clk-imx8mp.mcore_booted=1

(1)

Then build your custom image (1):

$ torizoncore-builder build --file tcbuild.yaml torizon-core-docker-<your-module>-Tezi_<version>.tar

(1)

Using Standalone Commands

Alternatively, you can use standalone TorizonCore Builder commands (1):

  1. Unpack your base image (1):
$ torizoncore-builder images unpack torizon-core-docker-<your-module>-Tezi_<version>.tar

(1)

  1. Set the custom kernel argument (1):
$ torizoncore-builder kernel set_custom_args clk-imx8mp.mcore_booted=1

(1)

  1. Merge changes (1):
$ torizoncore-builder union custom-branch

(1)

  1. Deploy the custom image (1):
$ torizoncore-builder deploy custom-branch --output-directory torizon-core-docker-<your-module>-Tezi_<version>.CUSTOM

(1)

Approach 2: Direct Yocto Integration

For integrating kernel arguments directly into your Yocto build, you’ll need to modify your Yocto configuration. Based on the community discussions (2), you can create a bbappend file for your kernel recipe.

Create a configuration fragment file (e.g., custom-cmdline.cfg) with your kernel argument (2):

# Custom kernel command line arguments
CONFIG_CMDLINE="clk-imx8mp.mcore_booted=1"
CONFIG_CMDLINE_EXTEND=y

Then add this configuration fragment to your kernel recipe’s SRC_URI (2).

Verification

After deploying your custom image, you can verify the kernel arguments are applied (1):

# cat /proc/cmdline

(1)

This should show your custom kernel argument clk-imx8mp.mcore_booted=1 in the command line.

Important Notes

  • The RemoteProc framework requires specific device tree overlays to be enabled (3)
  • Make sure you’re using the correct overlay for your hardware platform (3)
  • When building custom Yocto images, ensure version compatibility between different components (4)

The TorizonCore Builder approach is generally recommended as it provides a more streamlined workflow for kernel customizations while maintaining the benefits of the Torizon platform.

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.

The main problem was that I was updating over the air. The kernel command line arguments don’t get updated that way.

Added it to our uEnv.txt as explained here and it worked.

Hello @i.staehli,

Thanks for sharing the solution here.

Best Regards,
Bruno