This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Dear TI Team,
I used to work with NXP processor with eMMC as flash memory. The BOOT image was burned in the eMMC like so
| BOOT0 | BOOT1 | Kernel + FS 0 | Kernel + FS 1 |
when BOOT0 load "Kernel + FS 0", and BOOT1 load "Kernel + FS 1". Using the command "/usr/bin/mmc bootpart enable 1 0 /dev/mmcblk2" (or parameter 2, depend on the active BOOT) from any of the FS I was able to switch on powerup the active BOOT. In this way the firmware update is much safer.
Now, I changed my processor to AM64. I can work in the same manner as described above, exclude the active BOOT change. Does anyone knows how to change the active BOOT from FS?
Hi,
I am not familiar with this terminology. By change the active BOOT from FS, what is the expected behavior? Is it to have two different rootfs and be able to select the other from userpace, reboot, then be on the other rootfs?
~Judith
Hi Judith,
Thanks for your answer.
"Is it to have two different rootfs and be able to select the other from userpace, reboot, then be on the other rootfs?"
YES
From userpace I want to change the "active Uboot" and load the other rootfs
Hi,
I have not seen implemented before but perhaps you could use modify the Boot Parameter Tables from kernel and then do a warm reset. Essentially as shown in section 5.6 Boot Parameter Tables, byte offset 4 stores the peripheral boot mode. From Linux kernel you could change the value to a different boot mode found in Table 5-44. Boot Peripheral Selection and the warm reset will not change this value. Only the cold reset. This change will allow you to boot different U-boot boot loader which in turn could boot different rootfs.
I believe there is no documentation on this, but I will include Linux Kernel expert here shortly to comment.
~ Judith