Introduction
Firmware is software written directly for a specific piece of hardware and stored in non-volatile memory, such as ROM, EEPROM, or flash, so it persists even when the device is powered off. Unlike application software that a user installs and removes freely, firmware is tightly bound to the hardware it controls and is usually the first code that runs when a device powers on, responsible for initializing components before any operating system or higher-level program can take over.
Cricket analogy: A ground's fixed operating procedures, written into the venue's own manual rather than left to each visiting team, run automatically every match day regardless of who is playing, similar to how firmware is baked into a device and runs before any user software loads.
Explanation
On a personal computer, firmware such as UEFI or the older BIOS runs immediately after power-on, performing a power-on self-test, initializing basic hardware like memory controllers and storage interfaces, and then locating and handing control to a bootloader, which in turn loads the operating system. On embedded devices like routers, printers, or smart appliances, firmware is often the entire software stack the device runs, with no separate general-purpose operating system layered on top, meaning the firmware directly implements the device's user-facing features as well as its hardware initialization.
Cricket analogy: The ground staff's pre-match pitch inspection and setup happens before any team takes the field, just as firmware performs power-on self-test and hardware initialization before an operating system loads.
Because firmware sits at such a privileged level, close to the hardware and running before most security protections are active, firmware vulnerabilities are especially serious: a compromised firmware image can persist across operating system reinstalls and can be very difficult to detect from within a running OS. This is why manufacturers implement firmware update mechanisms with cryptographic signature verification, ensuring that only authentic, vendor-signed firmware images can be installed, and why practices like secure boot chain the trust from firmware through the bootloader to the operating system kernel.
Cricket analogy: If a ground's own core operating procedures were tampered with, no team management could detect or fix it just by changing their own tactics, similar to how compromised firmware persists across operating system reinstalls and needs its own signature verification to prevent tampering.
Example
# Check current firmware/BIOS version on a Linux machine
sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date
# List UEFI secure boot status
mokutil --sb-stateKey Takeaways
- Firmware is software stored in non-volatile memory that persists across power cycles.
- It is the first code that runs on power-on, initializing hardware before any operating system loads.
- On PCs, firmware like UEFI/BIOS hands control to a bootloader, which then loads the OS.
- On many embedded devices, firmware is the entire software stack with no separate general-purpose OS.
- Firmware compromises are especially dangerous since they persist across OS reinstalls, which is why signed firmware and secure boot exist.
Practice what you learned
1. Where is firmware typically stored?
2. What does PC firmware like UEFI/BIOS do immediately after power-on?
3. On many embedded devices like routers, what role does firmware play?
4. Why are firmware vulnerabilities considered especially serious?
Was this page helpful?
You May Also Like
Buses & Ports
How internal buses move data, address, and control signals between CPU, memory, and devices, and how external ports expose those pathways to peripherals.
Registers Explained
The small, extremely fast storage locations built directly into the CPU that hold data and addresses the processor is actively working with.
Computer Generations
The five generations of computing hardware, from vacuum tubes through transistors, integrated circuits, microprocessors, and AI-driven systems.