Torizoncore-builder isolate command returns "Unable to get user changes"

Here’s the result of tdx-info:

Software summary
------------------------------------------------------------
Bootloader:               U-Boot
Kernel version:           6.6.94-7.3.0-g5a62539de8f9 #1-Torizon SMP PREEMPT Wed Jun 25 09:14: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/7c2e7ae9d6b97be33240860d531904fd14682908bb937a91111193348bfa4e69/0
Distro name:              NAME="Torizon OS"
Distro version:           VERSION_ID=7.3.0-build.18
Distro variant:           VARIANT="Docker"
Hostname:                 verdin-imx8mp-15645975
------------------------------------------------------------

Hardware info
------------------------------------------------------------
HW model:                 Toradex Verdin iMX8M Plus WB on Dahlia Board
Toradex version:          0058 V1.1B
Serial number:            15645975
Processor arch:           aarch64
------------------------------------------------------------

I am running a custom image of the Torizon OS on a Verdin iMX8M Plus.

I’m trying to capture changes to my /etc/ directory, specifically credentials for the AWS Elastic Container Registry. I’ve successfully made the changes and confirmed that they work, and now I need the changes in order to bake them into a Torizon OS image to be flashed onto other devices. However, upon following the instructions in the Capturing Changes in the Configuration of a Board on Torizon OS article, I get the following result:

hayk@haykpc:~/tcbdir$ torizoncore-builder isolate --remote-host 192.168.1.93 --remote-username torizon --remote-password ****** --changes-directory changes1
Unable to get user changes

This is after the command hangs for about 5 minutes with no results. The changes1 directory is created, but it’s empty. I am definitely able to ssh into the device with the username, host, and password that I provide to the tool. Any ideas?

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

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


Troubleshooting the isolate Command

The issue you’re experiencing with the isolate command hanging and producing an empty changes1 directory suggests there may be connectivity or authentication problems. Let me help you troubleshoot this systematically.

1. Verify SSH Connection

First, confirm that manual SSH access works with the exact credentials you’re providing to TorizonCore Builder(1):

ssh torizon@192.168.1.93

2. Check TorizonCore Builder Version

Since you’re running Torizon OS 7.3.0, ensure you’re using a compatible version of TorizonCore Builder. The isolate command has specific requirements for SSH connectivity(2).

3. Add Verbose Output

Try running the command with verbose output to get more diagnostic information(2):

torizoncore-builder --verbose isolate --remote-host 192.168.1.93 --remote-username torizon --remote-password ****** --changes-directory changes1

4. Alternative SSH Port

If your device uses a non-standard SSH port, specify it explicitly(2):

torizoncore-builder isolate --remote-host 192.168.1.93 --remote-username torizon --remote-password ****** --remote-port 22 --changes-directory changes1

5. Network Interface Issues

If you have multiple network interfaces, you may need to specify the mDNS source(2):

torizoncore-builder isolate --remote-host 192.168.1.93 --remote-username torizon --remote-password ****** --mdns-source 192.168.1.93 --changes-directory changes1

6. Force Directory Recreation

Try using the --force flag to ensure the changes directory is properly initialized(2):

torizoncore-builder isolate --remote-host 192.168.1.93 --remote-username torizon --remote-password ****** --changes-directory changes1 --force

7. What the isolate Command Captures

The isolate command specifically captures configuration changes in the /etc directory, including modifications, additions, deletions, and file/directory permissions and ownership(1). It ignores certain system files like SSH host keys and machine-specific identifiers(2).

8. Expected Behavior

When successful, you should see output similar to(1):

Changes in /etc successfully isolated.

The command creates a .tcattr metadata file to preserve file permissions and ownership(2).

9. Alternative Approach

If the issue persists, you can try manually copying the changed files and then using the union command approach described in the documentation(1).

If none of these solutions resolve the issue, the problem may be related to network connectivity, firewall settings, or SSH configuration on either the host or target device.

Best regards, Toradex AI Assistant.

1 Like
  1. Verify SSH Connection

I have verified that I can connect with the provided ssh credentials:

hayk@haykpc:~$ ssh torizon@192.168.1.93
torizon@192.168.1.93's password: 
Last login: Thu Aug 28 20:36:30 2025 from 192.168.1.73
  1. Check TorizonCore Builder Version

I am running TorizonCore Builder Version 3

hayk@haykpc:~/tcbdir$ source tcb-env-setup.sh 
You may have an outdated version installed. Would you like to check for updates online? [y/n] y
Setting up TorizonCore Builder with version 3.

Pulling TorizonCore Builder...
3: Pulling from torizon/torizoncore-builder
Digest: sha256:3d644246569e8c199dd35c1a1692b6a13219c80ffe95ebde697cd07d4afa7f2b
Status: Image is up to date for torizon/torizoncore-builder:3
docker.io/torizon/torizoncore-builder:3
Done!

