I tried the instructions at graphcore.ai with no luck. But the instructions on the wiki for Resetting the BMC's Persistant Storage worked for me on two systems. After wiping the persistent storage, I was able to log into the BMC with the default password and get all the firmwares updated.
Wiping the entire persistent storage seems like total overkill if the only problem is that you forgot the BMC root password.
All you need to do is edit the shadow file on the overlay filesystem with a new password.
Follow that wiki page instructions to add overlay-filesystem-in-ram to the boot command line via u-boot. This enables a root console login with the default root password of
0penBmc. Once logged in, mount the writable overlay partition somewhere, for example:
# mount -t jffs2 /dev/mtdblock5 /mnt
Then the simplest way is probably to just copy /mnt/cow/etc/shadow over /etc/shadow, run passwd, then copy the newly-updated /etc/shadow back to the writable partition, for example:
# cp /mnt/cow/etc/shadow /etc/shadow
# passwd
New password:
Retype new password:
Retype new password:
passwd: Password updated successfully
# cp /etc/shadow /mnt/cow/etc/shadow
Or just run an editor on /mnt/cow/etc/shadow and manually change the root password hash to whatever you want. Then reboot, and voila, shiny new BMC root password.