From 630420e0ba0077795f3a5eb596d8a44156088381 Mon Sep 17 00:00:00 2001 From: Thierry Laurion Date: Fri, 12 Aug 2022 12:06:24 -0400 Subject: [PATCH 1/3] Makefile: replace patch with git apply Otherwise binary patches cannot be patched/created Additional fixes needed - flashrom patch was invalid and got catched by git apply. Correcting - gpg2-2.2.21.patch was pointing to bad target. Correcting --- Makefile | 8 ++-- .../0100-enable-kgpe-d16.patch | 42 +++++++++---------- patches/gpg2-2.2.21.patch | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index f4265b92c..6383ad34f 100644 --- a/Makefile +++ b/Makefile @@ -242,7 +242,7 @@ define define_module = git clone $($1_repo) "$(build)/$($1_base_dir)" cd $(build)/$($1_base_dir) && git submodule update --init --checkout if [ -r patches/$($1_patch_name).patch ]; then \ - ( cd $(build)/$($1_base_dir) ; patch -p1 ) \ + ( git apply --verbose --reject --binary --directory build/$($1_base_dir) ) \ < patches/$($1_patch_name).patch \ || exit 1 ; \ fi @@ -250,7 +250,7 @@ define define_module = [ -r patches/$($1_patch_name) ] ; then \ for patch in patches/$($1_patch_name)/*.patch ; do \ echo "Applying patch file : $$$$patch " ; \ - ( cd $(build)/$($1_base_dir) ; patch -p1 ) \ + ( git apply --verbose --reject --binary --directory build/$($1_base_dir) ) \ < $$$$patch \ || exit 1 ; \ done ; \ @@ -278,7 +278,7 @@ define define_module = mkdir -p "$$(dir $$@)" tar -xf "$(packages)/$($1_tar)" $(or $($1_tar_opt),--strip 1) -C "$$(dir $$@)" if [ -r patches/$($1_patch_name).patch ]; then \ - ( cd $$(dir $$@) ; patch -p1 ) \ + ( git apply --verbose --reject --binary --directory build/$($1_base_dir) ) \ < patches/$($1_patch_name).patch \ || exit 1 ; \ fi @@ -286,7 +286,7 @@ define define_module = [ -r patches/$($1_patch_name) ] ; then \ for patch in patches/$($1_patch_name)/*.patch ; do \ echo "Applying patch file : $$$$patch " ; \ - ( cd $$(dir $$@) ; patch -p1 ) \ + ( git apply --verbose --reject --binary --directory build/$($1_base_dir) ) \ < $$$$patch \ || exit 1 ; \ done ; \ diff --git a/patches/flashrom-b1f858f65b2abd276542650d8cb9e382da258967/0100-enable-kgpe-d16.patch b/patches/flashrom-b1f858f65b2abd276542650d8cb9e382da258967/0100-enable-kgpe-d16.patch index b4f8fa0b6..2cca15b52 100644 --- a/patches/flashrom-b1f858f65b2abd276542650d8cb9e382da258967/0100-enable-kgpe-d16.patch +++ b/patches/flashrom-b1f858f65b2abd276542650d8cb9e382da258967/0100-enable-kgpe-d16.patch @@ -1,8 +1,8 @@ diff --git a/Makefile b/Makefile -index 7242b09..c2fb32e 100644 +index e475cbdb..27197f08 100644 --- a/Makefile +++ b/Makefile -@@ -236,6 +236,16 @@ UNSUPPORTED_FEATURES += CONFIG_GFXNVIDIA=yes +@@ -263,6 +263,16 @@ UNSUPPORTED_FEATURES += CONFIG_GFXNVIDIA=yes else override CONFIG_GFXNVIDIA = no endif @@ -19,7 +19,7 @@ index 7242b09..c2fb32e 100644 ifeq ($(CONFIG_SATASII), yes) UNSUPPORTED_FEATURES += CONFIG_SATASII=yes else -@@ -492,6 +502,16 @@ UNSUPPORTED_FEATURES += CONFIG_GFXNVIDIA=yes +@@ -565,6 +575,16 @@ UNSUPPORTED_FEATURES += CONFIG_GFXNVIDIA=yes else override CONFIG_GFXNVIDIA = no endif @@ -36,7 +36,7 @@ index 7242b09..c2fb32e 100644 ifeq ($(CONFIG_SATASII), yes) UNSUPPORTED_FEATURES += CONFIG_SATASII=yes else -@@ -616,6 +636,12 @@ CONFIG_NIC3COM ?= yes +@@ -692,6 +712,12 @@ CONFIG_NIC3COM ?= yes # Enable NVIDIA graphics cards. Note: write and erase do not work properly. CONFIG_GFXNVIDIA ?= yes @@ -49,7 +49,7 @@ index 7242b09..c2fb32e 100644 # Always enable SiI SATA controllers for now. CONFIG_SATASII ?= yes -@@ -728,6 +754,8 @@ ifeq ($(CONFIG_ENABLE_LIBPCI_PROGRAMMERS), no) +@@ -819,6 +845,8 @@ ifeq ($(CONFIG_ENABLE_LIBPCI_PROGRAMMERS), no) override CONFIG_INTERNAL = no override CONFIG_NIC3COM = no override CONFIG_GFXNVIDIA = no @@ -58,7 +58,7 @@ index 7242b09..c2fb32e 100644 override CONFIG_SATASII = no override CONFIG_ATAHPT = no override CONFIG_ATAVIA = no -@@ -840,6 +868,18 @@ PROGRAMMER_OBJS += gfxnvidia.o +@@ -946,6 +974,18 @@ PROGRAMMER_OBJS += gfxnvidia.o NEED_LIBPCI += CONFIG_GFXNVIDIA endif @@ -79,7 +79,7 @@ index 7242b09..c2fb32e 100644 PROGRAMMER_OBJS += satasii.o diff --git a/ast1100.c b/ast1100.c new file mode 100644 -index 0000000..c7474e5 +index 00000000..c7474e5d --- /dev/null +++ b/ast1100.c @@ -0,0 +1,420 @@ @@ -505,7 +505,7 @@ index 0000000..c7474e5 +} diff --git a/ast2400.c b/ast2400.c new file mode 100644 -index 0000000..761a38d +index 00000000..761a38d4 --- /dev/null +++ b/ast2400.c @@ -0,0 +1,425 @@ @@ -935,10 +935,10 @@ index 0000000..761a38d + return 0; +} diff --git a/flashchips.c b/flashchips.c -index 58dd4f3..719185b 100644 +index 7d10abf5..7d4b3ee8 100644 --- a/flashchips.c +++ b/flashchips.c -@@ -12273,7 +12273,7 @@ const struct flashchip flashchips[] = { +@@ -12388,7 +12388,7 @@ const struct flashchip flashchips[] = { .total_size = 1024, .page_size = 256, .feature_bits = FEATURE_WRSR_WREN, @@ -947,7 +947,7 @@ index 58dd4f3..719185b 100644 .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .block_erasers = -@@ -16659,11 +16659,20 @@ const struct flashchip flashchips[] = { +@@ -16774,11 +16774,20 @@ const struct flashchip flashchips[] = { .block_erasers = { { @@ -969,7 +969,7 @@ index 58dd4f3..719185b 100644 .eraseblocks = { {64 * 1024, 512} }, .block_erase = spi_block_erase_d8, diff --git a/flashrom.c b/flashrom.c -index e540027..75bfd89 100644 +index c18a04fc..42ce989a 100644 --- a/flashrom.c +++ b/flashrom.c @@ -6,6 +6,7 @@ @@ -980,7 +980,7 @@ index e540027..75bfd89 100644 * (Written by Nico Huber for secunet) * * This program is free software; you can redistribute it and/or modify -@@ -133,6 +134,30 @@ const struct programmer_entry programmer_table[] = { +@@ -157,6 +158,30 @@ const struct programmer_entry programmer_table[] = { }, #endif @@ -1012,7 +1012,7 @@ index e540027..75bfd89 100644 { .name = "drkaiser", diff --git a/pcidev.c b/pcidev.c -index 54c1fd3..97c8c1f 100644 +index e13b78ce..4af1c556 100644 --- a/pcidev.c +++ b/pcidev.c @@ -33,11 +33,13 @@ enum pci_bartype { @@ -1052,7 +1052,7 @@ index 54c1fd3..97c8c1f 100644 case TYPE_IOBAR: msg_pdbg("I/O\n"); diff --git a/programmer.h b/programmer.h -index 3cf53b9..7be47d1 100644 +index 9a7892d7..192bff1e 100644 --- a/programmer.h +++ b/programmer.h @@ -5,6 +5,7 @@ @@ -1073,10 +1073,10 @@ index 3cf53b9..7be47d1 100644 +#if CONFIG_AST2400 == 1 + PROGRAMMER_AST2400, +#endif - #if CONFIG_DRKAISER == 1 - PROGRAMMER_DRKAISER, + #if CONFIG_RAIDEN == 1 + PROGRAMMER_RAIDEN, #endif -@@ -401,6 +408,18 @@ int gfxnvidia_init(void); +@@ -416,6 +423,18 @@ int gfxnvidia_init(void); extern const struct dev_entry gfx_nvidia[]; #endif @@ -1092,6 +1092,6 @@ index 3cf53b9..7be47d1 100644 +extern const struct dev_entry bmc_aspeed_ast2400[]; +#endif + - /* drkaiser.c */ - #if CONFIG_DRKAISER == 1 - int drkaiser_init(void); + /* raiden_debug_spi.c */ + #if CONFIG_RAIDEN == 1 + int raiden_debug_spi_init(void); diff --git a/patches/gpg2-2.2.21.patch b/patches/gpg2-2.2.21.patch index ed940b1b3..9591e6b94 100644 --- a/patches/gpg2-2.2.21.patch +++ b/patches/gpg2-2.2.21.patch @@ -12,7 +12,7 @@ diff -u --recursive /home/tlaurion/build/clean/gnupg-2.2.10/configure gnupg-2.2. MAKEFLAGS= diff -u --recursive gnupg-2.2.10/common/ttyio.c gnupg-2.2.10/common/ttyio.c.mod --- gnupg-2.2.10/common/ttyio.c 2017-08-28 06:22:54.000000000 -0400 -+++ gnupg-2.2.10/common/ttyio.c.mod 2018-09-18 23:00:07.386250017 -0400 ++++ gnupg-2.2.10/common/ttyio.c 2018-09-18 23:00:07.386250017 -0400 @@ -190,7 +190,9 @@ #elif defined (HAVE_W32CE_SYSTEM) ttyfp = stderr; From c003901628cf840d069b0b75da0238a420630db3 Mon Sep 17 00:00:00 2001 From: Thierry Laurion Date: Fri, 12 Aug 2022 12:07:11 -0400 Subject: [PATCH 2/3] add x230-maximized-fhd_edp and x230-hotp-maximized-fhd_edp boards - add x230-maximized-fhd_edp and x230-hotp-maximized-fhd_edp board configs - add/rework coreboot patch for x230 fhd variant to be applied on top of 4.13 - add coreboot config to point to x230-edp variant, fixing path to vbt file since default path is wrong under. Comment made upstream https://review.coreboot.org/c/coreboot/+/28950/22#message-4904ce82f01ba0505b391e072e4537b6a9f1a229 - remove no gfx init and replace with libgfxinit(defonfig default), set internal display as default - add x230-hotp-maximized-fhd_edp and x230-maximized-fhd_edp to CircleCI builds --- .circleci/config.yml | 15 ++ .../x230-hotp-maximized-fhd_edp.config | 104 +++++++++ .../x230-maximized-fhd_edp.config | 104 +++++++++ ...oreboot-x230-hotp-maximized-fhd_edp.config | 21 ++ config/coreboot-x230-maximized-fhd_edp.config | 21 ++ .../coreboot-4.13/0002-x230-fhd-variant.patch | 201 ++++++++++++++++++ 6 files changed, 466 insertions(+) create mode 100644 boards/x230-hotp-maximized-fhd_edp/x230-hotp-maximized-fhd_edp.config create mode 100644 boards/x230-maximized-fhd_edp/x230-maximized-fhd_edp.config create mode 100644 config/coreboot-x230-hotp-maximized-fhd_edp.config create mode 100644 config/coreboot-x230-maximized-fhd_edp.config create mode 100644 patches/coreboot-4.13/0002-x230-fhd-variant.patch diff --git a/.circleci/config.yml b/.circleci/config.yml index 368bc72a0..9e4998a8d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -332,6 +332,21 @@ workflows: subcommand: "" requires: - x230-hotp-maximized + + - build: + name: x230-maximized-fhd_edp + target: x230-maximized-fhd_edp + subcommand: "" + requires: + - x230-hotp-maximized + + - build: + name: x230-hotp-maximized-fhd_edp + target: x230-hotp-maximized-fhd_edp + subcommand: "" + requires: + - x230-hotp-maximized + - build: name: t530-hotp-maximized target: t530-hotp-maximized diff --git a/boards/x230-hotp-maximized-fhd_edp/x230-hotp-maximized-fhd_edp.config b/boards/x230-hotp-maximized-fhd_edp/x230-hotp-maximized-fhd_edp.config new file mode 100644 index 000000000..fcc02ed6f --- /dev/null +++ b/boards/x230-hotp-maximized-fhd_edp/x230-hotp-maximized-fhd_edp.config @@ -0,0 +1,104 @@ +# Configuration for a X230 running Qubes 4.1 and other Linux Based OSes (through kexec) +# +# Based on https://review.coreboot.org/c/coreboot/+/28950 for FHD mod +#This has been reported to work with the following panels: +# LP125WF2-SPB4 (1920*1080, 12.5") +# LQ125T1JW02 (2560*1440, 12.5") +# LQ133M1JW21 (1920*1080, 13.3") +# LTN133HL10-201 (1920*1080, 13.3") +# B133HAN04.6 (1920*1080, 13.3") +# B133QAN02.0 (2560*1600, 13.3") +# +# Other eDP panels not on this list should work as well. +# Please verify if your panel needs a firmware mod. +# +# Includes +# - Deactivated+neutered ME and expanded consequent IFD BIOS regions +# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh) +# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set +# +# - Includes: Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code) +export CONFIG_COREBOOT=y +export CONFIG_COREBOOT_VERSION=4.13 +export CONFIG_LINUX_VERSION=4.14.62 + +CONFIG_COREBOOT_CONFIG=config/coreboot-x230-hotp-maximized-fhd_edp.config +CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config + +#Additional hardware support +CONFIG_LINUX_USB=y +CONFIG_LINUX_E1000E=y + +CONFIG_CRYPTSETUP2=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 + +#Remote attestation support +#TPM based requirements +export CONFIG_TPM=y +CONFIG_POPT=y +CONFIG_QRENCODE=y +CONFIG_TPMTOTP=y +#HOTP based remote attestation for supported USB Security dongle +#With/Without TPM support +CONFIG_HOTPKEY=y + +#Nitrokey Storage admin tool +CONFIG_NKSTORECLI=n + +#GUI Support +#Console based Whiptail support(Console based, no FB): +#CONFIG_SLANG=y +#CONFIG_NEWT=y +#FBWhiptail based (Graphical): +CONFIG_CAIRO=y +CONFIG_FBWHIPTAIL=y + +#Additional tools: +#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E) +CONFIG_DROPBEAR=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_BOARD_NAME="Thinkpad X230-hotp-maximized-fhd" +export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal" + +# xx30-*-maximized boards require of you initially call one of the +# following to have gbe.bin ifd.bin and me.bin +# - blobs/xx30/download_clean_me.sh +# To download Lenovo original ME binary, neuter+deactivate ME, produce +# reduced IFD ME region and expanded BIOS IFD region. +# - blobs/xx30/extract.sh +# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs. +# +# This board has two SPI flash chips, an 8 MB that holds the IFD, +# the ME image and part of the coreboot image, and a 4 MB one that +# has the rest of the coreboot and the reset vector. +# +# As a consequence, this replaces the need of having to flash x230-flash +# and expands available CBFS region (11.5Mb available CBFS space) +# +# When flashing via an external programmer it is easiest to have +# two separate files for these pieces. +all: $(build)/$(BOARD)/$(CB_OUTPUT_FILE) + @sha256sum $@ | tee -a "$(HASHES)" + +all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom +$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE) + $(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none) + @sha256sum $@ | tee -a "$(HASHES)" + +all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom +$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE) + $(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none) + @sha256sum $@ | tee -a "$(HASHES)" diff --git a/boards/x230-maximized-fhd_edp/x230-maximized-fhd_edp.config b/boards/x230-maximized-fhd_edp/x230-maximized-fhd_edp.config new file mode 100644 index 000000000..c6b0429a2 --- /dev/null +++ b/boards/x230-maximized-fhd_edp/x230-maximized-fhd_edp.config @@ -0,0 +1,104 @@ +# Configuration for a X230 running Qubes 4.1 and other Linux Based OSes (through kexec) +# +# Based on https://review.coreboot.org/c/coreboot/+/28950 for FHD mod +#This has been reported to work with the following panels: +# LP125WF2-SPB4 (1920*1080, 12.5") +# LQ125T1JW02 (2560*1440, 12.5") +# LQ133M1JW21 (1920*1080, 13.3") +# LTN133HL10-201 (1920*1080, 13.3") +# B133HAN04.6 (1920*1080, 13.3") +# B133QAN02.0 (2560*1600, 13.3") +# +# Other eDP panels not on this list should work as well. +# Please verify if your panel needs a firmware mod. +# +# Includes +# - Deactivated+neutered ME and expanded consequent IFD BIOS regions +# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh) +# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set +# +# - DOES NOT INCLUDE Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code) +export CONFIG_COREBOOT=y +export CONFIG_COREBOOT_VERSION=4.13 +export CONFIG_LINUX_VERSION=4.14.62 + +CONFIG_COREBOOT_CONFIG=config/coreboot-x230-maximized-fhd_edp.config +CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config + +#Additional hardware support +CONFIG_LINUX_USB=y +CONFIG_LINUX_E1000E=y + +CONFIG_CRYPTSETUP2=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 + +#Remote attestation support +#TPM based requirements +export CONFIG_TPM=y +CONFIG_POPT=y +CONFIG_QRENCODE=y +CONFIG_TPMTOTP=y +#HOTP based remote attestation for supported USB Security dongle +#With/Without TPM support +#CONFIG_HOTPKEY=y + +#Nitrokey Storage admin tool +CONFIG_NKSTORECLI=n + +#GUI Support +#Console based Whiptail support(Console based, no FB): +#CONFIG_SLANG=y +#CONFIG_NEWT=y +#FBWhiptail based (Graphical): +CONFIG_CAIRO=y +CONFIG_FBWHIPTAIL=y + +#Additional tools: +#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E) +CONFIG_DROPBEAR=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_BOARD_NAME="Thinkpad X230-maximized-fhd_edp" +export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal" + +# xx30-*-maximized boards require of you initially call one of the +# following to have gbe.bin ifd.bin and me.bin +# - blobs/xx30/download_clean_me.sh +# To download Lenovo original ME binary, neuter+deactivate ME, produce +# reduced IFD ME region and expanded BIOS IFD region. +# - blobs/xx30/extract.sh +# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs. +# +# This board has two SPI flash chips, an 8 MB that holds the IFD, +# the ME image and part of the coreboot image, and a 4 MB one that +# has the rest of the coreboot and the reset vector. +# +# As a consequence, this replaces the need of having to flash x230-flash +# and expands available CBFS region (11.5Mb available CBFS space) +# +# When flashing via an external programmer it is easiest to have +# two separate files for these pieces. +all: $(build)/$(BOARD)/$(CB_OUTPUT_FILE) + @sha256sum $@ | tee -a "$(HASHES)" + +all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom +$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE) + $(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none) + @sha256sum $@ | tee -a "$(HASHES)" + +all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom +$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE) + $(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none) + @sha256sum $@ | tee -a "$(HASHES)" diff --git a/config/coreboot-x230-hotp-maximized-fhd_edp.config b/config/coreboot-x230-hotp-maximized-fhd_edp.config new file mode 100644 index 000000000..d901c389b --- /dev/null +++ b/config/coreboot-x230-hotp-maximized-fhd_edp.config @@ -0,0 +1,21 @@ +# CONFIG_USE_BLOBS is not set +CONFIG_VENDOR_LENOVO=y +CONFIG_NO_POST=y +CONFIG_ONBOARD_VGA_IS_PRIMARY=y +CONFIG_CBFS_SIZE=0xB80000 +CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/x230_edp/data.vbt" +CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin" +CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin" +CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin" +CONFIG_HAVE_IFD_BIN=y +CONFIG_BOARD_LENOVO_X230_EDP=y +CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet" +CONFIG_UART_PCI_ADDR=0 +CONFIG_HAVE_ME_BIN=y +CONFIG_HAVE_GBE_BIN=y +CONFIG_DRIVERS_PS2_KEYBOARD=y +CONFIG_TPM_MEASURED_BOOT=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 +CONFIG_PAYLOAD_LINUX=y +CONFIG_PAYLOAD_FILE="../../build/x230-hotp-maximized-fhd_edp/bzImage" +CONFIG_LINUX_INITRD="../../build/x230-hotp-maximized-fhd_edp/initrd.cpio.xz" diff --git a/config/coreboot-x230-maximized-fhd_edp.config b/config/coreboot-x230-maximized-fhd_edp.config new file mode 100644 index 000000000..9d9065e68 --- /dev/null +++ b/config/coreboot-x230-maximized-fhd_edp.config @@ -0,0 +1,21 @@ +# CONFIG_USE_BLOBS is not set +CONFIG_VENDOR_LENOVO=y +CONFIG_NO_POST=y +CONFIG_ONBOARD_VGA_IS_PRIMARY=y +CONFIG_CBFS_SIZE=0xB80000 +CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/x230_edp/data.vbt" +CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin" +CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin" +CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin" +CONFIG_HAVE_IFD_BIN=y +CONFIG_BOARD_LENOVO_X230_EDP=y +CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet" +CONFIG_UART_PCI_ADDR=0 +CONFIG_HAVE_ME_BIN=y +CONFIG_HAVE_GBE_BIN=y +CONFIG_DRIVERS_PS2_KEYBOARD=y +CONFIG_TPM_MEASURED_BOOT=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 +CONFIG_PAYLOAD_LINUX=y +CONFIG_PAYLOAD_FILE="../../build/x230-maximized-fhd_edp/bzImage" +CONFIG_LINUX_INITRD="../../build/x230-maximized-fhd_edp/initrd.cpio.xz" diff --git a/patches/coreboot-4.13/0002-x230-fhd-variant.patch b/patches/coreboot-4.13/0002-x230-fhd-variant.patch new file mode 100644 index 000000000..d1f7eb1e5 --- /dev/null +++ b/patches/coreboot-4.13/0002-x230-fhd-variant.patch @@ -0,0 +1,201 @@ +git fetch https://review.coreboot.org/coreboot refs/changes/50/28950/22 && git format-patch -1 --stdout FETCH_HEAD +From 06fe32bb5f65c784e7819b875c505fcceab11b99 Mon Sep 17 00:00:00 2001 +From: Alexander Couzens +Date: Sat, 19 Mar 2022 13:42:33 +0000 +Subject: [PATCH] lenovo/x230: introduce FHD variant + +There is a modification for the x230 which uses the 2nd DP from the dock +as the integrated panel's connection, which allows using a custom eDP +panel instead of the stock LVDS display. + +There are several adapter boards present on the market and all of them +uses the same method of enabling the custom eDP panel. + +To make this work with coreboot, the internal LVDS connector should be +disabled in libgfxinit. The VBT has been modified as well, which allows +brightness controls to work out of the box. + +The modifications done to the VBT are: +- Remove the LVDS port entry. +- Move the DP-3 (which is the 2nd DP on the dock) entry to the first + position on the list. +- Set the DP-3 as internally connected. + +This has been reported to work with the following panels: +- LP125WF2-SPB4 (1920*1080, 12.5") +- LQ125T1JW02 (2560*1440, 12.5") +- LQ133M1JW21 (1920*1080, 13.3") +- LTN133HL10-201 (1920*1080, 13.3") +- B133HAN04.6 (1920*1080, 13.3") +- B133QAN02.0 (2560*1600, 13.3") + +Other eDP panels not on this list should work as well. + +Change-Id: I0355d39a61956792e69bccd5274cfc2749d72bf0 +Signed-off-by: Alexander Couzens +Signed-off-by: Felix Singer +--- + src/mainboard/lenovo/x230/Kconfig | 15 ++++++++----- + src/mainboard/lenovo/x230/Kconfig.name | 3 +++ + src/mainboard/lenovo/x230/Makefile.inc | 5 +++++ + .../lenovo/x230/variants/x230_edp/data.vbt | Bin 0 -> 4281 bytes + .../x230/variants/x230_edp/gma-mainboard.ads | 21 ++++++++++++++++++ + 5 files changed, 38 insertions(+), 6 deletions(-) + create mode 100644 src/mainboard/lenovo/x230/variants/x230_edp/data.vbt + create mode 100644 src/mainboard/lenovo/x230/variants/x230_edp/gma-mainboard.ads + +diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig +index a6fd796206..7aa5af6d85 100644 +--- a/src/mainboard/lenovo/x230/Kconfig ++++ b/src/mainboard/lenovo/x230/Kconfig +@@ -1,4 +1,4 @@ +-if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S ++if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S || BOARD_LENOVO_X230_EDP + + config BOARD_SPECIFIC_OPTIONS + def_bool y +@@ -11,7 +11,7 @@ config BOARD_SPECIFIC_OPTIONS + select H8_HAS_BAT_TRESHOLDS_IMPL + select H8_HAS_PRIMARY_FN_KEYS if BOARD_LENOVO_X230S + select NO_UART_ON_SUPERIO +- select BOARD_ROMSIZE_KB_12288 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T ++ select BOARD_ROMSIZE_KB_12288 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP + select BOARD_ROMSIZE_KB_16384 if BOARD_LENOVO_X230S + select HAVE_ACPI_TABLES + select HAVE_OPTION_TABLE +@@ -20,7 +20,7 @@ config BOARD_SPECIFIC_OPTIONS + select INTEL_INT15 + select DRIVERS_RICOH_RCE822 + select MAINBOARD_HAS_LPC_TPM +- select MAINBOARD_HAS_TPM1 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T ++ select MAINBOARD_HAS_TPM1 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP + select MAINBOARD_HAS_LIBGFXINIT + select GFX_GMA_PANEL_1_ON_LVDS if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T + select INTEL_GMA_HAVE_VBT +@@ -54,12 +54,12 @@ config MAINBOARD_DIR + + config VARIANT_DIR + string +- default "x230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T ++ default "x230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP + default "x230s" if BOARD_LENOVO_X230S + + config MAINBOARD_PART_NUMBER + string +- default "ThinkPad X230" if BOARD_LENOVO_X230 ++ default "ThinkPad X230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230_EDP + default "ThinkPad X230t" if BOARD_LENOVO_X230T + default "ThinkPad X230s" if BOARD_LENOVO_X230S + +@@ -67,6 +67,10 @@ config OVERRIDE_DEVICETREE + string + default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" + ++config INTEL_GMA_VBT_FILE ++default "variants/x230_edp/data.vbt" if BOARD_LENOVO_X230_EDP +++ ++ + config USBDEBUG_HCD_INDEX + int + default 2 +@@ -83,4 +86,4 @@ config PS2M_EISAID + config THINKPADEC_HKEY_EISAID + default "LEN0068" + +-endif # BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S ++endif # BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S || BOARD_LENOVO_X230_EDP +diff --git a/src/mainboard/lenovo/x230/Kconfig.name b/src/mainboard/lenovo/x230/Kconfig.name +index 1a01436879..e7290a12dd 100644 +--- a/src/mainboard/lenovo/x230/Kconfig.name ++++ b/src/mainboard/lenovo/x230/Kconfig.name +@@ -6,3 +6,6 @@ config BOARD_LENOVO_X230T + + config BOARD_LENOVO_X230S + bool "ThinkPad X230s" ++ ++config BOARD_LENOVO_X230_EDP ++ bool "ThinkPad X230 eDP Mod (2K/FHD)" +diff --git a/src/mainboard/lenovo/x230/Makefile.inc b/src/mainboard/lenovo/x230/Makefile.inc +index 8e801f145d..6e6f9f90b9 100644 +--- a/src/mainboard/lenovo/x230/Makefile.inc ++++ b/src/mainboard/lenovo/x230/Makefile.inc +@@ -5,4 +5,9 @@ bootblock-y += variants/$(VARIANT_DIR)/gpio.c + romstage-y += variants/$(VARIANT_DIR)/early_init.c + romstage-y += variants/$(VARIANT_DIR)/gpio.c + ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ++ ++ifeq ($(CONFIG_BOARD_LENOVO_X230_EDP),y) ++ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += variants/x230_edp/gma-mainboard.ads ++else + ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += variants/$(VARIANT_DIR)/gma-mainboard.ads ++endif +diff --git a/src/mainboard/lenovo/x230/variants/x230_edp/data.vbt b/src/mainboard/lenovo/x230/variants/x230_edp/data.vbt +new file mode 100644 +index 0000000000000000000000000000000000000000..13384d45571ff76e592335143d01315e37893186 +GIT binary patch +literal 4281 +zcmdT`Z)_aZ5&ym0y}P}=-MjTVC6^p6b={56T^4V^SA+LolmX+RUx+79#iSqiP~ars*|P{j#W<|Sw32Qpw?S@B$TK! +zT%y8#_th3_%L^xJRhpi?y+F#XZ5B@+U98gh$p??rmIq1sVr%N_-*;O-QJ>e_m+#Gc +zeSJjvzQO*1!F<1Mj*JdZ9IBMcg_+XCI898^NNKt-Jw1A;SiXxYQxjvQVrgb{#5RMi +z3_rAVdim%B-#tOO;ZDl)3wi>F!IEkCq2;B0R9IZ3DP?n3(8mm!Gbk$bf{?ofjp)+WX;f0xKuMreM_FPop&M`zu|-4&b{lx} +z6dXr%nIN^a1Q1g^?g`SApyQo+We^Ju;y^Soa0Kxp0ExE)gG^{(s5wk=5)@Iwe?zpD +z@%1v$crW@+c=`T;{ewfYIC5a@V7W3iGdp+pJ^l}V_@k99K7NB27i?KEp$JF`50mi@ +zjG1XXrseRG7Qw69ek|x~_*Klqd$9}}jBGpu*K}~RX~1KAld;P%uwb}2&iFCo7mQyT +zCSGP-Wc-%#2gY9*A29yLh$l?6F>Yks%;;r&gE7oF#P|+lf$=@YNyZt*N3Nz%%kOxj$xHTH_I6i5-#j$7@-%=}( +z?1954MnX?xAuk79(< +zSr6;_4gTc~tacpa=As!xD;@CT7xX)U4}W57_`9~2NpCP65!^@JyGbYMG6B#@{r1i&qF#431THdvdmK?gb!}@x&d86kH8RtSun)L +zMg&qo8p@sxlqPr)H*t1i5Xc8fNK*dW_}wA77I--u)J{nAs;))bo8vk&YfS^jD1^rM=s>0ytuB(VlIOTx;M223I$qhjl3%0pyLp$ECQ*_^UYE{?(M!zFMP3W9I_cUj9w4&M7&s8K0k@rirz}Oms94I6gg>kPulEG+g%^&e&n+7+xV#SfijjY{5o+C7V}H- +zZs9PGrN7SK-OZ8YGZ>yr(&i#tdss~q`sQ|0&fnIIOUJ;O2*-=b;v=kW?O}6KsoH4P +z0smI&%EQn#cd@w$RZTVP=TtP?l7~|?nRTSIQO2qkgO+Z!=3#T$D-XeMvn68}T3Ey8 +zHleye(7mkLXe*JtfA{Q*lj!gc)Wck4IFj|C#q&~HiNmA&>Z|kF4(Uvj%v~DWNT8*x>a2}rST)i~8vd61DwO!2$JZMNNi6hyH +z2d_)6&979w%w$-vyatVrqw??t&t%}iZhDAP3%j_I#cGANdzLq>W;J(F=Xwkxxj%^H +zwQDmn=w}|@-y`RG{*wz0>A(ZGtk~AM=#-fE(LV1uZE98+Nk>UmiyyuJ8?## Disabled); ++ ++end GMA.Mainboard; +-- +2.30.2 From 6a1c6a4c978981ae8ffdc8a00f1c584f0cabd60f Mon Sep 17 00:00:00 2001 From: Echo Nar Date: Sat, 28 Jan 2023 15:57:20 -0600 Subject: [PATCH 3/3] Rebase PR 967 on commit 1c68befc59125a7da0d807e348cb8aeeafbb9050 --- ...oreboot-x230-hotp-maximized-fhd_edp.config | 10 ++--- config/coreboot-x230-maximized-fhd_edp.config | 10 ++--- ...-builgcc_temp_fix_from_https_to_http.patch | 40 ------------------- 3 files changed, 10 insertions(+), 50 deletions(-) delete mode 100644 patches/coreboot-4.13/0080-util-crossgcc-builgcc_temp_fix_from_https_to_http.patch diff --git a/config/coreboot-x230-hotp-maximized-fhd_edp.config b/config/coreboot-x230-hotp-maximized-fhd_edp.config index d901c389b..20cfe9d3b 100644 --- a/config/coreboot-x230-hotp-maximized-fhd_edp.config +++ b/config/coreboot-x230-hotp-maximized-fhd_edp.config @@ -4,9 +4,9 @@ CONFIG_NO_POST=y CONFIG_ONBOARD_VGA_IS_PRIMARY=y CONFIG_CBFS_SIZE=0xB80000 CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/x230_edp/data.vbt" -CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin" -CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin" -CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin" +CONFIG_IFD_BIN_PATH="@BLOB_DIR@/xx30/ifd.bin" +CONFIG_ME_BIN_PATH="@BLOB_DIR@/xx30/me.bin" +CONFIG_GBE_BIN_PATH="@BLOB_DIR@/xx30/gbe.bin" CONFIG_HAVE_IFD_BIN=y CONFIG_BOARD_LENOVO_X230_EDP=y CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet" @@ -17,5 +17,5 @@ CONFIG_DRIVERS_PS2_KEYBOARD=y CONFIG_TPM_MEASURED_BOOT=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 CONFIG_PAYLOAD_LINUX=y -CONFIG_PAYLOAD_FILE="../../build/x230-hotp-maximized-fhd_edp/bzImage" -CONFIG_LINUX_INITRD="../../build/x230-hotp-maximized-fhd_edp/initrd.cpio.xz" +CONFIG_PAYLOAD_FILE="@BOARD_BUILD_DIR@/bzImage" +CONFIG_LINUX_INITRD="@BOARD_BUILD_DIR@/initrd.cpio.xz" diff --git a/config/coreboot-x230-maximized-fhd_edp.config b/config/coreboot-x230-maximized-fhd_edp.config index 9d9065e68..20cfe9d3b 100644 --- a/config/coreboot-x230-maximized-fhd_edp.config +++ b/config/coreboot-x230-maximized-fhd_edp.config @@ -4,9 +4,9 @@ CONFIG_NO_POST=y CONFIG_ONBOARD_VGA_IS_PRIMARY=y CONFIG_CBFS_SIZE=0xB80000 CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/x230_edp/data.vbt" -CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin" -CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin" -CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin" +CONFIG_IFD_BIN_PATH="@BLOB_DIR@/xx30/ifd.bin" +CONFIG_ME_BIN_PATH="@BLOB_DIR@/xx30/me.bin" +CONFIG_GBE_BIN_PATH="@BLOB_DIR@/xx30/gbe.bin" CONFIG_HAVE_IFD_BIN=y CONFIG_BOARD_LENOVO_X230_EDP=y CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet" @@ -17,5 +17,5 @@ CONFIG_DRIVERS_PS2_KEYBOARD=y CONFIG_TPM_MEASURED_BOOT=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 CONFIG_PAYLOAD_LINUX=y -CONFIG_PAYLOAD_FILE="../../build/x230-maximized-fhd_edp/bzImage" -CONFIG_LINUX_INITRD="../../build/x230-maximized-fhd_edp/initrd.cpio.xz" +CONFIG_PAYLOAD_FILE="@BOARD_BUILD_DIR@/bzImage" +CONFIG_LINUX_INITRD="@BOARD_BUILD_DIR@/initrd.cpio.xz" diff --git a/patches/coreboot-4.13/0080-util-crossgcc-builgcc_temp_fix_from_https_to_http.patch b/patches/coreboot-4.13/0080-util-crossgcc-builgcc_temp_fix_from_https_to_http.patch deleted file mode 100644 index ee08c01c2..000000000 --- a/patches/coreboot-4.13/0080-util-crossgcc-builgcc_temp_fix_from_https_to_http.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/util/crossgcc/buildgcc.orig 2021-01-03 19:56:28.980000000 -0500 -+++ b/util/crossgcc/buildgcc 2021-01-03 19:56:32.098000000 -0500 -@@ -52,22 +52,22 @@ - # These are sanitized by the jenkins toolchain test builder, so if - # a completely new URL is added here, it probably needs to be added - # to the jenkins build as well, or the builder won't download it. --GMP_ARCHIVE="https://ftpmirror.gnu.org/gmp/gmp-${GMP_VERSION}.tar.xz" --MPFR_ARCHIVE="https://ftpmirror.gnu.org/mpfr/mpfr-${MPFR_VERSION}.tar.xz" --MPC_ARCHIVE="https://ftpmirror.gnu.org/mpc/mpc-${MPC_VERSION}.tar.gz" --GCC_ARCHIVE="https://ftpmirror.gnu.org/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.xz" --BINUTILS_ARCHIVE="https://ftpmirror.gnu.org/binutils/binutils-${BINUTILS_VERSION}.tar.xz" --GDB_ARCHIVE="https://ftpmirror.gnu.org/gdb/gdb-${GDB_VERSION}.tar.xz" --IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz" --PYTHON_ARCHIVE="https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz" --EXPAT_ARCHIVE="https://downloads.sourceforge.net/sourceforge/expat/expat-${EXPAT_VERSION}.tar.bz2" -+GMP_ARCHIVE="http://ftpmirror.gnu.org/gmp/gmp-${GMP_VERSION}.tar.xz" -+MPFR_ARCHIVE="http://ftpmirror.gnu.org/mpfr/mpfr-${MPFR_VERSION}.tar.xz" -+MPC_ARCHIVE="http://ftpmirror.gnu.org/mpc/mpc-${MPC_VERSION}.tar.gz" -+GCC_ARCHIVE="http://ftpmirror.gnu.org/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.xz" -+BINUTILS_ARCHIVE="http://ftpmirror.gnu.org/binutils/binutils-${BINUTILS_VERSION}.tar.xz" -+GDB_ARCHIVE="http://ftpmirror.gnu.org/gdb/gdb-${GDB_VERSION}.tar.xz" -+IASL_ARCHIVE="http://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz" -+PYTHON_ARCHIVE="http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz" -+EXPAT_ARCHIVE="http://downloads.sourceforge.net/sourceforge/expat/expat-${EXPAT_VERSION}.tar.bz2" - # CLANG toolchain archive locations --LLVM_ARCHIVE="https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/llvm-${CLANG_VERSION}.src.tar.xz" --CLANG_ARCHIVE="https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/clang-${CLANG_VERSION}.src.tar.xz" --CRT_ARCHIVE="https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/compiler-rt-${CLANG_VERSION}.src.tar.xz" --CTE_ARCHIVE="https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/clang-tools-extra-${CLANG_VERSION}.src.tar.xz" --CMAKE_ARCHIVE="https://cmake.org/files/v3.18/cmake-${CMAKE_VERSION}.tar.gz" --NASM_ARCHIVE="https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VERSION}/nasm-${NASM_VERSION}.tar.bz2" -+LLVM_ARCHIVE="http://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/llvm-${CLANG_VERSION}.src.tar.xz" -+CLANG_ARCHIVE="http://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/clang-${CLANG_VERSION}.src.tar.xz" -+CRT_ARCHIVE="http://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/compiler-rt-${CLANG_VERSION}.src.tar.xz" -+CTE_ARCHIVE="http://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/clang-tools-extra-${CLANG_VERSION}.src.tar.xz" -+CMAKE_ARCHIVE="http://cmake.org/files/v3.18/cmake-${CMAKE_VERSION}.tar.gz" -+NASM_ARCHIVE="http://www.nasm.us/pub/nasm/releasebuilds/${NASM_VERSION}/nasm-${NASM_VERSION}.tar.bz2" - - ALL_ARCHIVES="$GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE \ - $GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE $IASL_ARCHIVE \