Workdir changes in /etc/ not being reflected on module even though the builder said it did


We have created a custom torizon build with some /etc/ changes using isolate.
When running the torizoncore-builder build command, the following is printed:

=>> Handling output section
Applying changes from STORAGE/dt.
Applying changes from WORKDIR/changes1.
Commit c4828a764add30d778f8f2a5728d821f0761e1515ed12a5a53945b9c0783d446 has been generated for changes and is ready to be deployed.
Deploying commit ref: tcbuilder-20230118132112
Pulling OSTree with ref tcbuilder-20230118132112 from local archive repository...
  Commit checksum: c4828a764add30d778f8f2a5728d821f0761e1515ed12a5a53945b9c0783d446
  TorizonCore Version: 5.6.0+build.13-tcbuilder.20230118132112
  Default kernel arguments: quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3

1148 metadata, 12792 content objects imported; 534.5 MB content written                                                                                                                                                                                        
Pulling done.
Deploying OSTree with checksum c4828a764add30d778f8f2a5728d821f0761e1515ed12a5a53945b9c0783d446
Deploying done.
Copy files not under OSTree control from original deployment.
Packing rootfs...
Packing rootfs done.
Updating TorizonCore image in place.
Updating TorizonCore image in place.
Combining TorizonCore image with Docker Container bundle.

=>> Build command successfully executed!

Even though the output says that the workdir/changes1 in applied, it is not reflected on the module when booting the toradex, i.e the /etc/systemd/system is defaulted.
These are the changes to /etc/:


As a quick follow up question. How are you deploying the newly created image?


Place it on a USB and connect it to the Dahlia Carrier Board where the Toradex has the Toradex Easy Installer installed.

I want to add that these changes has worked when we only had a change in the docker.service. However it does not seem to like all the masking symlinks we added to the other services. Could it be something about that?

We have an older similar post that may offer a solution.

Here is a short abbreviation:

The isolate command utilizes OSTree for isolating the changes between /etc/ and /usr/etc. Where /usr/etc/ contains the ‘previous’ state and any modifications would be held in /etc/. The isolate command would not ‘see’ any changes if the content in question was already within /usr/etc.

Can you verify that these files are not already included via the /usr/etc directory?


No we also noticed that behaviour. The image is loaded onto a fresh Verdin module.

There may be some clues as to whats happening within the logs, would you be able to post the logs produced while updating via command (command ran in the target board)

journalctl -f -u aktualizr*


Helpful related article: How to Use Secure Offline Updates with TorizonCore | Toradex Developer Center

I’ll try and recreate the issue on my end, would you mind sharing some additional information.

What specific SoM and carrier board are you using?
The output of running on the target module: uname -s -r -m
Would you mind sharing a bit more information about what you want to modify within your /etc/ file?
And can you provide a rough step up step of the workflow to see if I can recreate the issues on my end.


Thank you for the response.

We seem to have figured it out (read: it started working) after rebuilding the image.

Let us know if it pops up again and we can address it.