Getting U-boot's Version from Userspace

If U-boot is located in mtd0, you can get version info as follows:

root@SUPERWIFI:/proc# strings /dev/mtd0 | grep U-Boot    
U-Boot 1.1.4-g1c8343c8-dirty (Feb 28 2014 - 13:56:54)
U-Boot
Now running in RAM - U-Boot at: %08lx

Just an update for this. In our version of U-Boot we changed the code for main_loop() in main.c to this:

#ifdef CONFIG_VERSION_VARIABLE
    char *oldver=getenv("ver");
    if(oldver==0 ||strcmp(oldver,version_string))
    {
        setenv("ver", version_string);  /* set version variable */
        saveenv();
    }
#endif /* CONFIG_VERSION_VARIABLE */

So setenv/saveenv is only called, if needed by an update. In our firmware we added

/sbin/fw_printenv -n ver > /var/config/u-boot.ver

to make the u-boot version public available.