I am setting up dual copy update with Yocto/SWUpdate. I have modified the “image.json” to create two rootfs partitions and I have configured Yocto to include the kernel and device tree related files in the /boot folder of each rootfs. But, I do not see how to configure the “u-boot-initial-env-sd” file to load the kernel from the rootfs partitions rather than the bootfs partition. Any help will be appreciated.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello!
To configure U-Boot to load the kernel from the /boot directory within your rootfs partitions, you’ll need to modify the U-Boot environment variables. This involves adjusting the boot command sequence to point to the kernel and device tree files located in the /boot directory of your rootfs partitions.
Here’s how you can do it:
Access the U-Boot Console: During the boot process, interrupt the autoboot by pressing any key to access the U-Boot console.
Modify the Boot Command: You need to change the bootcmd environment variable to load the kernel from the desired rootfs partition. Typically, this involves setting the bootargs and load commands to point to the correct partition and file paths.
For example, if your rootfs partitions are on mmcblk0p2 and mmcblk0p3, you might set:
Make sure to adjust the partition numbers and file paths according to your setup.
Save the Changes: Use the saveenv command to save your changes to the U-Boot environment.
Reboot: Restart the system to apply the changes.
By following these steps, U-Boot should load the kernel from the /boot directory within the specified rootfs partition. Ensure that the paths and partition numbers match your specific configuration. If you encounter any issues, double-check the file paths and partition identifiers used in the commands.
I hope this helps! If you have any more questions, feel free to ask.
Best regards,
Toradex AI Assistant.
Please, also check if these links can help you solve your problem:
I don’t know that the ToradexAI response is helpful in this situation. It appears that the bootz command it suggested is not available. Any suggestions on how to load the kernel and device tree files from the /boot folder of the rootfs would be appreciated.
I’d also like to mention that Torizon OS has a build in solution for OTA updates . We make use of OSTree + Aktualizr (which is an implementation of automotive Uptane). There are a host of benefits to preforming updates this way, it might be better to set up a call. Let me know if this is of intrested and I’ll get the ball rolling.