---
name: "ifdtool"
section: "8"
platform: "linux"
package: "coreboot-utils"
version: "24.12+dfsg-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ifdtool"
---

# ifdtool(8)

Extract and dump Intel Firmware Descriptor information

## NAME

ifdtool - Extract and dump Intel Firmware Descriptor information

## SYNOPSIS

usage ifdtool \[-vhdix?\] \<filename\>

## DESCRIPTION

Extract and dump Intel Firmware Descriptor information.

## OPTIONS

- **-d** \| **--dump**

  dump intel firmware descriptor

- **-f** \| **--layout** \<filename\>

  dump regions into a flashrom layout file

- **-F** \| **--fmap-layout** \<filename\>

  dump IFD regions into a fmap layout template (.fmd) file

- **-t** \| **--validate**

  Validate that the firmware descriptor layout matches the fmap layout

- **-x** \| **--extract**

  extract intel fd modules

- **-i** \| **--inject** \<region\>:\<module\>

  inject file \<module\> into region \<region\>

- **-n** \| **--newlayout** \<filename\>

  update regions using a flashrom layout file

- **-O** \| **--output** \<filename\>

  output filename

- **-s** \| **--spifreq** \<17\|20\|30\|33\|48\|50\>

  set the SPI frequency

- **-D** \| **--density** \<512\|1\|2\|4\|8\|16\|32\|64\>

  set chip density (512 in KByte, others in MByte)

- **-C** \| **--chip** \<0\|1\|2\>

  select spi chip on which to operate can only be used once per run:

  ```
  0 - both chips (default)
  1 - first chip
  2 - second chip
  ```

- **-e** \| **--em100**

  set SPI frequency to 20MHz and disable Dual Output Fast Read Support

- **-l** \| **--lock**

  Lock firmware descriptor and ME region

- **-r** \| **--read**

  Enable CPU/BIOS read access for ME region

- **-u** \| **--unlock**

  Unlock firmware descriptor and ME region

- **-g** \| **--gpr0-disable**

  Disable GPR0 (Global Protected Range) register

- **-E** \| **--gpr0-enable**

  Enable GPR0 (Global Protected Range) register

- **-c** \| **--gpr0-status**

  Checking GPR0 (Global Protected Range) register status

- **-M** \| **--altmedisable** \<0\|1\>

  Set the MeDisable and AltMeDisable (or HAP for skylake or newer platform) bits to disable ME

- **-p** \| **--platform**

  ```
  Add platform-specific quirks
  adl    - Alder Lake
  aplk   - Apollo Lake
  cnl    - Cannon Lake
  lbg    - Lewisburg PCH
  dnv    - Denverton
  ehl    - Elkhart Lake
  glk    - Gemini Lake
  icl    - Ice Lake
  ifd2   - IFDv2 Platform
  jsl    - Jasper Lake
  mtl    - Meteor Lake
  sklkbl - Sky Lake/Kaby Lake
  tgl    - Tiger Lake
  wbg    - Wellsburg
  ```

- **-S** \| **--setpchstrap**

  Write a PCH strap

- **-V** \| **--newvalue**

  The new value to write into PCH strap specified by **-S**

- **-v** \| **--version**

  print the version

- **-h** \| **--help**

  print this help

## NOTES

- \<region\> is one of Descriptor, BIOS, ME, GbE, Platform Data, Secondary BIOS, Device Exp1, EC, Device Exp2, IE, 10GbE\_0, 10GbE\_1, PTT

  ## AUTHORS

```
coresystems GmbH.
Man page written by Ahmad Khalifa.
```
