NVRAM

From WebOS Internals
Jump to navigation Jump to search

The NVRAM section of the flash has the following layout:

Magic:       0x4d52564e 'NVRM'
Version:     0x00000001
Header size: 0x00001000 including magic, version, size and crc
Header CRC:  0x???????? the CRC is computed on all the header treating the 4 CRC bytes as zeroes

each entry in the NVRAM header has the following layout:

Magic:       0x31434f54 'TOC1'
Offset:      0x???????? offset of the content of the entry, starting from 0 at the NVRAM header
Size:        0x???????? size in bytes of the entry
Version:     0x00000001
Name:        up to 16 bytes, zero padded name of the entry.

The following entries are present:

envelope: contains all the NVRAM data.
env:      contains the environment variables (stored as name and values in zero terminated strings)
tokens:   contains the Tokens area
logo-boot, logo-chg, logo-badchg, logo-nobatt, logo-badsys, logo-nosys, logo-panic, logo-disk: bitmap images

The CRC polynomial is 0xedb88320.