# This image was built using coreboot 4.8-1053-g4591bb6f7b-dirty
CONFIG_USE_OPTION_TABLE=y
CONFIG_USE_BLOBS=y
CONFIG_VENDOR_LENOVO=y
CONFIG_CBFS_SIZE=0x400000
CONFIG_VGA_BIOS=y
CONFIG_BOARD_LENOVO_X230=y
CONFIG_NO_POST=y
# CONFIG_S3_VGA_ROM_RUN is not set
# CONFIG_H8_BEEP_ON_DEATH is not set
CONFIG_VGA_ROM_RUN=y
CONFIG_PCI_OPTION_ROM_RUN_YABEL=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
CONFIG_NVRAMCUI_SECONDARY_PAYLOAD=y