Setup complete! TorizonCore Builder is now ready to use.
TorizonCore Builder internal status and image customizations will be stored in Docker volume named 'storage'.
********************
Important: When you run TorizonCore Builder, the tool can only access the files inside the current working directory. Files and directories outside of the current working directory, or links to files and directories outside of the current working directory, won't be visible to TorizonCore Builder. So please make sure that, when running TorizonCore Builder, all files and directories passed as parameters are within the current working directory.
Your current working directory is: /home/hayk/tcbdir
********************
For more information, run 'torizoncore-builder -h' or go to https://developer.toradex.com/knowledge-base/torizoncore-builder-tool
hayk@haykpc:~/tcbdir$ 
  1. Add Verbose Output

With verbose output, after some time, I get the following error:

2025-08-28 20:44:30,025 - paramiko.transport - DEBUG - [chan 0] Unhandled channel request "keepalive@openssh.com"
2025-08-28 20:44:45,071 - paramiko.transport - DEBUG - [chan 0] Unhandled channel request "keepalive@openssh.com"
2025-08-28 20:44:58,205 - paramiko.transport - DEBUG - [chan 0] EOF received (0)
2025-08-28 20:44:58,205 - paramiko.transport - DEBUG - [chan 0] EOF sent (0)
2025-08-28 20:44:58,206 - root - ERROR - Unable to get user changes
2025-08-28 20:44:58,207 - root - INFO - 2384
Password: 
sudo: timed out reading password
sudo: a password is required
2025-08-28 20:44:58,208 - root - DEBUG - Traceback (most recent call last):
  File "/builder/torizoncore-builder", line 231, in <module>
    mainargs.func(mainargs)
  File "/builder/tcbuilder/cli/isolate.py", line 55, in isolate_subcommand
    ret = isolate.isolate_user_changes(changes_dir,
  File "/builder/tcbuilder/backend/isolate.py", line 158, in isolate_user_changes
    raise OperationFailureError('Unable to get user changes',
tcbuilder.errors.OperationFailureError: Unable to get user changes

It looks like the issue is password related?

Greetings @Hayk,

Based on the verbose logs you shared, this appears to be a known issue. In Torizon OS 7.3.0 we are using a newer version of sudo. This newer version is causing a timeout issue with the isolate command of TorizonCore Builder.

As I said this issue is already known to us and our team is working on this issue presently.

Best Regards,
Jeremias

1 Like

Great, thank you Jeremias. Is there anyplace I can monitor in order to be notified when a fix might be available?

Alternatively, will an older version of Torizon OS work? 7.2.0?

Great, thank you Jeremias. Is there anyplace I can monitor in order to be notified when a fix might be available?

We don’t yet have this issue publicly published anywhere, due to it being very recently discovered by us. I’ll check internally to see if it’s possible to do so.

That said since our team is already working on resolving the issue, it might get resolved before it gets published in our issue tracker. In any case I’ll try to notify you myself on this thread if a fix for this issue becomes available.

Alternatively, will an older version of Torizon OS work? 7.2.0?

It should. We never got reports of this issue before 7.3.0. Which makes sense since our current investigation seems to point to the newer version of sudo as the cause. Which was only introduced in 7.3.0 onward.

Best Regards,
Jeremias

1 Like

Sounds good, appreciate the help Jeremias. A notification on this thread would be amazing once you hear of a fix for the issue. For the time being I’ll stick with version 7.2.0.

Thank you for your understanding regarding this issue. I’ll reply back once I have an update to share here.

1 Like

Hi,

as we’re facing the same issue, is there any news about resolution?

Thanks,

Diego

Hi @d.moimas,

This issue is still being worked on by our team at the moment. I would recommend staying on 7.2.0 for the time-being until this is resolved.

Best Regards,
Jeremias

Hi @jeremias.tx ,

thanks. We need to stay on 7.3.0 so I’ll manually isolate changes.

BR,

Diego

I’ll manually isolate changes.

Of course that will work as well since that bypasses sudo on the device. Again I’ll try to update this thread once there’s any news about this issue.

Hi @jeremias.tx,

I am am encountering this issue as well and am also manually isolating changes for now. I am unsure how to handle cases where files are removed. Do you have any documentation on manual isolation or specifically how the isolation will look when files are removed?

This bug has been resolved by the following commit: isolate, deploy: Use Fabric library to run shell commands remotely · torizon/torizoncore-builder@a24c67c · GitHub

This commit is not yet available in the stable release of TorizonCore Builder. If you want access to this fix now then please use the early-access version as described here: GitHub - toradex/tcb-env-setup: TorizonCore Builder Environment Setup Script

Best Regards,
Jeremias