-
-
Notifications
You must be signed in to change notification settings - Fork 191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
T430s port #723
T430s port #723
Changes from all commits
8ca78cc
7f4e6d6
3638558
b279dba
6d46bc2
3fbfa9f
5fe3adc
0c31408
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
**Make sure that the binary files are backed up some where.** | ||
|
||
Use the bdv file to get the pin layout and the location of the SOIC-8 chip on your board. | ||
[Open Board View](https://github.com/OpenBoardView/OpenBoardView/releases) is a tool to read bdv files. | ||
|
||
If you do not want to use the extract.sh script for blob extraction, you can also extract the blobs with _dd_: | ||
``` | ||
$ dd if=eprom_read_1.bin of=gbe.bin skip=8 count=16 | ||
$ dd if=eprom_read_1.bin of=me.bin skip=24 count=10216 | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
#!/bin/bash | ||
|
||
function printusage { | ||
echo "Usage: $0 -f <romdump> -m <me_cleaner> -i <ifdtool>" | ||
exit 0 | ||
} | ||
|
||
BLOBDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | ||
MECLEAN="$BLOBDIR/me_cleaner/me_cleaner.py" | ||
IFDTOOL="$BLOBDIR/ifdtool/ifdtool" | ||
|
||
if [ "$#" -eq 0 ] || [ "$1" == "-h" ] || [ "$1" == "--help" ]; | ||
then printusage; fi | ||
|
||
while getopts ":f:m:i:" opt; do | ||
case $opt in | ||
f) | ||
FILE="$OPTARG" | ||
;; | ||
m) | ||
if [ -x "$OPTARG" ]; then | ||
MECLEAN="$OPTARG" | ||
fi | ||
;; | ||
i) | ||
if [ -x "$OPTARG" ]; then | ||
IFDTOOL="$OPTARG" | ||
fi | ||
;; | ||
esac | ||
done | ||
|
||
if [ ! -f "$FILE" ]; then | ||
echo "romdump required but not found. Aborting." | ||
exit 1; | ||
fi | ||
|
||
if [ ! -f "$MECLEAN" ]; then | ||
echo "me_cleaner.py required but not found. Aborting." | ||
exit 1; | ||
fi | ||
MECLEAN=$(realpath $MECLEAN) | ||
|
||
if [ ! -f "$IFDTOOL" ]; then | ||
echo "ifdtool required but not found. Aborting." | ||
exit 1; | ||
fi | ||
IFDTOOL=$(realpath $IFDTOOL) | ||
|
||
echo "FILE: $FILE" | ||
echo "ME: $MECLEAN" | ||
echo "IFD: $IFDTOOL" | ||
|
||
bioscopy=$(mktemp) | ||
extractdir=$(mktemp -d) | ||
|
||
cp "$FILE" $bioscopy | ||
|
||
cd "$extractdir" | ||
$IFDTOOL -x $bioscopy | ||
cp "$extractdir/flashregion_3_gbe.bin" "$BLOBDIR/gbe.bin" | ||
$MECLEAN -O "$BLOBDIR/me.bin" -r -t "$extractdir/flashregion_2_intel_me.bin" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yep. Please look at #877 |
||
$IFDTOOL -n "$BLOBDIR/layout.txt" $bioscopy | ||
$IFDTOOL -x $bioscopy.new | ||
cp "$extractdir/flashregion_0_flashdescriptor.bin" "$BLOBDIR/ifd.bin" | ||
|
||
rm "$bioscopy" | ||
rm "$bioscopy.new" | ||
rm -r "$extractdir" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
00000000:00000fff fd | ||
00500000:00ffffff bios | ||
00003000:004fffff me | ||
00001000:00002fff gbe |
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Use same linux config as x230 | ||
export CONFIG_COREBOOT=y | ||
export CONFIG_COREBOOT_VERSION=4.8.1 | ||
CONFIG_COREBOOT_CONFIG=config/coreboot-t430s.config | ||
CONFIG_LINUX_CONFIG=config/linux-x230.config | ||
|
||
CONFIG_CRYPTSETUP=y | ||
CONFIG_FLASHROM=y | ||
CONFIG_FLASHTOOLS=y | ||
CONFIG_GPG2=y | ||
CONFIG_KEXEC=y | ||
CONFIG_UTIL_LINUX=y | ||
CONFIG_LVM2=y | ||
CONFIG_MBEDTLS=y | ||
CONFIG_PCIUTILS=y | ||
CONFIG_POPT=y | ||
CONFIG_QRENCODE=y | ||
CONFIG_TPMTOTP=y | ||
CONFIG_DROPBEAR=y | ||
|
||
CONFIG_CAIRO=y | ||
CONFIG_FBWHIPTAIL=y | ||
#CONFIG_LIBREMKEY=y | ||
|
||
CONFIG_LINUX_USB=y | ||
CONFIG_LINUX_E1000E=y | ||
|
||
export CONFIG_TPM=y | ||
export CONFIG_BOOTSCRIPT=/bin/gui-init | ||
export CONFIG_BOOT_REQ_HASH=n | ||
export CONFIG_BOOT_REQ_ROLLBACK=n | ||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off" | ||
export CONFIG_BOOT_KERNEL_REMOVE="quiet" | ||
export CONFIG_BOOT_DEV="/dev/sda1" | ||
export CONFIG_BOOT_GUI_MENU_NAME="ThinkPad T430s Heads Boot Menu" | ||
export CONFIG_WARNING_BG_COLOR="--background-gradient 0 0 0 150 125 0" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Those are not necessary anymore |
||
export CONFIG_ERROR_BG_COLOR="--background-gradient 0 0 0 150 0 0" | ||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal --ifd --image bios" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,286 @@ | ||
# | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please generate this config with So that it contains only deviations from std coreboot config |
||
# General setup | ||
# | ||
CONFIG_COREBOOT_BUILD=y | ||
CONFIG_LOCALVERSION="" | ||
CONFIG_CBFS_PREFIX="fallback" | ||
CONFIG_COMPILER_GCC=y | ||
CONFIG_ANY_TOOLCHAIN=y | ||
CONFIG_USE_OPTION_TABLE=y | ||
CONFIG_STATIC_OPTION_TABLE=y | ||
CONFIG_COMPRESS_RAMSTAGE=y | ||
CONFIG_COLLECT_TIMESTAMPS=y | ||
CONFIG_RELOCATABLE_RAMSTAGE=y | ||
CONFIG_CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM=y | ||
|
||
# | ||
# Mainboard | ||
# | ||
CONFIG_VENDOR_LENOVO=y | ||
CONFIG_BOARD_SPECIFIC_OPTIONS=y | ||
CONFIG_MAINBOARD_DIR="lenovo/t430s" | ||
CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T430s" | ||
CONFIG_MAINBOARD_VENDOR="LENOVO" | ||
CONFIG_MAX_CPUS=8 | ||
CONFIG_CACHE_ROM_SIZE_OVERRIDE=0x0 | ||
CONFIG_CBFS_SIZE=0x7C0000 | ||
CONFIG_VGA_BIOS_ID="8086,0106" | ||
CONFIG_ONBOARD_VGA_IS_PRIMARY=y | ||
CONFIG_DIMM_SPD_SIZE=256 | ||
CONFIG_DCACHE_RAM_BASE=0xfefe0000 | ||
CONFIG_DCACHE_RAM_SIZE=0x20000 | ||
CONFIG_VGA_BIOS_FILE="pci8086,0166.rom" | ||
CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID=0x17aa | ||
CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID=0x21fb | ||
CONFIG_HAVE_IFD_BIN=y | ||
CONFIG_HAVE_ME_BIN=y | ||
CONFIG_DRAM_RESET_GATE_GPIO=10 | ||
CONFIG_DEVICETREE="devicetree.cb" | ||
CONFIG_MAX_REBOOT_CNT=3 | ||
CONFIG_USBDEBUG_HCD_INDEX=2 | ||
CONFIG_HAVE_GBE_BIN=y | ||
CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 | ||
CONFIG_TPM_PIRQ=0x0 | ||
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0 | ||
CONFIG_FMDFILE="" | ||
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00 | ||
CONFIG_IFD_BIN_PATH="../../blobs/t430s/ifd.bin" | ||
CONFIG_ME_BIN_PATH="../../blobs/t430s/me.bin" | ||
CONFIG_BOARD_LENOVO_T430S=y | ||
CONFIG_CPU_ADDR_BITS=36 | ||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7 | ||
CONFIG_DRIVERS_PS2_KEYBOARD=y | ||
CONFIG_NO_POST=y | ||
CONFIG_SMBIOS_ENCLOSURE_TYPE=0x09 | ||
CONFIG_BOARD_ROMSIZE_KB_16384=y | ||
CONFIG_COREBOOT_ROMSIZE_KB_16384=y | ||
CONFIG_COREBOOT_ROMSIZE_KB=16384 | ||
CONFIG_ROM_SIZE=0x1000000 | ||
CONFIG_SYSTEM_TYPE_LAPTOP=y | ||
|
||
# | ||
# SoC | ||
# | ||
CONFIG_CPU_SPECIFIC_OPTIONS=y | ||
CONFIG_RAMTOP=0x200000 | ||
CONFIG_HEAP_SIZE=0x4000 | ||
CONFIG_RAMBASE=0x100000 | ||
CONFIG_EHCI_BAR=0xfef00000 | ||
CONFIG_SERIRQ_CONTINUOUS_MODE=y | ||
CONFIG_SMM_TSEG_SIZE=0x800000 | ||
CONFIG_SMM_RESERVED_SIZE=0x100000 | ||
CONFIG_ACPI_CPU_STRING="\\_PR.CP%02d" | ||
CONFIG_BOOTBLOCK_CPU_INIT="cpu/intel/model_206ax/bootblock.c" | ||
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 | ||
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y | ||
CONFIG_ROMSTAGE_ADDR=0x2000000 | ||
CONFIG_VERSTAGE_ADDR=0x2000000 | ||
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y | ||
CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x0 | ||
CONFIG_IED_REGION_SIZE=0x400000 | ||
CONFIG_PCIEXP_ASPM=y | ||
CONFIG_PCIEXP_COMMON_CLOCK=y | ||
CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/sandybridge/bootblock.c" | ||
CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/bd82x6x/bootblock.c" | ||
CONFIG_CACHE_MRC_SIZE_KB=512 | ||
CONFIG_STACK_SIZE=0x1000 | ||
CONFIG_CONSOLE_CBMEM=y | ||
CONFIG_UART_PCI_ADDR=0x0 | ||
|
||
# | ||
# CPU | ||
# | ||
CONFIG_SOCKET_SPECIFIC_OPTIONS=y | ||
CONFIG_XIP_ROM_SIZE=0x20000 | ||
CONFIG_NUM_IPI_STARTS=2 | ||
CONFIG_CPU_INTEL_MODEL_306AX=y | ||
CONFIG_SSE2=y | ||
CONFIG_CPU_INTEL_SOCKET_RPGA989=y | ||
CONFIG_CPU_INTEL_COMMON=y | ||
CONFIG_ENABLE_VMX=y | ||
CONFIG_SET_VMX_LOCK_BIT=y | ||
CONFIG_UDELAY_TSC=y | ||
CONFIG_TSC_CONSTANT_RATE=y | ||
CONFIG_TSC_MONOTONIC_TIMER=y | ||
CONFIG_TSC_SYNC_MFENCE=y | ||
CONFIG_LOGICAL_CPUS=y | ||
CONFIG_SMM_TSEG=y | ||
CONFIG_SMM_MODULE_HEAP_SIZE=0x4000 | ||
CONFIG_CACHE_AS_RAM=y | ||
CONFIG_SMP=y | ||
CONFIG_AP_SIPI_VECTOR=0xfffff000 | ||
CONFIG_MMX=y | ||
CONFIG_SSE=y | ||
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y | ||
CONFIG_CPU_MICROCODE_CBFS_GENERATE=y | ||
CONFIG_CPU_UCODE_BINARIES="" | ||
|
||
# | ||
# Northbridge | ||
# | ||
CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE=y | ||
CONFIG_USE_NATIVE_RAMINIT=y | ||
CONFIG_SANDYBRIDGE_IVYBRIDGE_LVDS=y | ||
CONFIG_IF_NATIVE_VGA_INIT=y | ||
CONFIG_HPET_ADDRESS=0xfed00000 | ||
CONFIG_HPET_MIN_TICKS=0x80 | ||
CONFIG_MAX_PIRQ_LINKS=4 | ||
|
||
# | ||
# Southbridge | ||
# | ||
CONFIG_SOUTHBRIDGE_INTEL_C216=y | ||
CONFIG_SOUTH_BRIDGE_OPTIONS=y | ||
CONFIG_LOCK_SPI_FLASH_NONE=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y | ||
CONFIG_HAVE_INTEL_CHIPSET_LOCKDOWN=y | ||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y | ||
CONFIG_INTEL_CHIPSET_LOCKDOWN=y | ||
|
||
# | ||
# Embedded Controllers | ||
# | ||
CONFIG_EC_ACPI=y | ||
CONFIG_EC_LENOVO_H8=y | ||
CONFIG_H8_BEEP_ON_DEATH=y | ||
CONFIG_H8_FLASH_LEDS_ON_DEATH=y | ||
CONFIG_EC_LENOVO_PMH7=y | ||
CONFIG_HAVE_INTEL_FIRMWARE=y | ||
|
||
# | ||
# Intel Firmware | ||
# | ||
CONFIG_GBE_BIN_PATH="../../blobs/t430s/gbe.bin" | ||
CONFIG_UDK_2013_VERSION=2013 | ||
CONFIG_UDK_2015_VERSION=2015 | ||
CONFIG_UDK_2017_VERSION=2017 | ||
CONFIG_UDK_VERSION=2013 | ||
CONFIG_ARCH_ARMV8_EXTENSION=0 | ||
CONFIG_ARCH_X86=y | ||
CONFIG_ARCH_BOOTBLOCK_X86_32=y | ||
CONFIG_ARCH_VERSTAGE_X86_32=y | ||
CONFIG_ARCH_ROMSTAGE_X86_32=y | ||
CONFIG_ARCH_RAMSTAGE_X86_32=y | ||
CONFIG_PC80_SYSTEM=y | ||
CONFIG_HAVE_CMOS_DEFAULT=y | ||
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" | ||
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y | ||
CONFIG_ID_SECTION_OFFSET=0x80 | ||
CONFIG_BOOTBLOCK_SIMPLE=y | ||
CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" | ||
CONFIG_COLLECT_TIMESTAMPS_TSC=y | ||
|
||
# | ||
# Devices | ||
# | ||
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y | ||
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y | ||
CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y | ||
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y | ||
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y | ||
|
||
# | ||
# Display | ||
# | ||
CONFIG_VGA_TEXT_FRAMEBUFFER=y | ||
CONFIG_PCI=y | ||
CONFIG_MMCONF_SUPPORT=y | ||
CONFIG_PCIX_PLUGIN_SUPPORT=y | ||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y | ||
CONFIG_PCIEXP_PLUGIN_SUPPORT=y | ||
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 | ||
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 | ||
|
||
# | ||
# Generic Drivers | ||
# | ||
CONFIG_CACHE_MRC_SETTINGS=y | ||
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000 | ||
CONFIG_SPI_FLASH=y | ||
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y | ||
CONFIG_SPI_FLASH_ADESTO=y | ||
CONFIG_SPI_FLASH_AMIC=y | ||
CONFIG_SPI_FLASH_ATMEL=y | ||
CONFIG_SPI_FLASH_EON=y | ||
CONFIG_SPI_FLASH_GIGADEVICE=y | ||
CONFIG_SPI_FLASH_MACRONIX=y | ||
CONFIG_SPI_FLASH_SPANSION=y | ||
CONFIG_SPI_FLASH_SST=y | ||
CONFIG_SPI_FLASH_STMICRO=y | ||
CONFIG_SPI_FLASH_WINBOND=y | ||
CONFIG_NO_UART_ON_SUPERIO=y | ||
CONFIG_HAVE_USBDEBUG=y | ||
CONFIG_HAVE_USBDEBUG_OPTIONS=y | ||
CONFIG_SMBIOS_PROVIDED_BY_MOBO=y | ||
CONFIG_INTEL_EDID=y | ||
CONFIG_INTEL_INT15=y | ||
CONFIG_INTEL_GMA_ACPI=y | ||
CONFIG_GFX_GMA=y | ||
CONFIG_GFX_GMA_CPU="Ivybridge" | ||
CONFIG_GFX_GMA_CPU_VARIANT="Normal" | ||
CONFIG_GFX_GMA_INTERNAL_IS_LVDS=y | ||
CONFIG_GFX_GMA_INTERNAL_PORT="LVDS" | ||
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC" | ||
CONFIG_DRIVERS_INTEL_WIFI=y | ||
CONFIG_DRIVERS_MC146818=y | ||
CONFIG_LPC_TPM=y | ||
CONFIG_TPM_TIS_BASE_ADDRESS=0xfed40000 | ||
CONFIG_VGA=y | ||
|
||
# | ||
# Trusted Platform Module | ||
# | ||
CONFIG_MAINBOARD_HAS_LPC_TPM=y | ||
CONFIG_ACPI_SATA_GENERATOR=y | ||
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y | ||
CONFIG_BOOT_DEVICE_SPI_FLASH=y | ||
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y | ||
CONFIG_RTC=y | ||
|
||
# | ||
# Console | ||
# | ||
CONFIG_SQUELCH_EARLY_SMP=y | ||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 | ||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y | ||
CONFIG_HWBASE_DEBUG_CB=y | ||
CONFIG_HAVE_ACPI_RESUME=y | ||
CONFIG_RESUME_PATH_SAME_AS_BOOT=y | ||
CONFIG_HAVE_HARD_RESET=y | ||
CONFIG_HAVE_MONOTONIC_TIMER=y | ||
CONFIG_HAVE_OPTION_TABLE=y | ||
CONFIG_HAVE_SMI_HANDLER=y | ||
CONFIG_IOAPIC=y | ||
CONFIG_USE_WATCHDOG_ON_BOOT=y | ||
CONFIG_HAVE_ACPI_TABLES=y | ||
CONFIG_COMMON_FADT=y | ||
|
||
# | ||
# System tables | ||
# | ||
CONFIG_GENERATE_SMBIOS_TABLES=y | ||
|
||
# | ||
# Payload | ||
# | ||
CONFIG_PAYLOAD_LINUX=y | ||
CONFIG_PAYLOAD_FILE="../../build/t430s/bzImage" | ||
CONFIG_PAYLOAD_OPTIONS="" | ||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet loglevel=3" | ||
CONFIG_LINUX_INITRD="../../build/t430s/initrd.cpio.xz" | ||
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y | ||
|
||
# | ||
# Debugging | ||
# | ||
CONFIG_HAVE_DEBUG_RAM_SETUP=y | ||
CONFIG_HAVE_DEBUG_SMBUS=y | ||
CONFIG_WARNINGS_ARE_ERRORS=y | ||
CONFIG_EARLY_CBMEM_INIT=y | ||
CONFIG_RELOCATABLE_MODULES=y | ||
CONFIG_BOOTBLOCK_CUSTOM=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is done per ifdtool, you can look at x220 and t420 extract scripts. To maximize space of BIOS region, you can look at #877