I had problems with Gothnet's solution. I would log in over serial, and still get the
root@DB88FXX81:/# passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
which was really frustrating...
Took me forever to get this fixed.
1st, check /etc/shadow and /etc/passwd for your accounts.
2nd, check /etc/shadow for duplicates. For one of my accounts, it was in triplicate! So leave the first copy and delete the remaining duplicates.
3rd, run a 'passwd -d (username)' this deletes the stored password for the user.
4th, run 'passwd (username)' to set the new password!
Example for steps 3 and 4:
root@DB88FXX81:/# passwd -d root
Password changed.
root@DB88FXX81:/# passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
5th, reboot the device and take off "init=/bin/bash" in the bootargs. Don't forget saveenv!
6th, finally, 'reset' and enjoy

Hope this helps!