[UBoot] saveenv does not exist, how do I save environnement variables?


I’m working on a Toradex Apalis, I loaded an image of Boot2Qt on mmc and I want to boot on it by default, so I entered on UBoot and want to change bootcmd from “run distro_boot” (who launch scans to execute a boot.scr I don’t know where) to “run emmcboot” who works perfectly by loading the kernel.
Here’s the problem, the saveenv command does not exist, so I need a way to figure out how to run this emmcboot automatically.
I’ve been thinking to 3 possibilities but I don’t know how to procede them :

  • I find a way to manipulate environnement variables without saveenv, maybe with the direct memory address ?
  • I write a script boot.scr who contains “run emmcboot” but I don’t know where to put this script, I don’t understand which memory/partition is scan to find it
  • I load another UBoot on my toradex, the missing of saveenv seems to be a issue on this particular version, but again, I don’t know how to procede and it’s a dangerous operation

Thank for your help

Can you provide more information on the module your using (type, version, u-boot version)?

I would guess that the module’s original U-boot did not get updated with the U-boot provided with Boot2Qt. The U-boot we ship with the module does not include a U-boot environment area on the flash and therefore does not support saveenv. However, the U-boot provided with our Linux images and with Boot2Qt includes this support. Which version of Boot2Qt are you using? Can you verify that you executed the commands to flash U-boot to the module by following Qt’s online documentation?

As you mentioned, you loaded the image to eMMC which differs from the SD boot method that Boot2Qt uses by default. Therefore, after you follow Qt’s flashing instructions, you may update bootcmd to attempt eMMC boot first.