NVRAM(4)
πΎ NVRAM(4) πΎ
ok so this is the nvram page from the Kernel Interfaces Manual β yes bestie, we're going deep into the kernel today, grab a snack π
β¨ NAME β¨
nvram β non-volatile RAM, aka the little memory that remembers you even when the power's off π
β¨ SYNOPSIS β¨
ok so you wanna get this driver into your kernel? two ways, pick your fighter π
Option one: bake it right in. Drop this line into your kernel configuration file:
device nvram
Option two: load it as a module at boot time. Then put this line in loader.conf(5):
nvram_load="YES"
both are valid, no cap π«Ά
β¨ DESCRIPTION β¨
so the nvram driver hands you access to the BIOS configuration NVRAM on i386 and amd64 systems. that's it, that's the whole job β¨
your PC motherboard uses a tiny bit of non-volatile memory to store BIOS settings β it's usually part of the clock chip, and people sometimes call it βCMOS SRAMβ. cute name, tiny memory, huge responsibilities π
this driver exposes bytes 14 through 128 of the NVRAM β that's 114 bytes total β sitting at offset zero of the device file /dev/nvram. so like, the front of the file is actually byte 14 of the real thing. she's got a look, okay π
and why do you care? because this driver is genuinely useful for cloning machines that share the same hardware configuration and need the same BIOS setting tweaks. set it up once, copy the vibes to the whole fleet, periodt π
π οΈ IMPLEMENTATION NOTES π οΈ
ok important, listen up:
The BIOS NVRAM's bytes 16 through 31 are checksummed at byte 32. This driver does not take care of these checksums. π¨
so if you're writing to it, that checksum situation is your problem, not hers. she said not my department bestie π
πΈ EXAMPLES πΈ
backup your existing BIOS NVRAM to nvram.bin:
dd if=/dev/nvram of=nvram.bin
restore BIOS NVRAM from nvram.bin:
dd if=nvram.bin of=/dev/nvram
literally two commands, that's the whole ritual π₯
π SEE ALSO π
π HISTORY π
The nvram device driver first appeared in FreeBSD 6.4. she's been iconic since day one β
π AUTHORS π
The nvram device driver was written by Peter Wemm. This manual page was written by Xin LI. absolute legends, we stan π«Άπ
and that's the whole page!! this one came from Debian, dated February 8, 2010 β yes she's vintage, yes she still slays, iykyk π π
take care of your CMOS bestie, she remembers everything for you π¦
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2010 iXsystems, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms