I think I get what your saying. Essentially, the Routerboard firmware as listed by CLI output is actually a BIOS flash that is rarely required since the contents of the firmware doesn't change often, even though the version numbers change to keep pace with the RouterOS version.
[username@Router] > system/routerboard/p
routerboard: yes
model: CRS109-8G-1S-2HnD
serial-number: F1D20FAGBC93
firmware-type: ar9344
factory-firmware: 6.47.9
current-firmware: 7.16
upgrade-firmware: 7.16.2
If this is the case, then I am somewhat less concerned about making sure the Routerboard firmware versions are fully up to date. For ease of management, I would still like to automate it. Because of the structure of my network, I cannot simply allow routers to auto-update or I would risk one router rebooting while another is still downloading. I am working out a solution using groups groups in Dude to solve this issue. Since I can't create a tool in Dude to push the routerboard upgrade, I've put together a script that runs on startup and checks current-firmware against upgrade-firmware and if they are different, it will initiate the upgrade and reboot.
:if ([/system/routerboard get current-firmware] != [/system/routerboard/get upgrade-firmware]) do={ /system/routerboard/upgrade
:log info "Routerboard updated"
/system reboot
}
There's still some details to work out, but I think I'm pretty close to making it work.