Methods for authenticating firmware in a computing device include
partitioning functions critical to the intended role of the computing
device so that, upon successful authentication of the firmware, all
functions of the device are made operational. Otherwise, the computing
device behaves in a diagnostic mode of operation to assist users in
troubleshooting to eventually authenticate firmware. At least first and
second sets of firmware are loaded at various times into a controller of
the computing device with the first set occurring without verification of
trustworthiness, while the second set occurs upon authentication of the
first. The second is used to authenticate a remainder set of firmware.
Particular computing devices contemplate laser printers, mobile phones,
PDA's, gaming consoles, etc. Firmware downloads, error messaging, hash
comparisons, signature table construction, page-in techniques, computer
program products, and particular computing arrangements are other
noteworthy features, to name a few.