Firmware¶
25 cards — 🟢 3 easy | 🟡 4 medium | 🔴 3 hard
🟢 Easy (3)¶
1. How do you check if a Linux system booted in UEFI or BIOS mode?
Show answer
Check for the EFI directory: [ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS". If /sys/firmware/efi exists, the system booted in UEFI mode.Under the hood: /sys/firmware/efi is created by the kernel's EFI stub at boot. Its absence means legacy BIOS or UEFI-CSM mode.
Gotcha: UEFI hardware booted in CSM (legacy) mode will NOT have /sys/firmware/efi even though the hardware supports UEFI.
2. What is POST and what does it do?
Show answer
POST (Power-On Self-Test) is the firmware diagnostic sequence that runs before the OS loads. It initializes the CPU, tests memory, enumerates PCIe devices, initializes storage and network controllers, and hands off to the bootloader.3. What is a BMC and what does it provide?
Show answer
A BMC (Baseboard Management Controller) is an independent processor on the server motherboard for out-of-band management. It provides remote console (KVM over IP), power control, hardware monitoring, firmware updates, and serial-over-LAN — all independent of the host OS.🟡 Medium (4)¶
1. What are the key differences between legacy BIOS and UEFI?
Show answer
BIOS: 16-bit, MBR partitioning (max 2TB, 4 partitions), no secure boot, no networking. UEFI: 32/64-bit, GPT partitioning (no practical limit), Secure Boot, built-in shell and networking, NVRAM for boot variables, ESP (EFI System Partition) for bootloaders.2. How do you read hardware sensors and check the System Event Log using ipmitool?
Show answer
Sensors: ipmitool sensor list (all sensors) or ipmitool sdr list (Sensor Data Repository). SEL: ipmitool sel elist (extended event log). Filter for boot issues: ipmitool sel list | grep -i "post\|boot\|memory\|cpu".3. How do you check for and apply firmware updates on Linux?
Show answer
Use fwupd: fwupdmgr get-devices (list updateable devices), fwupdmgr get-updates (check for available updates), fwupdmgr update (apply updates). Most updates require a reboot. Dell systems can also use DSU (Dell System Update).4. How do you manage UEFI boot entries from Linux?
Show answer
Use efibootmgr: efibootmgr -v (list entries), efibootmgr -o 0001,0002,0003 (change boot order), efibootmgr -c -d /dev/sda -p 1 -L "Linux" -l '\EFI\ubuntu\grubx64.efi' (add entry). Boot variables are stored in NVRAM.🔴 Hard (3)¶
1. What is UEFI Secure Boot and how do you manage it from Linux?
Show answer
Secure Boot verifies that bootloaders and kernels are signed by trusted keys before executing them. Check status: mokutil --sb-state. List enrolled keys: mokutil --list-enrolled. Enroll a custom key (for custom kernels/modules): mokutil --import my-key.der. Unsigned or improperly signed code will not boot.2. What are the symptoms of a dead CMOS battery and how does UEFI differ?
Show answer
Dead CMOS battery: clock resets every boot, BIOS settings revert to defaults, "CMOS checksum error" on POST. UEFI stores settings in NVRAM (flash), so it does not depend on the battery for settings — only for the real-time clock.3. What is the recommended approach for fleet firmware updates in a datacenter?